#ifndef SHOWPLAYER_H #define SHOWPLAYER_H #include #include #include #include #include "defines.h" #include "cuetracklistwidget.h" #include "cuetrackwidget.h" #include "dialgroup.h" #include "settings.h" #include "audiofade.h" #include "ui_showplayer.h" namespace Ui { class ShowPlayer; } class ShowPlayer : public QDialog { Q_OBJECT public: explicit ShowPlayer(QWidget *parent = nullptr); ~ShowPlayer(); Ui::ShowPlayer *ui; public slots: void cueTrackAtEnd(int layer); void loadCueTrackList(QString path); void saveCueTrackList(QString path); private: Status currentStatus = Status::Iddle; int layersUsed[MAX_LAYERS]; CueTrack *current[MAX_LAYERS]; CueTrack *prevCue[MAX_LAYERS]; CueTrackWidget *cueTrackWidgetPlaying[MAX_LAYERS]; CueTrackWidget *addCueTrackWidget(CueTrack *track); std::map> prePanicState; private slots: void updateTrackStateInEngine(CueTrack *track); void onAddTrack(); void go(); void loadCueTrackList(); void saveCueTrackList(); void cueFinished(int channel); void removeCueTrackWidget(int index); void playCueTrack(CueTrack *track); void goAction(int channel); void updateIndex(int index); void fade(Slider s, int start, CueTrack *track); void panicButtonClicked(); void restoreButtonClicked(); signals: void uiPlaybackChanged(int layer, Status s); void uiSliderChanged(int layer, Slider s, int value); void uiSliderChangedFaded(int layer, Slider s, int value, int fadeIn, int fadeOut); void uiLoadMedia(int layer, QString s); }; #endif // SHOWPLAYER_H