mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-05 15:09:10 +02:00
2021-03-20 Fred Gleason <fredg@paravelsystems.com>
* Got digital readouts working in 'RDMarkerPlayer'. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
bb4fe56bb7
commit
edf06f2d2f
@ -21295,3 +21295,5 @@
|
|||||||
* Fixed a bug in 'RDMarkerView' that caused an incorrect limit
|
* Fixed a bug in 'RDMarkerView' that caused an incorrect limit
|
||||||
stop to be applied to the 'Fade Down' marker after deletion of
|
stop to be applied to the 'Fade Down' marker after deletion of
|
||||||
the 'Fade Up' marker'.
|
the 'Fade Up' marker'.
|
||||||
|
2021-03-20 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Got digital readouts working in 'RDMarkerPlayer'.
|
||||||
|
@ -206,6 +206,8 @@ int RDMarkerDialog::exec(unsigned cartnum,int cutnum)
|
|||||||
d_player->setPointerValue(role,d_marker_view->pointerValue(role));
|
d_player->setPointerValue(role,d_marker_view->pointerValue(role));
|
||||||
d_player->setSelectedMarker(RDMarkerHandle::LastRole);
|
d_player->setSelectedMarker(RDMarkerHandle::LastRole);
|
||||||
}
|
}
|
||||||
|
d_marker_view->setSelectedMarker(RDMarkerHandle::CutStart);
|
||||||
|
|
||||||
return QDialog::exec();
|
return QDialog::exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#include "rdconf.h"
|
||||||
#include "rdmixer.h"
|
#include "rdmixer.h"
|
||||||
#include "rdmarkerplayer.h"
|
#include "rdmarkerplayer.h"
|
||||||
|
|
||||||
@ -42,33 +43,41 @@ RDMarkerPlayer::RDMarkerPlayer(int card,int port,QWidget *parent)
|
|||||||
//
|
//
|
||||||
// Time Counters
|
// Time Counters
|
||||||
//
|
//
|
||||||
d_overall_label=new QLabel(tr("Position"),this);
|
d_position_label=new QLabel(tr("Position"),this);
|
||||||
d_overall_label->setFont(subLabelFont());
|
d_position_label->setFont(subLabelFont());
|
||||||
d_overall_label->setAlignment(Qt::AlignHCenter);
|
d_position_label->setAlignment(Qt::AlignCenter);
|
||||||
d_overall_label->
|
d_position_label->
|
||||||
setPalette(QPalette(palette().color(QPalette::Background),
|
setPalette(QPalette(palette().color(QPalette::Background),
|
||||||
QColor(RDMARKERPLAYER_HIGHLIGHT_COLOR)));
|
QColor(RDMARKERPLAYER_HIGHLIGHT_COLOR)));
|
||||||
d_overall_edit=new QLineEdit(this);
|
d_position_edit=new QLabel(this);
|
||||||
d_overall_edit->setAcceptDrops(false);
|
d_position_edit->setAcceptDrops(false);
|
||||||
d_overall_edit->setReadOnly(true);
|
d_position_edit->setAlignment(Qt::AlignCenter);
|
||||||
|
d_position_edit->
|
||||||
|
setStyleSheet("background-color: "+palette().color(QPalette::Base).name());
|
||||||
|
|
||||||
d_region_edit_label=new QLabel("Region",this);
|
d_region_edit_label=new QLabel("Region",this);
|
||||||
d_region_edit_label->setFont(subLabelFont());
|
d_region_edit_label->setFont(subLabelFont());
|
||||||
d_region_edit_label->setAlignment(Qt::AlignHCenter);
|
d_region_edit_label->setAlignment(Qt::AlignCenter);
|
||||||
d_region_edit_label->
|
d_region_edit_label->
|
||||||
setPalette(QPalette(palette().color(QPalette::Background),QColor(RDMARKERPLAYER_HIGHLIGHT_COLOR)));
|
setPalette(QPalette(palette().color(QPalette::Background),
|
||||||
d_region_edit=new QLineEdit(this);
|
QColor(RDMARKERPLAYER_HIGHLIGHT_COLOR)));
|
||||||
|
d_region_edit=new QLabel(this);
|
||||||
d_region_edit->setAcceptDrops(false);
|
d_region_edit->setAcceptDrops(false);
|
||||||
d_region_edit->setReadOnly(true);
|
d_region_edit->setAlignment(Qt::AlignCenter);
|
||||||
|
d_region_edit->
|
||||||
|
setStyleSheet("background-color: "+palette().color(QPalette::Base).name());
|
||||||
|
|
||||||
d_size_label=new QLabel(tr("Length"),this);
|
d_length_label=new QLabel(tr("Length"),this);
|
||||||
d_size_label->setFont(subLabelFont());
|
d_length_label->setFont(subLabelFont());
|
||||||
d_size_label->setAlignment(Qt::AlignHCenter);
|
d_length_label->setAlignment(Qt::AlignCenter);
|
||||||
d_size_label->
|
d_length_label->
|
||||||
setPalette(QPalette(palette().color(QPalette::Background),QColor(RDMARKERPLAYER_HIGHLIGHT_COLOR)));
|
setPalette(QPalette(palette().color(QPalette::Background),
|
||||||
d_size_edit=new QLineEdit(this);
|
QColor(RDMARKERPLAYER_HIGHLIGHT_COLOR)));
|
||||||
d_size_edit->setAcceptDrops(false);
|
d_length_edit=new QLabel(this);
|
||||||
d_size_edit->setReadOnly(true);
|
d_length_edit->setAcceptDrops(false);
|
||||||
|
d_length_edit->setAlignment(Qt::AlignCenter);
|
||||||
|
d_length_edit->
|
||||||
|
setStyleSheet("background-color: "+palette().color(QPalette::Base).name());
|
||||||
|
|
||||||
//
|
//
|
||||||
// Transport Buttons
|
// Transport Buttons
|
||||||
@ -164,25 +173,29 @@ void RDMarkerPlayer::clearCut()
|
|||||||
|
|
||||||
void RDMarkerPlayer::setPlayPosition(int msec)
|
void RDMarkerPlayer::setPlayPosition(int msec)
|
||||||
{
|
{
|
||||||
|
rda->cae()->positionPlay(d_cae_handle,msec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDMarkerPlayer::setPointerValue(RDMarkerHandle::PointerRole role,int ptr)
|
void RDMarkerPlayer::setPointerValue(RDMarkerHandle::PointerRole role,int ptr)
|
||||||
{
|
{
|
||||||
|
if(ptr!=d_pointers[role]) {
|
||||||
d_pointers[role]=ptr;
|
d_pointers[role]=ptr;
|
||||||
|
UpdateReadouts();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDMarkerPlayer::setSelectedMarker(RDMarkerHandle::PointerRole role)
|
void RDMarkerPlayer::setSelectedMarker(RDMarkerHandle::PointerRole role)
|
||||||
{
|
{
|
||||||
if(d_selected_marker!=role) {
|
|
||||||
d_region_edit_label->
|
d_region_edit_label->
|
||||||
setStyleSheet("background-color: "+
|
setStyleSheet("background-color: "+
|
||||||
RDMarkerHandle::pointerRoleColor(role).name());
|
RDMarkerHandle::pointerRoleColor(role).name());
|
||||||
d_play_cursor_button->
|
d_play_cursor_button->
|
||||||
setAccentColor(RDMarkerHandle::pointerRoleColor(role));
|
setAccentColor(RDMarkerHandle::pointerRoleColor(role));
|
||||||
d_selected_marker=role;
|
d_selected_marker=role;
|
||||||
}
|
|
||||||
|
UpdateReadouts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -197,13 +210,16 @@ void RDMarkerPlayer::playCursorData()
|
|||||||
rda->cae()->stopPlay(d_cae_handle);
|
rda->cae()->stopPlay(d_cae_handle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
printf("selected: %u\n",d_selected_marker);
|
||||||
switch(RDMarkerHandle::pointerType(d_selected_marker)) {
|
switch(RDMarkerHandle::pointerType(d_selected_marker)) {
|
||||||
case RDMarkerHandle::Start:
|
case RDMarkerHandle::Start:
|
||||||
|
printf("START\n");
|
||||||
start=d_pointers[d_selected_marker];
|
start=d_pointers[d_selected_marker];
|
||||||
len=d_pointers[d_selected_marker+1]-d_pointers[d_selected_marker];
|
len=d_pointers[d_selected_marker+1]-d_pointers[d_selected_marker];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RDMarkerHandle::End:
|
case RDMarkerHandle::End:
|
||||||
|
printf("END\n");
|
||||||
start=d_pointers[d_selected_marker]-2000;
|
start=d_pointers[d_selected_marker]-2000;
|
||||||
len=2000;
|
len=2000;
|
||||||
if(start<0) {
|
if(start<0) {
|
||||||
@ -212,6 +228,7 @@ void RDMarkerPlayer::playCursorData()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
printf("start: %d len: %d\n",start,len);
|
||||||
rda->cae()->positionPlay(d_cae_handle,start);
|
rda->cae()->positionPlay(d_cae_handle,start);
|
||||||
rda->cae()->play(d_cae_handle,len,100000,false);
|
rda->cae()->play(d_cae_handle,len,100000,false);
|
||||||
rda->cae()->setPlayPortActive(d_cards.first(),d_port,d_cae_stream);
|
rda->cae()->setPlayPortActive(d_cards.first(),d_port,d_cae_stream);
|
||||||
@ -310,6 +327,7 @@ void RDMarkerPlayer::caePausedData(int handle)
|
|||||||
void RDMarkerPlayer::caePositionData(int handle,unsigned msec)
|
void RDMarkerPlayer::caePositionData(int handle,unsigned msec)
|
||||||
{
|
{
|
||||||
if(handle==d_cae_handle) {
|
if(handle==d_cae_handle) {
|
||||||
|
d_position_edit->setText(RDGetTimeLength(msec-d_pointers[RDMarkerHandle::CutStart],true,true));
|
||||||
emit cursorPositionChanged(msec);
|
emit cursorPositionChanged(msec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -317,12 +335,12 @@ void RDMarkerPlayer::caePositionData(int handle,unsigned msec)
|
|||||||
|
|
||||||
void RDMarkerPlayer::resizeEvent(QResizeEvent *)
|
void RDMarkerPlayer::resizeEvent(QResizeEvent *)
|
||||||
{
|
{
|
||||||
d_overall_label->setGeometry(50,3,70,20);
|
d_position_label->setGeometry(50,3,70,16);
|
||||||
d_overall_edit->setGeometry(50,18,70,21);
|
d_position_edit->setGeometry(50,20,70,18);
|
||||||
d_region_edit_label->setGeometry(148,3,70,20);
|
d_region_edit_label->setGeometry(148,3,70,16);
|
||||||
d_region_edit->setGeometry(148,18,70,21);
|
d_region_edit->setGeometry(148,20,70,18);
|
||||||
d_size_label->setGeometry(246,3,70,20);
|
d_length_label->setGeometry(246,3,70,16);
|
||||||
d_size_edit->setGeometry(246,18,70,21);
|
d_length_edit->setGeometry(246,20,70,18);
|
||||||
|
|
||||||
d_play_cursor_button->setGeometry(10,42,65,45);
|
d_play_cursor_button->setGeometry(10,42,65,45);
|
||||||
d_play_start_button->setGeometry(80,42,65,45);
|
d_play_start_button->setGeometry(80,42,65,45);
|
||||||
@ -349,3 +367,52 @@ void RDMarkerPlayer::paintEvent(QPaintEvent *e)
|
|||||||
|
|
||||||
delete p;
|
delete p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RDMarkerPlayer::UpdateReadouts()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// Region
|
||||||
|
//
|
||||||
|
switch(d_selected_marker) {
|
||||||
|
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));
|
||||||
|
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));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RDMarkerHandle::LastRole:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Length
|
||||||
|
//
|
||||||
|
d_length_edit->
|
||||||
|
setText(RDGetTimeLength(d_pointers[RDMarkerHandle::CutEnd]-
|
||||||
|
d_pointers[RDMarkerHandle::CutStart],true,true));
|
||||||
|
}
|
||||||
|
@ -67,12 +67,16 @@ class RDMarkerPlayer : public RDWidget
|
|||||||
void paintEvent(QPaintEvent *e);
|
void paintEvent(QPaintEvent *e);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QLabel *d_overall_label;
|
void UpdateReadouts();
|
||||||
QLineEdit *d_overall_edit;
|
QLabel *d_position_label;
|
||||||
|
// QLineEdit *d_position_edit;
|
||||||
|
QLabel *d_position_edit;
|
||||||
QLabel *d_region_edit_label;
|
QLabel *d_region_edit_label;
|
||||||
QLineEdit *d_region_edit;
|
// QLineEdit *d_region_edit;
|
||||||
QLabel *d_size_label;
|
QLabel *d_region_edit;
|
||||||
QLineEdit *d_size_edit;
|
QLabel *d_length_label;
|
||||||
|
// QLineEdit *d_length_edit;
|
||||||
|
QLabel *d_length_edit;
|
||||||
RDTransportButton *d_play_cursor_button;
|
RDTransportButton *d_play_cursor_button;
|
||||||
RDTransportButton *d_play_start_button;
|
RDTransportButton *d_play_start_button;
|
||||||
RDTransportButton *d_active_play_button;
|
RDTransportButton *d_active_play_button;
|
||||||
|
@ -119,7 +119,7 @@ void RDMarkerHandle::mousePressEvent(QGraphicsSceneMouseEvent *e)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
view->processLeftClick(d_role);
|
view->setSelectedMarker(d_role);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(e->button()==Qt::RightButton) {
|
if(e->button()==Qt::RightButton) {
|
||||||
@ -328,11 +328,11 @@ RDMarkerHandle::PointerType RDMarkerHandle::pointerType(RDMarkerHandle::PointerR
|
|||||||
case RDMarkerHandle::TalkStart:
|
case RDMarkerHandle::TalkStart:
|
||||||
case RDMarkerHandle::SegueStart:
|
case RDMarkerHandle::SegueStart:
|
||||||
case RDMarkerHandle::HookStart:
|
case RDMarkerHandle::HookStart:
|
||||||
case RDMarkerHandle::CutEnd:
|
|
||||||
case RDMarkerHandle::FadeDown:
|
case RDMarkerHandle::FadeDown:
|
||||||
ret=RDMarkerHandle::Start;
|
ret=RDMarkerHandle::Start;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RDMarkerHandle::CutEnd:
|
||||||
case RDMarkerHandle::TalkEnd:
|
case RDMarkerHandle::TalkEnd:
|
||||||
case RDMarkerHandle::SegueEnd:
|
case RDMarkerHandle::SegueEnd:
|
||||||
case RDMarkerHandle::HookEnd:
|
case RDMarkerHandle::HookEnd:
|
||||||
@ -453,7 +453,7 @@ bool RDMarkerView::hasUnsavedChanges() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDMarkerView::processLeftClick(RDMarkerHandle::PointerRole role)
|
void RDMarkerView::setSelectedMarker(RDMarkerHandle::PointerRole role)
|
||||||
{
|
{
|
||||||
if(role!=d_selected_marker) {
|
if(role!=d_selected_marker) {
|
||||||
for(int i=0;i<RDMarkerHandle::LastRole;i++) {
|
for(int i=0;i<RDMarkerHandle::LastRole;i++) {
|
||||||
@ -781,8 +781,6 @@ void RDMarkerView::updateInterlocks()
|
|||||||
InterlockMarkerPair(RDMarkerHandle::SegueStart);
|
InterlockMarkerPair(RDMarkerHandle::SegueStart);
|
||||||
InterlockMarkerPair(RDMarkerHandle::HookStart);
|
InterlockMarkerPair(RDMarkerHandle::HookStart);
|
||||||
InterlockFadeMarkerPair();
|
InterlockFadeMarkerPair();
|
||||||
|
|
||||||
// printf("d_right_margin: %d\n",d_right_margin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1024,11 +1022,13 @@ void RDMarkerView::DrawMarker(RDMarkerHandle::PointerType type,
|
|||||||
d_scene->addItem(m_item);
|
d_scene->addItem(m_item);
|
||||||
m_item->setPos(LEFT_MARGIN+Frame(d_pointers[role]),handle_pos-12);
|
m_item->setPos(LEFT_MARGIN+Frame(d_pointers[role]),handle_pos-12);
|
||||||
d_handles[role][0]=m_item;
|
d_handles[role][0]=m_item;
|
||||||
|
m_item->setSelected(d_selected_marker==role);
|
||||||
|
|
||||||
m_item=new RDMarkerHandle(role,type,this);
|
m_item=new RDMarkerHandle(role,type,this);
|
||||||
d_scene->addItem(m_item);
|
d_scene->addItem(m_item);
|
||||||
m_item->setPos(LEFT_MARGIN+Frame(d_pointers[role]),d_height-handle_pos-8);
|
m_item->setPos(LEFT_MARGIN+Frame(d_pointers[role]),d_height-handle_pos-8);
|
||||||
d_handles[role][1]=m_item;
|
d_handles[role][1]=m_item;
|
||||||
|
m_item->setSelected(d_selected_marker==role);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ class RDMarkerView : public QWidget
|
|||||||
RDMarkerHandle::PointerRole selectedMarker() const;
|
RDMarkerHandle::PointerRole selectedMarker() const;
|
||||||
bool hasUnsavedChanges() const;
|
bool hasUnsavedChanges() const;
|
||||||
|
|
||||||
void processLeftClick(RDMarkerHandle::PointerRole role);
|
void setSelectedMarker(RDMarkerHandle::PointerRole role);
|
||||||
void processRightClick(RDMarkerHandle::PointerRole role,
|
void processRightClick(RDMarkerHandle::PointerRole role,
|
||||||
const QPointF &pos);
|
const QPointF &pos);
|
||||||
void updatePosition(RDMarkerHandle::PointerRole role,int ptr);
|
void updatePosition(RDMarkerHandle::PointerRole role,int ptr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user