Fixes cue list order and filename in widget

This commit is contained in:
snt 2024-06-20 18:57:43 +02:00
parent 84702c5e44
commit 14a8aab0a4
4 changed files with 28 additions and 4 deletions

View file

@ -21,6 +21,9 @@ public:
void createNewCueTrack(); void createNewCueTrack();
void editCueTrack(); void editCueTrack();
void deleteCueTrack(); void deleteCueTrack();
int getSelectedIndex() { return selectedIndex; };
CueTrack* getTrackAtIndex(int index);
QString *getFileName(std::string s);
private: private:
std::vector<CueTrack *> cueTracks; std::vector<CueTrack *> cueTracks;
@ -34,13 +37,15 @@ private:
private slots: private slots:
void addCueTrack(CueTrack* cue); void addCueTrack(CueTrack* cue);
void removeCueTrack(int index); void removeCueTrack(int index);
CueTrack* getTrackAtIndex(int index);
void key_up(); void key_up();
void key_down(); void key_down();
void displayCueTrackInTable(CueTrack *cueTrack); void displayCueTrackInTable(CueTrack *cueTrack, int index);
void keyPressEvent(QKeyEvent* event); void keyPressEvent(QKeyEvent* event);
void updateSelectedCueTrack(bool highlightRow); void updateSelectedCueTrack(bool highlightRow);
void cueTrackLoadDefaults(CueTrack * t); void cueTrackLoadDefaults(CueTrack * t);
void copyCueTrack(CueTrack *src, CueTrack *dst); void copyCueTrack(CueTrack *src, CueTrack *dst);
signals:
void changeSelectedIndex(int index);
}; };
#endif #endif

View file

@ -245,21 +245,26 @@ void libreMediaServerAudio::uiSliderChanged(int layer, Slider s, int value)
switch (s){ switch (s){
case Slider::Volume: case Slider::Volume:
m_mae.volChanged(layer, value); m_mae.volChanged(layer, value);
m_updateUi[layer][0] = value;
break; break;
case Slider::Pan: case Slider::Pan:
m_mae.panChanged(layer, value); m_mae.panChanged(layer, value);
m_updateUi[layer][1] = value;
break; break;
case Slider::Pitch: case Slider::Pitch:
m_mae.pitchChanged(layer, value); m_mae.pitchChanged(layer, value);
m_updateUi[layer][2] = value;
break; break;
case Slider::Bypass: case Slider::Bypass:
m_mae.setBypass(m_dmxSettings.at(layer).audioDevice, layer, value); m_mae.setBypass(m_dmxSettings.at(layer).audioDevice, layer, value);
break; break;
case Slider::Bus1: case Slider::Bus1:
m_mae.filterParamChanged(layer, SEND1, value / 255.0f); m_mae.filterParamChanged(layer, SEND1, value / 255.0f);
m_lmsUi->m_aw->filterParamChanged(layer, SEND1, value / 255.0f);
break; break;
case Slider::Bus2: case Slider::Bus2:
m_mae.filterParamChanged(layer, SEND2, value / 255.0f); m_mae.filterParamChanged(layer, SEND2, value / 255.0f);
m_lmsUi->m_aw->filterParamChanged(layer, SEND2, value / 255.0f);
break; break;
} }
} }
@ -271,6 +276,7 @@ void libreMediaServerAudio::uiPlaybackChanged(int layer, Status s)
result = m_mae.playbackChanged(layer, s); result = m_mae.playbackChanged(layer, s);
if (result == MA_SUCCESS) { if (result == MA_SUCCESS) {
m_currentStatus[layer] = s; m_currentStatus[layer] = s;
m_lmsUi->m_aw->playbackChanged(layer, s);
} else { } else {
qWarning() << "ui playback change error " << result << " status " << statusToString(s) << "layer" << layer; qWarning() << "ui playback change error " << result << " status " << statusToString(s) << "layer" << layer;
} }

View file

@ -12,6 +12,7 @@ ShowPlayer::ShowPlayer(QWidget *parent) :
currentStatus = Status::Iddle; currentStatus = Status::Iddle;
for(int i = 0; i < MAX_LAYERS; i++) for(int i = 0; i < MAX_LAYERS; i++)
layersUsed[i] = -1; layersUsed[i] = -1;
connect(ui->cueListWidget, SIGNAL(changeSelectedIndex(int)), this, SLOT(changeSelectedIndex(int)));
} }
ShowPlayer::~ShowPlayer() {} ShowPlayer::~ShowPlayer() {}
@ -22,11 +23,13 @@ void ShowPlayer::onAddTrack() {
void ShowPlayer::go() void ShowPlayer::go()
{ {
ui->activeCueNumber->display(lastIndex);
CueTrack* current = ui->cueListWidget->getSelectedTrack(); CueTrack* current = ui->cueListWidget->getSelectedTrack();
if (!current) if (!current)
return; return;
if (current->audioLayer < 0) if (current->audioLayer < 0)
return; return;
ui->activeCueLabel->setText(current->name.data());
for (int i = 0; i < MAX_LAYERS; i++) { for (int i = 0; i < MAX_LAYERS; i++) {
if (layersUsed[i] == -1) { if (layersUsed[i] == -1) {
layersUsed[i] = current->userNumber; layersUsed[i] = current->userNumber;
@ -46,4 +49,12 @@ void ShowPlayer::updateTrackStateInEngine(CueTrack *track) {
emit uiSliderChanged(track->audioLayer, Slider::Pitch, track->pitch * 128); emit uiSliderChanged(track->audioLayer, Slider::Pitch, track->pitch * 128);
emit uiSliderChanged(track->audioLayer, Slider::Bus1, track->bus1 * 255 * 2.55); emit uiSliderChanged(track->audioLayer, Slider::Bus1, track->bus1 * 255 * 2.55);
emit uiSliderChanged(track->audioLayer, Slider::Bus2, track->bus2 * 255 * 2.55); emit uiSliderChanged(track->audioLayer, Slider::Bus2, track->bus2 * 255 * 2.55);
}; }
void ShowPlayer::changeSelectedIndex(int i)
{
CueTrack *t = ui->cueListWidget->getTrackAtIndex(i);
ui->nextCueNumber->display(i);
ui->nextCueLabel->setText(t->name.data());
lastIndex = i;
}

View file

@ -29,12 +29,14 @@ private:
Status currentStatus = Status::Iddle; Status currentStatus = Status::Iddle;
size_t filesLoaded = 0; size_t filesLoaded = 0;
int layersUsed[MAX_LAYERS]; int layersUsed[MAX_LAYERS];
int lastIndex = 0;
void updateTrackStateInEngine(CueTrack *track); void updateTrackStateInEngine(CueTrack *track);
private slots: private slots:
void onAddTrack(); void onAddTrack();
void go(); void go();
void changeSelectedIndex(int i);
signals: signals:
void uiPlaybackChanged(int layer, Status s); void uiPlaybackChanged(int layer, Status s);