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

View file

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

View file

@ -12,6 +12,7 @@ ShowPlayer::ShowPlayer(QWidget *parent) :
currentStatus = Status::Iddle;
for(int i = 0; i < MAX_LAYERS; i++)
layersUsed[i] = -1;
connect(ui->cueListWidget, SIGNAL(changeSelectedIndex(int)), this, SLOT(changeSelectedIndex(int)));
}
ShowPlayer::~ShowPlayer() {}
@ -22,11 +23,13 @@ void ShowPlayer::onAddTrack() {
void ShowPlayer::go()
{
ui->activeCueNumber->display(lastIndex);
CueTrack* current = ui->cueListWidget->getSelectedTrack();
if (!current)
return;
if (current->audioLayer < 0)
return;
ui->activeCueLabel->setText(current->name.data());
for (int i = 0; i < MAX_LAYERS; i++) {
if (layersUsed[i] == -1) {
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::Bus1, track->bus1 * 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;
size_t filesLoaded = 0;
int layersUsed[MAX_LAYERS];
int lastIndex = 0;
void updateTrackStateInEngine(CueTrack *track);
private slots:
void onAddTrack();
void go();
void changeSelectedIndex(int i);
signals:
void uiPlaybackChanged(int layer, Status s);