diff --git a/src/cuetracklistwidget.h b/src/cuetracklistwidget.h index af17160..bca56f5 100644 --- a/src/cuetracklistwidget.h +++ b/src/cuetracklistwidget.h @@ -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 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 diff --git a/src/libremediaserver-audio.cpp b/src/libremediaserver-audio.cpp index 1a40036..1a1b6eb 100644 --- a/src/libremediaserver-audio.cpp +++ b/src/libremediaserver-audio.cpp @@ -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; } diff --git a/src/showplayer.cpp b/src/showplayer.cpp index c9108f4..52c7946 100644 --- a/src/showplayer.cpp +++ b/src/showplayer.cpp @@ -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; @@ -37,7 +40,7 @@ void ShowPlayer::go() emit uiLoadMedia(current->audioLayer, current->filePath.data()); updateTrackStateInEngine(current); emit uiPlaybackChanged(current->audioLayer, current->status); - filesLoaded++; + filesLoaded++; } void ShowPlayer::updateTrackStateInEngine(CueTrack *track) { @@ -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; +} diff --git a/src/showplayer.h b/src/showplayer.h index 977b0f4..6037159 100644 --- a/src/showplayer.h +++ b/src/showplayer.h @@ -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);