mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-11 17:13:47 +02:00
2021-03-20 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'RDMarkerDialog' dialog to select markers by pairs rather than singly. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
@@ -21301,3 +21301,6 @@
|
||||
* Added mouse wheel support to 'RDMarkerView'.
|
||||
* Added support for play cursor positioning by mouse to
|
||||
'RDMarkerView'.
|
||||
2021-03-20 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Refactored the 'RDMarkerDialog' dialog to select markers by pairs
|
||||
rather than singly.
|
||||
|
@@ -82,8 +82,10 @@ RDMarkerDialog::RDMarkerDialog(const QString &caption,int card,int port,
|
||||
SIGNAL(pointerValueChanged(RDMarkerHandle::PointerRole,int)),
|
||||
d_player,SLOT(setPointerValue(RDMarkerHandle::PointerRole,int)));
|
||||
connect(d_marker_view,
|
||||
SIGNAL(selectedMarkerChanged(RDMarkerHandle::PointerRole)),
|
||||
d_player,SLOT(setSelectedMarker(RDMarkerHandle::PointerRole)));
|
||||
SIGNAL(selectedMarkersChanged(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)),
|
||||
d_player,SLOT(setSelectedMarkers(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)));
|
||||
connect(d_marker_view,SIGNAL(positionClicked(int)),
|
||||
d_player,SLOT(setPlayPosition(int)));
|
||||
|
||||
@@ -95,8 +97,10 @@ RDMarkerDialog::RDMarkerDialog(const QString &caption,int card,int port,
|
||||
SIGNAL(pointerValueChanged(RDMarkerHandle::PointerRole,int)),
|
||||
d_cut_readout,SLOT(setValue(RDMarkerHandle::PointerRole,int)));
|
||||
connect(d_marker_view,
|
||||
SIGNAL(selectedMarkerChanged(RDMarkerHandle::PointerRole)),
|
||||
d_cut_readout,SLOT(setSelectedMarker(RDMarkerHandle::PointerRole)));
|
||||
SIGNAL(selectedMarkersChanged(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)),
|
||||
d_cut_readout,SLOT(setSelectedMarkers(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)));
|
||||
d_cut_readout->setEnabled(true);
|
||||
|
||||
d_talk_readout=new RDMarkerReadout(RDMarkerHandle::TalkStart,this);
|
||||
@@ -104,42 +108,52 @@ RDMarkerDialog::RDMarkerDialog(const QString &caption,int card,int port,
|
||||
SIGNAL(pointerValueChanged(RDMarkerHandle::PointerRole,int)),
|
||||
d_talk_readout,SLOT(setValue(RDMarkerHandle::PointerRole,int)));
|
||||
connect(d_marker_view,
|
||||
SIGNAL(selectedMarkerChanged(RDMarkerHandle::PointerRole)),
|
||||
d_talk_readout,SLOT(setSelectedMarker(RDMarkerHandle::PointerRole)));
|
||||
SIGNAL(selectedMarkersChanged(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)),
|
||||
d_talk_readout,SLOT(setSelectedMarkers(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)));
|
||||
|
||||
d_segue_readout=new RDMarkerReadout(RDMarkerHandle::SegueStart,this);
|
||||
connect(d_marker_view,
|
||||
SIGNAL(pointerValueChanged(RDMarkerHandle::PointerRole,int)),
|
||||
d_segue_readout,SLOT(setValue(RDMarkerHandle::PointerRole,int)));
|
||||
connect(d_marker_view,
|
||||
SIGNAL(selectedMarkerChanged(RDMarkerHandle::PointerRole)),
|
||||
d_segue_readout,SLOT(setSelectedMarker(RDMarkerHandle::PointerRole)));
|
||||
SIGNAL(selectedMarkersChanged(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)),
|
||||
d_segue_readout,SLOT(setSelectedMarkers(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)));
|
||||
|
||||
d_hook_readout=new RDMarkerReadout(RDMarkerHandle::HookStart,this);
|
||||
connect(d_marker_view,
|
||||
SIGNAL(pointerValueChanged(RDMarkerHandle::PointerRole,int)),
|
||||
d_hook_readout,SLOT(setValue(RDMarkerHandle::PointerRole,int)));
|
||||
connect(d_marker_view,
|
||||
SIGNAL(selectedMarkerChanged(RDMarkerHandle::PointerRole)),
|
||||
d_hook_readout,SLOT(setSelectedMarker(RDMarkerHandle::PointerRole)));
|
||||
SIGNAL(selectedMarkersChanged(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)),
|
||||
d_hook_readout,SLOT(setSelectedMarkers(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)));
|
||||
|
||||
d_fadeup_readout=new RDMarkerReadout(RDMarkerHandle::FadeUp,this);
|
||||
connect(d_marker_view,
|
||||
SIGNAL(pointerValueChanged(RDMarkerHandle::PointerRole,int)),
|
||||
d_fadeup_readout,SLOT(setValue(RDMarkerHandle::PointerRole,int)));
|
||||
connect(d_marker_view,
|
||||
SIGNAL(selectedMarkerChanged(RDMarkerHandle::PointerRole)),
|
||||
SIGNAL(selectedMarkersChanged(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)),
|
||||
d_fadeup_readout,
|
||||
SLOT(setSelectedMarker(RDMarkerHandle::PointerRole)));
|
||||
SLOT(setSelectedMarkers(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)));
|
||||
|
||||
d_fadedown_readout=new RDMarkerReadout(RDMarkerHandle::FadeDown,this);
|
||||
connect(d_marker_view,
|
||||
SIGNAL(pointerValueChanged(RDMarkerHandle::PointerRole,int)),
|
||||
d_fadedown_readout,SLOT(setValue(RDMarkerHandle::PointerRole,int)));
|
||||
connect(d_marker_view,
|
||||
SIGNAL(selectedMarkerChanged(RDMarkerHandle::PointerRole)),
|
||||
SIGNAL(selectedMarkersChanged(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)),
|
||||
d_fadedown_readout,
|
||||
SLOT(setSelectedMarker(RDMarkerHandle::PointerRole)));
|
||||
SLOT(setSelectedMarkers(RDMarkerHandle::PointerRole,
|
||||
RDMarkerHandle::PointerRole)));
|
||||
|
||||
/**************************************************************************
|
||||
* Navigation Section
|
||||
@@ -194,19 +208,14 @@ int RDMarkerDialog::exec(unsigned cartnum,int cutnum)
|
||||
for(int i=0;i<RDMarkerHandle::LastRole;i++) {
|
||||
RDMarkerHandle::PointerRole role=(RDMarkerHandle::PointerRole)i;
|
||||
d_cut_readout->setValue(role,d_marker_view->pointerValue(role));
|
||||
d_cut_readout->setSelectedMarker(RDMarkerHandle::LastRole);
|
||||
d_talk_readout->setValue(role,d_marker_view->pointerValue(role));
|
||||
d_talk_readout->setSelectedMarker(RDMarkerHandle::LastRole);
|
||||
d_segue_readout->setValue(role,d_marker_view->pointerValue(role));
|
||||
d_segue_readout->setSelectedMarker(RDMarkerHandle::LastRole);
|
||||
d_hook_readout->setValue(role,d_marker_view->pointerValue(role));
|
||||
d_hook_readout->setSelectedMarker(RDMarkerHandle::LastRole);
|
||||
d_fadeup_readout->setValue(role,d_marker_view->pointerValue(role));
|
||||
d_fadeup_readout->setSelectedMarker(RDMarkerHandle::LastRole);
|
||||
d_fadedown_readout->setValue(role,d_marker_view->pointerValue(role));
|
||||
d_fadedown_readout->setSelectedMarker(RDMarkerHandle::LastRole);
|
||||
d_player->setPointerValue(role,d_marker_view->pointerValue(role));
|
||||
d_player->setSelectedMarker(RDMarkerHandle::LastRole);
|
||||
d_player->
|
||||
setSelectedMarkers(RDMarkerHandle::LastRole,RDMarkerHandle::LastRole);
|
||||
}
|
||||
d_marker_view->setSelectedMarker(RDMarkerHandle::CutStart);
|
||||
|
||||
|
@@ -82,37 +82,36 @@ RDMarkerPlayer::RDMarkerPlayer(int card,int port,QWidget *parent)
|
||||
//
|
||||
// Transport Buttons
|
||||
//
|
||||
d_play_cursor_button=
|
||||
new RDTransportButton(RDTransportButton::PlayBetween,this);
|
||||
d_play_cursor_button->setFocusPolicy(Qt::NoFocus);
|
||||
d_play_cursor_button->setEnabled((d_cards.first()>=0)&&(d_port>=0));
|
||||
connect(d_play_cursor_button,SIGNAL(clicked()),
|
||||
this,SLOT(playCursorData()));
|
||||
|
||||
d_play_start_button=
|
||||
d_play_button=
|
||||
new RDTransportButton(RDTransportButton::Play,this);
|
||||
d_play_start_button->setFocusPolicy(Qt::NoFocus);
|
||||
d_play_start_button->setEnabled((d_cards.first()>=0)&&(d_port>=0));
|
||||
connect(d_play_start_button,SIGNAL(clicked()),
|
||||
this,SLOT(playStartData()));
|
||||
d_play_button->setFocusPolicy(Qt::NoFocus);
|
||||
d_play_button->setEnabled((d_cards.first()>=0)&&(d_port>=0));
|
||||
connect(d_play_button,SIGNAL(clicked()),
|
||||
this,SLOT(buttonPlayData()));
|
||||
|
||||
d_pause_button=new RDTransportButton(RDTransportButton::Pause,this);
|
||||
d_pause_button->setFocusPolicy(Qt::NoFocus);
|
||||
d_pause_button->setOnColor(QColor(Qt::red));
|
||||
d_pause_button->setEnabled((d_cards.first()>=0)&&(d_port>=0));
|
||||
connect(d_pause_button,SIGNAL(clicked()),this,SLOT(pauseData()));
|
||||
d_play_from_button=
|
||||
new RDTransportButton(RDTransportButton::PlayFrom,this);
|
||||
d_play_from_button->setFocusPolicy(Qt::NoFocus);
|
||||
d_play_from_button->setEnabled((d_cards.first()>=0)&&(d_port>=0));
|
||||
connect(d_play_from_button,SIGNAL(clicked()),
|
||||
this,SLOT(buttonPlayFromData()));
|
||||
|
||||
d_play_to_button=new RDTransportButton(RDTransportButton::PlayTo,this);
|
||||
d_play_to_button->setFocusPolicy(Qt::NoFocus);
|
||||
d_play_to_button->setEnabled((d_cards.first()>=0)&&(d_port>=0));
|
||||
connect(d_play_to_button,SIGNAL(clicked()),this,SLOT(buttonPlayToData()));
|
||||
|
||||
d_stop_button=new RDTransportButton(RDTransportButton::Stop,this);
|
||||
d_stop_button->setFocusPolicy(Qt::NoFocus);
|
||||
d_stop_button->on();
|
||||
d_stop_button->setOnColor(QColor(Qt::red));
|
||||
d_stop_button->setEnabled((d_cards.first()>=0)&&(d_port>=0));
|
||||
connect(d_stop_button,SIGNAL(clicked()),this,SLOT(stopData()));
|
||||
connect(d_stop_button,SIGNAL(clicked()),this,SLOT(buttonStopData()));
|
||||
|
||||
d_loop_button=new RDTransportButton(RDTransportButton::Loop,this);
|
||||
d_loop_button->off();
|
||||
d_loop_button->setEnabled((d_cards.first()>=0)&&(d_port>=0));
|
||||
connect(d_loop_button,SIGNAL(clicked()),this,SLOT(loopData()));
|
||||
connect(d_loop_button,SIGNAL(clicked()),this,SLOT(buttonLoopData()));
|
||||
|
||||
//
|
||||
// The Audio Meter
|
||||
@@ -186,70 +185,36 @@ void RDMarkerPlayer::setPointerValue(RDMarkerHandle::PointerRole role,int ptr)
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerPlayer::setSelectedMarker(RDMarkerHandle::PointerRole role)
|
||||
void RDMarkerPlayer::setSelectedMarkers(RDMarkerHandle::PointerRole start_role,
|
||||
RDMarkerHandle::PointerRole end_role)
|
||||
{
|
||||
QColor color=RDMarkerHandle::pointerRoleColor(start_role);
|
||||
if(start_role==RDMarkerHandle::LastRole) {
|
||||
color=RDMarkerHandle::pointerRoleColor(end_role);
|
||||
}
|
||||
d_region_edit_label->
|
||||
setStyleSheet("background-color: "+
|
||||
RDMarkerHandle::pointerRoleColor(role).name());
|
||||
d_play_cursor_button->
|
||||
setAccentColor(RDMarkerHandle::pointerRoleColor(role));
|
||||
d_selected_marker=role;
|
||||
setStyleSheet("background-color: "+color.name());
|
||||
d_play_from_button->setAccentColor(color);
|
||||
d_play_to_button->setAccentColor(color);
|
||||
d_selected_markers[0]=start_role;
|
||||
d_selected_markers[1]=end_role;
|
||||
|
||||
d_play_from_button->setDisabled(start_role==RDMarkerHandle::LastRole);
|
||||
d_play_to_button->setDisabled(end_role==RDMarkerHandle::LastRole);
|
||||
|
||||
UpdateReadouts();
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerPlayer::playCursorData()
|
||||
void RDMarkerPlayer::buttonPlayData()
|
||||
{
|
||||
d_active_play_button=d_play_cursor_button;
|
||||
|
||||
int start=0;
|
||||
int len=0;
|
||||
if(d_cae_handle>=0) {
|
||||
if(d_is_playing) {
|
||||
rda->cae()->stopPlay(d_cae_handle);
|
||||
}
|
||||
}
|
||||
printf("selected: %u\n",d_selected_marker);
|
||||
switch(RDMarkerHandle::pointerType(d_selected_marker)) {
|
||||
case RDMarkerHandle::Start:
|
||||
printf("START\n");
|
||||
start=d_pointers[d_selected_marker];
|
||||
len=d_pointers[d_selected_marker+1]-d_pointers[d_selected_marker];
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::End:
|
||||
printf("END\n");
|
||||
start=d_pointers[d_selected_marker]-2000;
|
||||
len=2000;
|
||||
if(start<0) {
|
||||
start=0;
|
||||
len=d_pointers[d_selected_marker];
|
||||
}
|
||||
break;
|
||||
}
|
||||
printf("start: %d len: %d\n",start,len);
|
||||
rda->cae()->positionPlay(d_cae_handle,start);
|
||||
rda->cae()->play(d_cae_handle,len,100000,false);
|
||||
rda->cae()->setPlayPortActive(d_cards.first(),d_port,d_cae_stream);
|
||||
// FIXME: Implement variable gain here!
|
||||
rda->cae()->setOutputVolume(d_cards.first(),d_cae_stream,d_port,0);
|
||||
// rda->cae()->
|
||||
// setOutputVolume(d_cards.first(),d_cae_stream,d_port,0+edit_gain_control->value());
|
||||
d_meter_timer->start(RD_METER_UPDATE_INTERVAL);
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerPlayer::playStartData()
|
||||
{
|
||||
d_active_play_button=d_play_start_button;
|
||||
d_active_play_button=d_play_button;
|
||||
|
||||
if(d_cae_handle>=0) {
|
||||
if(d_is_playing) {
|
||||
rda->cae()->stopPlay(d_cae_handle);
|
||||
}
|
||||
}
|
||||
rda->cae()->positionPlay(d_cae_handle,d_pointers[RDMarkerHandle::CutStart]);
|
||||
rda->cae()->play(d_cae_handle,
|
||||
d_pointers[RDMarkerHandle::CutEnd]-
|
||||
d_pointers[RDMarkerHandle::CutStart],100000,false);
|
||||
@@ -262,12 +227,55 @@ void RDMarkerPlayer::playStartData()
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerPlayer::pauseData()
|
||||
void RDMarkerPlayer::buttonPlayFromData()
|
||||
{
|
||||
d_active_play_button=d_play_from_button;
|
||||
if(d_cae_handle>=0) {
|
||||
if(d_is_playing) {
|
||||
rda->cae()->stopPlay(d_cae_handle);
|
||||
}
|
||||
}
|
||||
if(d_selected_markers[RDMarkerHandle::Start]!=RDMarkerHandle::LastRole) {
|
||||
rda->cae()->positionPlay(d_cae_handle,d_pointers[d_selected_markers[0]]);
|
||||
rda->cae()->play(d_cae_handle,0,100000,false);
|
||||
rda->cae()->setPlayPortActive(d_cards.first(),d_port,d_cae_stream);
|
||||
// FIXME: Implement variable gain here!
|
||||
rda->cae()->setOutputVolume(d_cards.first(),d_cae_stream,d_port,0);
|
||||
// rda->cae()->
|
||||
// setOutputVolume(d_cards.first(),d_cae_stream,d_port,0+edit_gain_control->value());
|
||||
d_meter_timer->start(RD_METER_UPDATE_INTERVAL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerPlayer::stopData()
|
||||
void RDMarkerPlayer::buttonPlayToData()
|
||||
{
|
||||
d_active_play_button=d_play_to_button;
|
||||
if(d_cae_handle>=0) {
|
||||
if(d_is_playing) {
|
||||
rda->cae()->stopPlay(d_cae_handle);
|
||||
}
|
||||
}
|
||||
if(d_selected_markers[RDMarkerHandle::End]!=RDMarkerHandle::LastRole) {
|
||||
int start=d_pointers[d_selected_markers[1]]-2000;
|
||||
int len=2000;
|
||||
if(start<0) {
|
||||
start=0;
|
||||
len=d_selected_markers[1];
|
||||
}
|
||||
rda->cae()->positionPlay(d_cae_handle,start);
|
||||
rda->cae()->play(d_cae_handle,len,100000,false);
|
||||
rda->cae()->setPlayPortActive(d_cards.first(),d_port,d_cae_stream);
|
||||
// FIXME: Implement variable gain here!
|
||||
rda->cae()->setOutputVolume(d_cards.first(),d_cae_stream,d_port,0);
|
||||
// rda->cae()->
|
||||
// setOutputVolume(d_cards.first(),d_cae_stream,d_port,0+edit_gain_control->value());
|
||||
d_meter_timer->start(RD_METER_UPDATE_INTERVAL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerPlayer::buttonStopData()
|
||||
{
|
||||
if(d_cae_handle>=0) {
|
||||
if(d_is_playing) {
|
||||
@@ -277,7 +285,7 @@ void RDMarkerPlayer::stopData()
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerPlayer::loopData()
|
||||
void RDMarkerPlayer::buttonLoopData()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -297,7 +305,6 @@ void RDMarkerPlayer::caePlayedData(int handle)
|
||||
if(handle==d_cae_handle) {
|
||||
if(!d_is_playing) {
|
||||
d_active_play_button->setState(RDTransportButton::On);
|
||||
d_pause_button->setState(RDTransportButton::Off);
|
||||
d_stop_button->setState(RDTransportButton::Off);
|
||||
d_is_playing=true;
|
||||
}
|
||||
@@ -314,9 +321,9 @@ void RDMarkerPlayer::caePausedData(int handle)
|
||||
d_meter->setLeftPeakBar(-10000);
|
||||
d_meter->setRightPeakBar(-10000);
|
||||
}
|
||||
d_play_cursor_button->setState(RDTransportButton::Off);
|
||||
d_play_start_button->setState(RDTransportButton::Off);
|
||||
d_pause_button->setState(RDTransportButton::Off);
|
||||
d_play_from_button->setState(RDTransportButton::Off);
|
||||
d_play_button->setState(RDTransportButton::Off);
|
||||
d_play_to_button->setState(RDTransportButton::Off);
|
||||
d_stop_button->setState(RDTransportButton::On);
|
||||
d_is_playing=false;
|
||||
}
|
||||
@@ -342,9 +349,9 @@ void RDMarkerPlayer::resizeEvent(QResizeEvent *)
|
||||
d_length_label->setGeometry(246,3,70,16);
|
||||
d_length_edit->setGeometry(246,20,70,18);
|
||||
|
||||
d_play_cursor_button->setGeometry(10,42,65,45);
|
||||
d_play_start_button->setGeometry(80,42,65,45);
|
||||
d_pause_button->setGeometry(150,42,65,45);
|
||||
d_play_button->setGeometry(10,42,65,45);
|
||||
d_play_from_button->setGeometry(80,42,65,45);
|
||||
d_play_to_button->setGeometry(150,42,65,45);
|
||||
d_stop_button->setGeometry(220,42,65,45);
|
||||
d_loop_button->setGeometry(290,42,65,45);
|
||||
|
||||
@@ -374,38 +381,37 @@ void RDMarkerPlayer::UpdateReadouts()
|
||||
//
|
||||
// Region
|
||||
//
|
||||
switch(d_selected_marker) {
|
||||
switch(d_selected_markers[0]) {
|
||||
case RDMarkerHandle::CutStart:
|
||||
case RDMarkerHandle::TalkStart:
|
||||
case RDMarkerHandle::SegueStart:
|
||||
case RDMarkerHandle::HookStart:
|
||||
d_region_edit->
|
||||
setText(RDGetTimeLength(d_pointers[d_selected_marker+1]-
|
||||
d_pointers[d_selected_marker],true,true));
|
||||
setText(RDGetTimeLength(d_pointers[d_selected_markers[1]]-
|
||||
d_pointers[d_selected_markers[0]],true,true));
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::CutEnd:
|
||||
case RDMarkerHandle::TalkEnd:
|
||||
case RDMarkerHandle::SegueEnd:
|
||||
case RDMarkerHandle::HookEnd:
|
||||
d_region_edit->
|
||||
setText(RDGetTimeLength(d_pointers[d_selected_marker]-
|
||||
d_pointers[d_selected_marker-1],true,true));
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::FadeUp:
|
||||
d_region_edit->
|
||||
setText(RDGetTimeLength(d_pointers[d_selected_marker]-
|
||||
d_pointers[RDMarkerHandle::CutStart],true,true));
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::FadeDown:
|
||||
d_region_edit->
|
||||
setText(RDGetTimeLength(d_pointers[RDMarkerHandle::CutEnd]-
|
||||
d_pointers[d_selected_marker],true,true));
|
||||
d_pointers[d_selected_markers[0]],true,true));
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::LastRole:
|
||||
if(d_selected_markers[1]==RDMarkerHandle::FadeUp) {
|
||||
d_region_edit->
|
||||
setText(RDGetTimeLength(d_pointers[d_selected_markers[1]]-
|
||||
d_pointers[RDMarkerHandle::CutStart],true,true));
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::FadeUp:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -46,17 +46,18 @@ class RDMarkerPlayer : public RDWidget
|
||||
public slots:
|
||||
void setPlayPosition(int msec);
|
||||
void setPointerValue(RDMarkerHandle::PointerRole role,int ptr);
|
||||
void setSelectedMarker(RDMarkerHandle::PointerRole role);
|
||||
void setSelectedMarkers(RDMarkerHandle::PointerRole start_role,
|
||||
RDMarkerHandle::PointerRole end_role);
|
||||
|
||||
signals:
|
||||
void cursorPositionChanged(unsigned msec);
|
||||
|
||||
private slots:
|
||||
void playCursorData();
|
||||
void playStartData();
|
||||
void pauseData();
|
||||
void stopData();
|
||||
void loopData();
|
||||
void buttonPlayData();
|
||||
void buttonPlayFromData();
|
||||
void buttonPlayToData();
|
||||
void buttonStopData();
|
||||
void buttonLoopData();
|
||||
void meterData();
|
||||
void caePlayedData(int handle);
|
||||
void caePausedData(int handle);
|
||||
@@ -69,18 +70,17 @@ class RDMarkerPlayer : public RDWidget
|
||||
private:
|
||||
void UpdateReadouts();
|
||||
QLabel *d_position_label;
|
||||
// QLineEdit *d_position_edit;
|
||||
QLabel *d_position_edit;
|
||||
QLabel *d_region_edit_label;
|
||||
// QLineEdit *d_region_edit;
|
||||
QLabel *d_region_edit;
|
||||
QLabel *d_length_label;
|
||||
// QLineEdit *d_length_edit;
|
||||
QLabel *d_length_edit;
|
||||
RDTransportButton *d_play_cursor_button;
|
||||
RDTransportButton *d_play_start_button;
|
||||
|
||||
RDTransportButton *d_play_button;
|
||||
RDTransportButton *d_play_from_button;
|
||||
RDTransportButton *d_play_to_button;
|
||||
RDTransportButton *d_active_play_button;
|
||||
RDTransportButton *d_pause_button;
|
||||
|
||||
RDTransportButton *d_stop_button;
|
||||
RDTransportButton *d_loop_button;
|
||||
RDStereoMeter *d_meter;
|
||||
@@ -90,8 +90,7 @@ class RDMarkerPlayer : public RDWidget
|
||||
int d_cae_stream;
|
||||
int d_cae_handle;
|
||||
bool d_is_playing;
|
||||
RDMarkerHandle::PointerRole d_selected_marker;
|
||||
|
||||
RDMarkerHandle::PointerRole d_selected_markers[2];
|
||||
int d_pointers[RDMarkerHandle::LastRole];
|
||||
};
|
||||
|
||||
|
@@ -35,7 +35,6 @@ RDMarkerReadout::RDMarkerReadout(RDMarkerHandle::PointerRole role,
|
||||
d_label->setFont(labelFont());
|
||||
d_label->setStyleSheet("background-color: "+
|
||||
RDMarkerHandle::pointerRoleColor(role).name());
|
||||
// d_label->setDisabled(true);
|
||||
|
||||
switch(role) {
|
||||
case RDMarkerHandle::CutStart:
|
||||
@@ -85,7 +84,6 @@ RDMarkerReadout::~RDMarkerReadout()
|
||||
QSize RDMarkerReadout::sizeHint() const
|
||||
{
|
||||
return QSize(labelFontMetrics()->width("00:00:00")+10,20+20*d_edits.size());
|
||||
// return QSize(60,20+20*d_edits.size());
|
||||
}
|
||||
|
||||
|
||||
@@ -111,38 +109,18 @@ void RDMarkerReadout::setValue(RDMarkerHandle::PointerRole role,int value)
|
||||
}
|
||||
|
||||
|
||||
void RDMarkerReadout::setSelectedMarker(RDMarkerHandle::PointerRole role)
|
||||
void RDMarkerReadout::setSelectedMarkers(RDMarkerHandle::PointerRole start_role,
|
||||
RDMarkerHandle::PointerRole end_role)
|
||||
{
|
||||
if(d_selected_marker!=role) {
|
||||
if(d_roles.contains(start_role)||d_roles.contains(end_role)) {
|
||||
for(int i=0;i<d_edits.size();i++) {
|
||||
d_edits.at(i)->setFont(labelFont());
|
||||
}
|
||||
}
|
||||
else {
|
||||
for(int i=0;i<d_edits.size();i++) {
|
||||
d_edits.at(i)->setFont(defaultFont());
|
||||
}
|
||||
if(d_roles.contains(role)) {
|
||||
switch(role) {
|
||||
case RDMarkerHandle::CutStart:
|
||||
case RDMarkerHandle::TalkStart:
|
||||
case RDMarkerHandle::SegueStart:
|
||||
case RDMarkerHandle::HookStart:
|
||||
d_edits.at(0)->setFont(labelFont());
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::CutEnd:
|
||||
case RDMarkerHandle::TalkEnd:
|
||||
case RDMarkerHandle::SegueEnd:
|
||||
case RDMarkerHandle::HookEnd:
|
||||
d_edits.at(1)->setFont(labelFont());
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::FadeUp:
|
||||
case RDMarkerHandle::FadeDown:
|
||||
d_edits.at(0)->setFont(labelFont());
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::LastRole:
|
||||
break;
|
||||
}
|
||||
}
|
||||
d_selected_marker=role;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -38,7 +38,8 @@ class RDMarkerReadout : public RDWidget
|
||||
|
||||
public slots:
|
||||
void setValue(RDMarkerHandle::PointerRole role,int value);
|
||||
void setSelectedMarker(RDMarkerHandle::PointerRole role);
|
||||
void setSelectedMarkers(RDMarkerHandle::PointerRole start_role,
|
||||
RDMarkerHandle::PointerRole end_role);
|
||||
void setEnabled(bool state);
|
||||
void setDisabled(bool state);
|
||||
|
||||
|
@@ -442,9 +442,10 @@ int RDMarkerView::pointerValue(RDMarkerHandle::PointerRole role)
|
||||
}
|
||||
|
||||
|
||||
RDMarkerHandle::PointerRole RDMarkerView::selectedMarker() const
|
||||
RDMarkerHandle::PointerRole
|
||||
RDMarkerView::selectedMarker(RDMarkerHandle::PointerType type) const
|
||||
{
|
||||
return d_selected_marker;
|
||||
return d_selected_markers[type];
|
||||
}
|
||||
|
||||
|
||||
@@ -456,17 +457,59 @@ bool RDMarkerView::hasUnsavedChanges() const
|
||||
|
||||
void RDMarkerView::setSelectedMarker(RDMarkerHandle::PointerRole role)
|
||||
{
|
||||
if(role!=d_selected_marker) {
|
||||
for(int i=0;i<RDMarkerHandle::LastRole;i++) {
|
||||
for(int j=0;j<2;j++) {
|
||||
if(d_handles[i][j]!=NULL) {
|
||||
d_handles[i][j]->setSelected(role==(RDMarkerHandle::PointerRole)i);
|
||||
switch(role) {
|
||||
case RDMarkerHandle::CutEnd:
|
||||
case RDMarkerHandle::TalkEnd:
|
||||
case RDMarkerHandle::SegueEnd:
|
||||
case RDMarkerHandle::HookEnd:
|
||||
d_selected_markers[0]=(RDMarkerHandle::PointerRole)((int)role-1);
|
||||
d_selected_markers[1]=role;
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::CutStart:
|
||||
case RDMarkerHandle::TalkStart:
|
||||
case RDMarkerHandle::SegueStart:
|
||||
case RDMarkerHandle::HookStart:
|
||||
d_selected_markers[0]=role;
|
||||
d_selected_markers[1]=(RDMarkerHandle::PointerRole)((int)role+1);
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::FadeUp:
|
||||
d_selected_markers[0]=RDMarkerHandle::LastRole;
|
||||
d_selected_markers[1]=RDMarkerHandle::FadeUp;
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::FadeDown:
|
||||
if(role!=d_selected_markers[0]) {
|
||||
for(int i=0;i<RDMarkerHandle::LastRole;i++) {
|
||||
for(int j=0;j<2;j++) {
|
||||
if(d_handles[i][j]!=NULL) {
|
||||
d_handles[i][j]->
|
||||
setSelected(role==(RDMarkerHandle::PointerRole)i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
d_selected_markers[0]=RDMarkerHandle::FadeDown;
|
||||
d_selected_markers[1]=RDMarkerHandle::LastRole;
|
||||
break;
|
||||
|
||||
case RDMarkerHandle::LastRole:
|
||||
d_selected_markers[0]=RDMarkerHandle::LastRole;
|
||||
d_selected_markers[1]=RDMarkerHandle::LastRole;
|
||||
break;
|
||||
}
|
||||
d_selected_marker=role;
|
||||
emit selectedMarkerChanged(role);
|
||||
for(int i=0;i<RDMarkerHandle::LastRole;i+=2) {
|
||||
for(int j=0;j<2;j++) {
|
||||
if(d_handles[i][j]!=NULL) {
|
||||
d_handles[i][j]->
|
||||
setSelected(d_selected_markers[0]==(RDMarkerHandle::PointerRole)i);
|
||||
d_handles[i+1][j]->
|
||||
setSelected(d_selected_markers[1]==(RDMarkerHandle::PointerRole)i+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
emit selectedMarkersChanged(d_selected_markers[0],d_selected_markers[1]);
|
||||
}
|
||||
|
||||
|
||||
@@ -604,7 +647,8 @@ void RDMarkerView::clear()
|
||||
d_audio_length=0;
|
||||
d_has_unsaved_changes=false;
|
||||
d_marker_menu_used=false;
|
||||
d_selected_marker=RDMarkerHandle::LastRole;
|
||||
d_selected_markers[0]=RDMarkerHandle::LastRole;
|
||||
d_selected_markers[1]=RDMarkerHandle::LastRole;
|
||||
}
|
||||
|
||||
|
||||
@@ -925,7 +969,6 @@ void RDMarkerView::mousePressEvent(QMouseEvent *e)
|
||||
void RDMarkerView::wheelEvent(QWheelEvent *e)
|
||||
{
|
||||
d_wheel_angle+=e->angleDelta().y();
|
||||
// printf("Angle: %d\n",d_wheel_angle);
|
||||
|
||||
if(d_wheel_angle>=360) {
|
||||
if(shrinkFactor()>1) {
|
||||
@@ -1039,13 +1082,15 @@ void RDMarkerView::DrawMarker(RDMarkerHandle::PointerType type,
|
||||
d_scene->addItem(m_item);
|
||||
m_item->setPos(LEFT_MARGIN+Frame(d_pointers[role]),handle_pos-12);
|
||||
d_handles[role][0]=m_item;
|
||||
m_item->setSelected(d_selected_marker==role);
|
||||
m_item->
|
||||
setSelected((d_selected_markers[0]==role)||(d_selected_markers[1]==role));
|
||||
|
||||
m_item=new RDMarkerHandle(role,type,this);
|
||||
d_scene->addItem(m_item);
|
||||
m_item->setPos(LEFT_MARGIN+Frame(d_pointers[role]),d_height-handle_pos-8);
|
||||
d_handles[role][1]=m_item;
|
||||
m_item->setSelected(d_selected_marker==role);
|
||||
m_item->
|
||||
setSelected((d_selected_markers[0]==role)||(d_selected_markers[1]==role));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -89,7 +89,8 @@ class RDMarkerView : public QWidget
|
||||
unsigned sampleRate() const;
|
||||
int shrinkFactor() const;
|
||||
int pointerValue(RDMarkerHandle::PointerRole role);
|
||||
RDMarkerHandle::PointerRole selectedMarker() const;
|
||||
RDMarkerHandle::PointerRole selectedMarker(RDMarkerHandle::PointerType type)
|
||||
const;
|
||||
bool hasUnsavedChanges() const;
|
||||
|
||||
void setSelectedMarker(RDMarkerHandle::PointerRole role);
|
||||
@@ -100,7 +101,8 @@ class RDMarkerView : public QWidget
|
||||
signals:
|
||||
void positionClicked(int msec);
|
||||
void pointerValueChanged(RDMarkerHandle::PointerRole role,int msec);
|
||||
void selectedMarkerChanged(RDMarkerHandle::PointerRole role);
|
||||
void selectedMarkersChanged(RDMarkerHandle::PointerRole start_role,
|
||||
RDMarkerHandle::PointerRole end_role);
|
||||
|
||||
public slots:
|
||||
void setAudioGain(int lvl);
|
||||
@@ -167,7 +169,7 @@ class RDMarkerView : public QWidget
|
||||
QList<RDMarkerHandle::PointerRole> d_deleting_roles;
|
||||
QAction *d_delete_marker_action;
|
||||
bool d_marker_menu_used;
|
||||
RDMarkerHandle::PointerRole d_selected_marker;
|
||||
RDMarkerHandle::PointerRole d_selected_markers[2];
|
||||
int d_wheel_angle;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user