From 87e29e855ec75a70e1fca745934999c74c8f60b3 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Sun, 21 Mar 2021 13:19:05 -0400 Subject: [PATCH] 2021-03-21 Fred Gleason * Added a 'Cut Gain' control to 'RDMarkerDialog'. * Added a 'No Fade on Segue Out' checkbox to 'RDMarkerDialog'. Signed-off-by: Fred Gleason --- ChangeLog | 3 +++ lib/librd_cs.ts | 12 ++++++++++ lib/librd_de.ts | 12 ++++++++++ lib/librd_es.ts | 13 +++++++++++ lib/librd_fr.ts | 12 ++++++++++ lib/librd_nb.ts | 12 ++++++++++ lib/librd_nn.ts | 12 ++++++++++ lib/librd_pt_BR.ts | 12 ++++++++++ lib/rdmarkerdialog.cpp | 51 ++++++++++++++++++++++++++++++++++++++++++ lib/rdmarkerdialog.h | 9 ++++++++ lib/rdmarkerview.cpp | 43 +++++++++++++++++++++++++++++++++-- lib/rdmarkerview.h | 6 +++++ 12 files changed, 195 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3514ff21..dc35fe27 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21312,3 +21312,6 @@ 2021-03-21 Fred Gleason * Added a 'Goto' section to 'RDMarkerDialog', with 'Cursor', 'Home' and 'End' buttons. +2021-03-21 Fred Gleason + * Added a 'Cut Gain' control to 'RDMarkerDialog'. + * Added a 'No Fade on Segue Out' checkbox to 'RDMarkerDialog'. diff --git a/lib/librd_cs.ts b/lib/librd_cs.ts index ec213d87..cd6e5bec 100644 --- a/lib/librd_cs.ts +++ b/lib/librd_cs.ts @@ -3616,6 +3616,18 @@ Out End Konec + + No Fade on Segue Out + Žádné prolínání při přechodu ven + + + Cut Gain + Zesílení záběru + + + dB + dB + RDMarkerPlayer diff --git a/lib/librd_de.ts b/lib/librd_de.ts index 6f5a4100..f7ca8067 100644 --- a/lib/librd_de.ts +++ b/lib/librd_de.ts @@ -3605,6 +3605,18 @@ Out End Ende + + No Fade on Segue Out + Kein Fade bei Seque Out + + + Cut Gain + Cut Gain + + + dB + dB + RDMarkerPlayer diff --git a/lib/librd_es.ts b/lib/librd_es.ts index 28b53026..0e2c03ff 100644 --- a/lib/librd_es.ts +++ b/lib/librd_es.ts @@ -3592,6 +3592,19 @@ Todo End Final + + No Fade on Segue Out + Quitar fade en Segue + + + Cut Gain + Ganancia +del audio + + + dB + dB + RDMarkerPlayer diff --git a/lib/librd_fr.ts b/lib/librd_fr.ts index 9fbcf5d9..013e3b67 100644 --- a/lib/librd_fr.ts +++ b/lib/librd_fr.ts @@ -2998,6 +2998,18 @@ Out End Fin + + No Fade on Segue Out + + + + Cut Gain + + + + dB + + RDMarkerPlayer diff --git a/lib/librd_nb.ts b/lib/librd_nb.ts index 69067067..42fa231a 100644 --- a/lib/librd_nb.ts +++ b/lib/librd_nb.ts @@ -3555,6 +3555,18 @@ ut End Slutten + + No Fade on Segue Out + Inga uttoning ved Overgang ut + + + Cut Gain + Dempevolum + + + dB + dB + RDMarkerPlayer diff --git a/lib/librd_nn.ts b/lib/librd_nn.ts index 69067067..42fa231a 100644 --- a/lib/librd_nn.ts +++ b/lib/librd_nn.ts @@ -3555,6 +3555,18 @@ ut End Slutten + + No Fade on Segue Out + Inga uttoning ved Overgang ut + + + Cut Gain + Dempevolum + + + dB + dB + RDMarkerPlayer diff --git a/lib/librd_pt_BR.ts b/lib/librd_pt_BR.ts index c0eb1623..1b153ea7 100644 --- a/lib/librd_pt_BR.ts +++ b/lib/librd_pt_BR.ts @@ -3595,6 +3595,18 @@ Mínimo End Fim + + No Fade on Segue Out + Sem Fade na Saída + + + Cut Gain + Ganho + + + dB + dB + RDMarkerPlayer diff --git a/lib/rdmarkerdialog.cpp b/lib/rdmarkerdialog.cpp index e5afee80..b8bf7755 100644 --- a/lib/rdmarkerdialog.cpp +++ b/lib/rdmarkerdialog.cpp @@ -93,6 +93,28 @@ RDMarkerDialog::RDMarkerDialog(const QString &caption,int card,int port, connect(d_goto_end_button,SIGNAL(clicked()), d_marker_view,SLOT(gotoEnd())); + // + // Fade on Segue Out + // + d_no_segue_fade_check=new QCheckBox(this); + d_no_segue_fade_label=new QLabel(tr("No Fade on Segue Out"),this); + d_no_segue_fade_label->setFont(labelFont()); + connect(d_no_segue_fade_check,SIGNAL(toggled(bool)), + d_marker_view,SLOT(setNoSegueFade(bool))); + + // + // Cut Gain + // + d_play_gain_spin=new QSpinBox(this); + d_play_gain_spin->setRange(-10,10); + connect(d_play_gain_spin,SIGNAL(valueChanged(int)), + d_marker_view,SLOT(setPlayGain(int))); + d_play_gain_label=new QLabel(tr("Cut Gain")+":",this); + d_play_gain_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); + d_play_gain_label->setFont(labelFont()); + d_play_gain_unit_label=new QLabel(tr("dB"),this); + d_play_gain_unit_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); + d_play_gain_unit_label->setFont(labelFont()); /************************************************************************** * Transport Section @@ -240,6 +262,8 @@ int RDMarkerDialog::exec(unsigned cartnum,int cutnum) setSelectedMarkers(RDMarkerHandle::LastRole,RDMarkerHandle::LastRole); } d_marker_view->setSelectedMarker(RDMarkerHandle::CutStart); + d_no_segue_fade_check->setChecked(d_marker_view->noSegueFade()); + d_play_gain_spin->setValue(d_marker_view->playGain()); return QDialog::exec(); } @@ -392,6 +416,33 @@ void RDMarkerDialog::resizeEvent(QResizeEvent *e) d_goto_home_button->setGeometry(95,25,80,50); d_goto_end_button->setGeometry(185,25,80,50); + d_no_segue_fade_check->setGeometry(200+90*3, + 4+d_marker_view->sizeHint().height()+ + d_player->sizeHint().height()+5, + 15, + 15); + d_no_segue_fade_label->setGeometry(220+90*3, + 2+d_marker_view->sizeHint().height()+ + d_player->sizeHint().height()+5, + 200, + 20); + + d_play_gain_label->setGeometry(220+90*3, + 2+d_marker_view->sizeHint().height()+ + d_player->sizeHint().height()+5+22, + 100, + 20); + d_play_gain_spin->setGeometry(220+90*3+105, + 2+d_marker_view->sizeHint().height()+ + d_player->sizeHint().height()+5+22, + 40, + 20); + d_play_gain_unit_label->setGeometry(220+90*3+105+45, + 2+d_marker_view->sizeHint().height()+ + d_player->sizeHint().height()+5+22, + 60, + 20); + d_ok_button->setGeometry(w-180,h-60,80,50); d_cancel_button->setGeometry(w-90,h-60,80,50); } diff --git a/lib/rdmarkerdialog.h b/lib/rdmarkerdialog.h index cb029f3f..452eb68c 100644 --- a/lib/rdmarkerdialog.h +++ b/lib/rdmarkerdialog.h @@ -21,10 +21,12 @@ #ifndef RDMARKERDIALOG_H #define RDMARKERDIALOG_H +#include #include #include #include #include +#include #include #include @@ -109,6 +111,13 @@ class RDMarkerDialog : public RDDialog QPushButton *d_goto_home_button; QPushButton *d_goto_end_button; + QCheckBox *d_no_segue_fade_check; + QLabel *d_no_segue_fade_label; + + QLabel *d_play_gain_label; + QSpinBox *d_play_gain_spin; + QLabel *d_play_gain_unit_label; + QPushButton *d_ok_button; QPushButton *d_cancel_button; unsigned d_cart_number; diff --git a/lib/rdmarkerview.cpp b/lib/rdmarkerview.cpp index c574e63a..ba93f41f 100644 --- a/lib/rdmarkerview.cpp +++ b/lib/rdmarkerview.cpp @@ -442,6 +442,18 @@ int RDMarkerView::pointerValue(RDMarkerHandle::PointerRole role) } +bool RDMarkerView::noSegueFade() const +{ + return d_no_segue_fade; +} + + +int RDMarkerView::playGain() const +{ + return d_play_gain; +} + + RDMarkerHandle::PointerRole RDMarkerView::selectedMarker(RDMarkerHandle::PointerType type) const { @@ -548,6 +560,20 @@ void RDMarkerView::updatePosition(RDMarkerHandle::PointerRole role, int ptr) } +void RDMarkerView::setNoSegueFade(bool state) +{ + d_has_unsaved_changes=state==d_no_segue_fade; + d_no_segue_fade=state; +} + + +void RDMarkerView::setPlayGain(int db) +{ + d_has_unsaved_changes=db==d_play_gain; + d_play_gain=db; +} + + void RDMarkerView::setAudioGain(int lvl) { if(d_audio_gain!=lvl) { @@ -638,7 +664,14 @@ void RDMarkerView::save() for(int i=0;ivalue(i).toInt(); } d_channels=q->value(10).toInt(); + d_no_segue_fade=q->value(11).toInt()==0; + d_play_gain=q->value(12).toInt()/100; } delete q; diff --git a/lib/rdmarkerview.h b/lib/rdmarkerview.h index a246721c..17339d2e 100644 --- a/lib/rdmarkerview.h +++ b/lib/rdmarkerview.h @@ -91,6 +91,8 @@ class RDMarkerView : public QWidget int pointerValue(RDMarkerHandle::PointerRole role); RDMarkerHandle::PointerRole selectedMarker(RDMarkerHandle::PointerType type) const; + bool noSegueFade() const; + int playGain() const; bool hasUnsavedChanges() const; void setSelectedMarker(RDMarkerHandle::PointerRole role); @@ -105,6 +107,8 @@ class RDMarkerView : public QWidget RDMarkerHandle::PointerRole end_role); public slots: + void setNoSegueFade(bool state); + void setPlayGain(int db); void setAudioGain(int lvl); void setShrinkFactor(int sf); void setMaximumShrinkFactor(); @@ -160,6 +164,8 @@ class RDMarkerView : public QWidget RDWaveFactory *d_wave_factory; bool d_has_unsaved_changes; int d_pointers[RDMarkerHandle::LastRole]; + bool d_no_segue_fade; + int d_play_gain; RDMarkerHandle *d_handles[RDMarkerHandle::LastRole][2]; QGraphicsLineItem *d_cursor; int d_audio_end;