123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- //| Copyright: (C) 2019-2020 Kevin Larke <contact AT larke DOT org>
- //| License: GNU GPL version 3.0 or above. See the accompanying LICENSE file.
- #ifndef cmGrTksbFltk_h
- #define cmGrTksbFltk_h
-
- class Fl_Menu_Bar;
- class cmdIf;
-
- class cmGrTksbFltk : public cmGrPlotFltk, public gvHashFuncArg
- {
- public:
- cmGrTksbFltk(cmCtx_t* ctx, cmdIf* cp, Fl_Menu_Bar* menuBar, int x, int y, int w, int h);
- virtual ~cmGrTksbFltk();
-
- void setTksbHandle( void* vp );
-
- virtual cmScMsgTypeId_t recvScoreMsg( const void* msg, unsigned msgByteCnt );
-
- virtual double sampleRate() const;
-
- virtual bool on_plot_object( cmGrPlotCbArg_t* arg );
-
- typedef enum
- {
- kInvalidTId,
- kSelectTId,
- kRefreshTId,
- } cbTId_t;
-
- cbTId_t cbTypeId() const;
-
- virtual unsigned scoreSelectedEleIndex() const;
-
- virtual void setScoreLocation( unsigned locIdx, unsigned vel, unsigned smpIdx );
-
- private:
- enum
- {
- kOkRC,
- kInsertObjFailRC
- };
-
- enum
- {
- kPitchMId,
- kAttrMId,
- kDynMId,
- kLocIdxMId,
- kFracMId,
- kSectEvenMId,
- kSectDynMId,
- kSectTempoMId,
- kMenuItemCnt
- };
-
- typedef struct
- {
- cmGrTksbFltk* p;
- int id;
- } item_t;
-
- typedef enum
- {
- kEventTksbId,
- kSectionTksbId,
- kTakeTksbId
- } tksbId_t;
-
- typedef struct scObj_str
- {
- tksbId_t id;
- union
- {
- const cmScoreEvt_t* ep;
- const cmScoreSection_t* sp;
- unsigned tlMarkerUid;
- } u;
-
- scObj_str( const cmScoreEvt_t* e) : id(kEventTksbId) { u.ep=e;}
- scObj_str( const cmScoreSection_t* s) : id(kSectionTksbId) { u.sp=s;}
- scObj_str( unsigned i ) : id(kTakeTksbId) { u.tlMarkerUid=i;}
- } scObj_t;
-
- cmErr_t _err;
- //cmdIf* _cmdIf;
- cmTakeSeqBldrH_t _tksbH;
- Fl_Menu_Bar* _menuBar;
- unsigned _samplesMetricId;
- unsigned _secondsMetricId;
- double _objSecs;
- unsigned _objId;
- bool _togFl;
- cmGrPlObjH_t _lastBarPlotObjH;
- item_t _menuArray[ kMenuItemCnt ];
- unsigned _nextTakeY;
- cbTId_t _curCbTId;
-
- void _insertSection( const cmScoreSection_t* s );
- void _insertEvent( const cmScoreEvt_t* m );
- void _insertTake( const cmTksbScTrkTake_t* take );
- void _createMenu();
- bool _isMenuChecked( int id );
- void _setEventLabels();
- void _setSectionLabels();
- cmGrPlObjH_t _scEvtIdxToPlotObj( unsigned scEvtIdx );
-
- static void _s_menuCallback(Fl_Widget* w, void* arg);
-
- };
-
-
- #endif
|