mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-21 07:13:06 +02:00
2021-03-25 Fred Gleason <fredg@paravelsystems.com>
* Modified the 'Time' buttons in 'RDMarkerDialog' to show currently available 'In' and 'Out' possibilities. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
1790af2a94
commit
1a00c868f2
@ -21344,3 +21344,6 @@
|
||||
attributes.
|
||||
2021-03-25 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Refactored layout of 'RDMarkerDialog'
|
||||
2021-03-25 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Modified the 'Time' buttons in 'RDMarkerDialog' to show currently
|
||||
available 'In' and 'Out' possibilities.
|
||||
|
@ -53,24 +53,33 @@ RDMarkerDialog::RDMarkerDialog(const QString &caption,int card,int port,
|
||||
this,SLOT(amplitudeDownData()));
|
||||
|
||||
//
|
||||
// Time
|
||||
// Time Scaling Buttons
|
||||
//
|
||||
d_time_box=new QGroupBox(tr("Time"),this);
|
||||
d_time_box->setFont(labelFont());
|
||||
d_time_fullin_button=new QPushButton(tr("Full\nIn"),d_time_box);
|
||||
d_time_fullin_button->setFont(buttonFont());
|
||||
connect(d_time_fullin_button,SIGNAL(clicked()),this,SLOT(timeFullInData()));
|
||||
connect(d_time_fullin_button,SIGNAL(clicked()),
|
||||
d_marker_view,SLOT(maxShrinkTime()));
|
||||
connect(d_marker_view,SIGNAL(canShrinkTimeChanged(bool)),
|
||||
d_time_fullin_button,SLOT(setEnabled(bool)));
|
||||
|
||||
d_time_in_button=new RDTransportButton(RDTransportButton::Up,d_time_box);
|
||||
connect(d_time_in_button,SIGNAL(clicked()),this,SLOT(timeInData()));
|
||||
connect(d_time_in_button,SIGNAL(clicked()),d_marker_view,SLOT(shrinkTime()));
|
||||
connect(d_marker_view,SIGNAL(canShrinkTimeChanged(bool)),
|
||||
d_time_in_button,SLOT(setEnabled(bool)));
|
||||
|
||||
d_time_out_button=new RDTransportButton(RDTransportButton::Down,d_time_box);
|
||||
connect(d_time_out_button,SIGNAL(clicked()),this,SLOT(timeOutData()));
|
||||
connect(d_time_out_button,SIGNAL(clicked()),d_marker_view,SLOT(growTime()));
|
||||
connect(d_marker_view,SIGNAL(canGrowTimeChanged(bool)),
|
||||
d_time_out_button,SLOT(setEnabled(bool)));
|
||||
|
||||
d_time_fullout_button=new QPushButton(tr("Full\nOut"),d_time_box);
|
||||
d_time_fullout_button->setFont(buttonFont());
|
||||
connect(d_time_fullout_button,SIGNAL(clicked()),
|
||||
d_marker_view,SLOT(setMaximumShrinkFactor()));
|
||||
d_marker_view,SLOT(maxGrowTime()));
|
||||
connect(d_marker_view,SIGNAL(canGrowTimeChanged(bool)),
|
||||
d_time_fullout_button,SLOT(setEnabled(bool)));
|
||||
|
||||
/**************************************************************************
|
||||
* Transport Section
|
||||
@ -157,6 +166,10 @@ int RDMarkerDialog::exec(unsigned cartnum,int cutnum)
|
||||
}
|
||||
d_marker_view->
|
||||
setSelectedMarkers(RDMarkerHandle::CutStart,RDMarkerHandle::CutEnd);
|
||||
d_time_fullin_button->setEnabled(d_marker_view->canShrinkTime());
|
||||
d_time_in_button->setEnabled(d_marker_view->canShrinkTime());
|
||||
d_time_out_button->setEnabled(d_marker_view->canGrowTime());
|
||||
d_time_fullout_button->setEnabled(d_marker_view->canGrowTime());
|
||||
|
||||
return QDialog::exec();
|
||||
}
|
||||
@ -174,27 +187,6 @@ void RDMarkerDialog::amplitudeDownData()
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerDialog::timeFullInData()
|
||||
{
|
||||
d_marker_view->setShrinkFactor(1);
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerDialog::timeInData()
|
||||
{
|
||||
int sf=d_marker_view->shrinkFactor();
|
||||
if(sf>1) {
|
||||
d_marker_view->setShrinkFactor(sf/2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerDialog::timeOutData()
|
||||
{
|
||||
d_marker_view->setShrinkFactor(2*d_marker_view->shrinkFactor());
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerDialog::okData()
|
||||
{
|
||||
d_marker_view->save();
|
||||
|
@ -74,9 +74,6 @@ class RDMarkerDialog : public RDDialog
|
||||
private slots:
|
||||
void amplitudeUpData();
|
||||
void amplitudeDownData();
|
||||
void timeFullInData();
|
||||
void timeInData();
|
||||
void timeOutData();
|
||||
void okData();
|
||||
void cancelData();
|
||||
|
||||
|
@ -456,6 +456,18 @@ int RDMarkerView::shrinkFactor() const
|
||||
}
|
||||
|
||||
|
||||
bool RDMarkerView::canShrinkTime() const
|
||||
{
|
||||
return d_shrink_factor>1;
|
||||
}
|
||||
|
||||
|
||||
bool RDMarkerView::canGrowTime() const
|
||||
{
|
||||
return d_shrink_factor<d_max_shrink_factor;
|
||||
}
|
||||
|
||||
|
||||
int RDMarkerView::pointerValue(RDMarkerHandle::PointerRole role)
|
||||
{
|
||||
return d_pointers[role];
|
||||
@ -663,21 +675,6 @@ void RDMarkerView::setAudioGain(int lvl)
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerView::setShrinkFactor(int sf)
|
||||
{
|
||||
if((d_shrink_factor!=sf)&&(sf<=d_max_shrink_factor)) {
|
||||
d_shrink_factor=sf;
|
||||
WriteWave();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerView::setMaximumShrinkFactor()
|
||||
{
|
||||
setShrinkFactor(d_max_shrink_factor);
|
||||
}
|
||||
|
||||
|
||||
bool RDMarkerView::setCut(QString *err_msg,unsigned cartnum,int cutnum)
|
||||
{
|
||||
clear();
|
||||
@ -736,6 +733,38 @@ void RDMarkerView::gotoEnd()
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerView::maxShrinkTime()
|
||||
{
|
||||
if(canShrinkTime()) {
|
||||
SetShrinkFactor(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerView::shrinkTime()
|
||||
{
|
||||
if(canShrinkTime()) {
|
||||
SetShrinkFactor(d_shrink_factor/2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerView::growTime()
|
||||
{
|
||||
if(canGrowTime()) {
|
||||
SetShrinkFactor(d_shrink_factor*2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerView::maxGrowTime()
|
||||
{
|
||||
if(canGrowTime()) {
|
||||
SetShrinkFactor(d_max_shrink_factor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerView::save()
|
||||
{
|
||||
QString sql;
|
||||
@ -1107,13 +1136,13 @@ void RDMarkerView::wheelEvent(QWheelEvent *e)
|
||||
|
||||
if(d_wheel_angle>=360) {
|
||||
if(shrinkFactor()>1) {
|
||||
setShrinkFactor(shrinkFactor()/2);
|
||||
SetShrinkFactor(shrinkFactor()/2);
|
||||
}
|
||||
d_wheel_angle=0;
|
||||
}
|
||||
if(d_wheel_angle<=-360) {
|
||||
if(shrinkFactor()<d_max_shrink_factor) {
|
||||
setShrinkFactor(shrinkFactor()*2);
|
||||
SetShrinkFactor(shrinkFactor()*2);
|
||||
}
|
||||
d_wheel_angle=0;
|
||||
}
|
||||
@ -1132,6 +1161,17 @@ int RDMarkerView::Msec(int frame) const
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerView::SetShrinkFactor(int sf)
|
||||
{
|
||||
if((d_shrink_factor!=sf)&&(sf<=d_max_shrink_factor)) {
|
||||
d_shrink_factor=sf;
|
||||
WriteWave();
|
||||
emit canShrinkTimeChanged(canShrinkTime());
|
||||
emit canGrowTimeChanged(canGrowTime());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool RDMarkerView::LoadCutData()
|
||||
{
|
||||
QString sql;
|
||||
|
@ -91,6 +91,8 @@ class RDMarkerView : public RDWidget
|
||||
int audioGain() const;
|
||||
unsigned sampleRate() const;
|
||||
int shrinkFactor() const;
|
||||
bool canShrinkTime() const;
|
||||
bool canGrowTime() const;
|
||||
int pointerValue(RDMarkerHandle::PointerRole role);
|
||||
RDMarkerHandle::PointerRole selectedMarker(RDMarkerHandle::PointerType type)
|
||||
const;
|
||||
@ -107,6 +109,8 @@ class RDMarkerView : public RDWidget
|
||||
void pointerValueChanged(RDMarkerHandle::PointerRole role,int msec);
|
||||
void selectedMarkersChanged(RDMarkerHandle::PointerRole start_role,
|
||||
RDMarkerHandle::PointerRole end_role);
|
||||
void canShrinkTimeChanged(bool state);
|
||||
void canGrowTimeChanged(bool state);
|
||||
|
||||
public slots:
|
||||
void setSelectedMarkers(RDMarkerHandle::PointerRole start_role,
|
||||
@ -116,13 +120,15 @@ class RDMarkerView : public RDWidget
|
||||
void trimStart(int dbfs);
|
||||
void trimEnd(int dbfs);
|
||||
void setAudioGain(int lvl);
|
||||
void setShrinkFactor(int sf);
|
||||
void setMaximumShrinkFactor();
|
||||
bool setCut(QString *err_msg,unsigned cartnum,int cutnum);
|
||||
void setCursorPosition(unsigned msec);
|
||||
void gotoCursor();
|
||||
void gotoHome();
|
||||
void gotoEnd();
|
||||
void maxShrinkTime();
|
||||
void shrinkTime();
|
||||
void growTime();
|
||||
void maxGrowTime();
|
||||
void save();
|
||||
void clear();
|
||||
|
||||
@ -144,6 +150,7 @@ class RDMarkerView : public RDWidget
|
||||
private:
|
||||
int Frame(int msec) const;
|
||||
int Msec(int frame) const;
|
||||
void SetShrinkFactor(int sf);
|
||||
void InterlockMarkerPair(RDMarkerHandle::PointerRole start_marker);
|
||||
void InterlockFadeMarkerPair();
|
||||
bool LoadCutData();
|
||||
|
Loading…
x
Reference in New Issue
Block a user