lms-audio/src/showplayer.h
2024-07-26 22:47:24 +02:00

67 lines
1.6 KiB
C++

#ifndef SHOWPLAYER_H
#define SHOWPLAYER_H
#include <vector>
#include <string>
#include <QDialog>
#include <QFileDialog>
#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<int, std::pair<Status, double>> 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