comparison framework/MainWindowBase.h @ 654:4f53620962d9 osc-script

Toward running an OSC script in batch
author Chris Cannam
date Mon, 25 Mar 2019 15:49:23 +0000
parents 163573a73ebe
children 94f518af106c
comparison
equal deleted inserted replaced
653:365c61ac7680 654:4f53620962d9
32 #include "transform/Transform.h" 32 #include "transform/Transform.h"
33 #include "SVFileReader.h" 33 #include "SVFileReader.h"
34 #include "data/fileio/FileFinder.h" 34 #include "data/fileio/FileFinder.h"
35 #include "data/fileio/FileSource.h" 35 #include "data/fileio/FileSource.h"
36 #include "data/osc/OSCQueue.h" 36 #include "data/osc/OSCQueue.h"
37 #include "data/osc/OSCMessageCallback.h"
37 #include <map> 38 #include <map>
38 39
39 class Document; 40 class Document;
40 class PaneStack; 41 class PaneStack;
41 class Pane; 42 class Pane;
56 class QCheckBox; 57 class QCheckBox;
57 class PreferencesDialog; 58 class PreferencesDialog;
58 class QTreeView; 59 class QTreeView;
59 class QPushButton; 60 class QPushButton;
60 class OSCMessage; 61 class OSCMessage;
62 class OSCScript;
61 class MIDIInput; 63 class MIDIInput;
62 class KeyReference; 64 class KeyReference;
63 class Labeller; 65 class Labeller;
64 class ModelDataTableDialog; 66 class ModelDataTableDialog;
65 class QSignalMapper; 67 class QSignalMapper;
79 * menu structures or editing tools, and if a function needs to open a 81 * menu structures or editing tools, and if a function needs to open a
80 * dialog, it shouldn't be in here. This permits "variations on SV" 82 * dialog, it shouldn't be in here. This permits "variations on SV"
81 * to use different subclasses retaining the same general structure. 83 * to use different subclasses retaining the same general structure.
82 */ 84 */
83 85
84 class MainWindowBase : public QMainWindow, public FrameTimer 86 class MainWindowBase : public QMainWindow,
87 public FrameTimer,
88 public OSCMessageCallback
85 { 89 {
86 Q_OBJECT 90 Q_OBJECT
87 91
88 public: 92 public:
89 enum SoundOption { 93 enum SoundOption {
133 virtual FileOpenStatus openSessionTemplate(FileSource source); 137 virtual FileOpenStatus openSessionTemplate(FileSource source);
134 138
135 virtual bool saveSessionFile(QString path); 139 virtual bool saveSessionFile(QString path);
136 virtual bool saveSessionTemplate(QString path); 140 virtual bool saveSessionTemplate(QString path);
137 141
142 void cueOSCScript(QString filename);
143
138 /// Implementation of FrameTimer interface method 144 /// Implementation of FrameTimer interface method
139 sv_frame_t getFrame() const override; 145 sv_frame_t getFrame() const override;
140 146
141 void setDefaultFfwdRwdStep(RealTime step) { 147 void setDefaultFfwdRwdStep(RealTime step) {
142 m_defaultFfwdRwdStep = step; 148 m_defaultFfwdRwdStep = step;
318 virtual void paneDropAccepted(Pane *, QString) = 0; 324 virtual void paneDropAccepted(Pane *, QString) = 0;
319 virtual void paneDeleteButtonClicked(Pane *); 325 virtual void paneDeleteButtonClicked(Pane *);
320 326
321 virtual void oscReady(); 327 virtual void oscReady();
322 virtual void pollOSC(); 328 virtual void pollOSC();
323 virtual void handleOSCMessage(const OSCMessage &) = 0; 329 virtual void oscScriptFinished();
324 330
325 virtual void contextHelpChanged(const QString &); 331 virtual void contextHelpChanged(const QString &);
326 virtual void inProgressSelectionChanged(); 332 virtual void inProgressSelectionChanged();
327 333
328 virtual FileOpenStatus openSessionFromRDF(FileSource source); 334 virtual FileOpenStatus openSessionFromRDF(FileSource source);
365 MainWindowBase *m_mwb; 371 MainWindowBase *m_mwb;
366 }; 372 };
367 373
368 OSCQueue *m_oscQueue; 374 OSCQueue *m_oscQueue;
369 OSCQueueStarter *m_oscQueueStarter; 375 OSCQueueStarter *m_oscQueueStarter;
376 OSCScript *m_oscScript;
377 QString m_oscScriptFile;
378
370 void startOSCQueue(); 379 void startOSCQueue();
380 void startOSCScript();
371 381
372 MIDIInput *m_midiInput; 382 MIDIInput *m_midiInput;
373 383
374 RecentFiles m_recentFiles; 384 RecentFiles m_recentFiles;
375 RecentFiles m_recentTransforms; 385 RecentFiles m_recentTransforms;