mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-04 14:39:09 +02:00
2020-12-29 Fred Gleason <fredg@paravelsystems.com>
* Refactored the Full Log widget in rdairplay to use the model-based API. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
ca7ead3ea3
commit
1ce6d0ddc3
@ -20756,3 +20756,6 @@
|
|||||||
'RDLogListModel'.
|
'RDLogListModel'.
|
||||||
2020-12-27 Fred Gleason <fredg@paravelsystems.com>
|
2020-12-27 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Removed the 'RDLogEvent' class.
|
* Removed the 'RDLogEvent' class.
|
||||||
|
2020-12-29 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Refactored the Full Log widget in rdairplay to use the model-based
|
||||||
|
API.
|
||||||
|
@ -2785,6 +2785,21 @@ Bitte Kofiguration prüfen und erneut versuchen.</translation>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>RDLogPlay</name>
|
||||||
|
<message>
|
||||||
|
<source>[CART NOT FOUND]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>T</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDMbLookup</name>
|
<name>RDMbLookup</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -2780,6 +2780,21 @@ Bitte Kofiguration prüfen und erneut versuchen.</translation>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>RDLogPlay</name>
|
||||||
|
<message>
|
||||||
|
<source>[CART NOT FOUND]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>T</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDMbLookup</name>
|
<name>RDMbLookup</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -2770,6 +2770,21 @@ Do you still want to proceed?</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>RDLogPlay</name>
|
||||||
|
<message>
|
||||||
|
<source>[CART NOT FOUND]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>T</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDMbLookup</name>
|
<name>RDMbLookup</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -2292,6 +2292,21 @@ Do you want to overwrite it?</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>RDLogPlay</name>
|
||||||
|
<message>
|
||||||
|
<source>[CART NOT FOUND]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>T</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDMbLookup</name>
|
<name>RDMbLookup</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -2751,6 +2751,21 @@ Sjekk eksportoppsettet ditt og prøv att.</translation>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>RDLogPlay</name>
|
||||||
|
<message>
|
||||||
|
<source>[CART NOT FOUND]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>T</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDMbLookup</name>
|
<name>RDMbLookup</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -2751,6 +2751,21 @@ Sjekk eksportoppsettet ditt og prøv att.</translation>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>RDLogPlay</name>
|
||||||
|
<message>
|
||||||
|
<source>[CART NOT FOUND]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>T</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDMbLookup</name>
|
<name>RDMbLookup</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -2785,6 +2785,21 @@ Por Favor, cheque suas configurações e tenbte outra vez.</translation>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>RDLogPlay</name>
|
||||||
|
<message>
|
||||||
|
<source>[CART NOT FOUND]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>T</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RDMbLookup</name>
|
<name>RDMbLookup</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -34,62 +34,6 @@ RDLogModel::RDLogModel(const QString &logname,bool read_only,QObject *parent)
|
|||||||
d_read_only=read_only;
|
d_read_only=read_only;
|
||||||
|
|
||||||
MakeModel();
|
MakeModel();
|
||||||
/*
|
|
||||||
d_fms=NULL;
|
|
||||||
d_bold_fms=NULL;
|
|
||||||
d_log_icons=new RDLogIcons();
|
|
||||||
d_start_time_style=RDLogModel::Scheduled;
|
|
||||||
d_max_id=0;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Column Attributes
|
|
||||||
//
|
|
||||||
unsigned left=Qt::AlignLeft|Qt::AlignVCenter;
|
|
||||||
unsigned center=Qt::AlignCenter;
|
|
||||||
unsigned right=Qt::AlignRight|Qt::AlignVCenter;
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Start Time"));
|
|
||||||
d_alignments.push_back(right);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Trans"));
|
|
||||||
d_alignments.push_back(center);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Cart"));
|
|
||||||
d_alignments.push_back(center);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Group"));
|
|
||||||
d_alignments.push_back(center);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Length"));
|
|
||||||
d_alignments.push_back(right);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Title"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Artist"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Client"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Agency"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Label"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Source"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Ext Data"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Line ID"));
|
|
||||||
d_alignments.push_back(right);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Count"));
|
|
||||||
d_alignments.push_back(right);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -129,6 +73,18 @@ void RDLogModel::setPalette(const QPalette &pal)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QFont RDLogModel::normalFont() const
|
||||||
|
{
|
||||||
|
return d_font;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QFont RDLogModel::boldFont() const
|
||||||
|
{
|
||||||
|
return d_bold_font;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDLogModel::setFont(const QFont &font)
|
void RDLogModel::setFont(const QFont &font)
|
||||||
{
|
{
|
||||||
d_font=font;
|
d_font=font;
|
||||||
@ -179,78 +135,19 @@ QVariant RDLogModel::data(const QModelIndex &index,int role) const
|
|||||||
if((ll=logLine(row))!=NULL) {
|
if((ll=logLine(row))!=NULL) {
|
||||||
switch((Qt::ItemDataRole)role) {
|
switch((Qt::ItemDataRole)role) {
|
||||||
case Qt::DisplayRole:
|
case Qt::DisplayRole:
|
||||||
switch(index.column()) {
|
return cellText(col,row,ll);
|
||||||
case 0: // Start Time
|
|
||||||
return StartTimeString(row);
|
|
||||||
|
|
||||||
case 1: // Transition
|
|
||||||
return RDLogLine::transText(ll->transType());
|
|
||||||
|
|
||||||
case 2: // Cart Number
|
|
||||||
return ll->cartNumberText();
|
|
||||||
|
|
||||||
case 3: // Group
|
|
||||||
return ll->groupName();
|
|
||||||
|
|
||||||
case 4: // Length
|
|
||||||
return ll->forcedLengthText();
|
|
||||||
|
|
||||||
case 5: // Title
|
|
||||||
return ll->titleText();
|
|
||||||
|
|
||||||
case 6: // Artist
|
|
||||||
return ll->artist();
|
|
||||||
|
|
||||||
case 7: // Client
|
|
||||||
return ll->client();
|
|
||||||
|
|
||||||
case 8: // Agency
|
|
||||||
return ll->agency();
|
|
||||||
|
|
||||||
case 9: // Label
|
|
||||||
return ll->markerLabel();
|
|
||||||
|
|
||||||
case 10: // Source
|
|
||||||
return RDLogLine::sourceText(ll->source());
|
|
||||||
|
|
||||||
case 11: // Ext Data
|
|
||||||
return ll->extData();
|
|
||||||
|
|
||||||
case 12: // Line ID
|
|
||||||
return QString().sprintf("%d",ll->id());
|
|
||||||
|
|
||||||
case 13: // Count
|
|
||||||
return QString().sprintf("%d",row);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::DecorationRole:
|
case Qt::DecorationRole:
|
||||||
if(col==0) {
|
return cellIcon(col,row,ll);
|
||||||
return d_log_icons->typeIcon(ll->type(),ll->source());
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::FontRole:
|
case Qt::FontRole:
|
||||||
if(col==3) {
|
return cellTextFont(col,row,ll);
|
||||||
return d_bold_font;
|
|
||||||
}
|
|
||||||
return d_font;
|
|
||||||
|
|
||||||
case Qt::TextColorRole:
|
case Qt::TextColorRole:
|
||||||
switch(col) {
|
return cellTextColor(col,row,ll);
|
||||||
case 0:
|
|
||||||
if(ll->timeType()==RDLogLine::Hard) {
|
|
||||||
return Qt::blue;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
return ll->groupColor();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::BackgroundRole:
|
case Qt::BackgroundRole:
|
||||||
return backgroundColor(row,ll);
|
return rowBackgroundColor(row,ll);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -319,6 +216,8 @@ int RDLogModel::load(bool track_ptrs)
|
|||||||
QString sql;
|
QString sql;
|
||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
|
|
||||||
|
beginResetModel();
|
||||||
|
|
||||||
//
|
//
|
||||||
// Get the service name
|
// Get the service name
|
||||||
//
|
//
|
||||||
@ -336,10 +235,7 @@ int RDLogModel::load(bool track_ptrs)
|
|||||||
|
|
||||||
LoadLines(d_log_name,0,track_ptrs);
|
LoadLines(d_log_name,0,track_ptrs);
|
||||||
|
|
||||||
if(lineCount()>0) {
|
endResetModel();
|
||||||
beginInsertRows(QModelIndex(),0,lineCount()-1);
|
|
||||||
endInsertRows();
|
|
||||||
}
|
|
||||||
|
|
||||||
return d_log_lines.size();
|
return d_log_lines.size();
|
||||||
}
|
}
|
||||||
@ -517,7 +413,7 @@ int RDLogModel::validate(QString *report,const QDate &date)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDLogModel::refresh(int line)
|
void RDLogModel::update(int line)
|
||||||
{
|
{
|
||||||
if(d_log_name.isEmpty()) {
|
if(d_log_name.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
@ -1606,7 +1502,140 @@ void RDLogModel::emitAllDataChanged()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QColor RDLogModel::backgroundColor(int line,RDLogLine *ll) const
|
QStringList RDLogModel::headerTexts() const
|
||||||
|
{
|
||||||
|
QStringList ret;
|
||||||
|
|
||||||
|
ret.push_back(tr("Start Time"));
|
||||||
|
ret.push_back(tr("Trans"));
|
||||||
|
ret.push_back(tr("Cart"));
|
||||||
|
ret.push_back(tr("Group"));
|
||||||
|
ret.push_back(tr("Length"));
|
||||||
|
ret.push_back(tr("Title"));
|
||||||
|
ret.push_back(tr("Artist"));
|
||||||
|
ret.push_back(tr("Client"));
|
||||||
|
ret.push_back(tr("Agency"));
|
||||||
|
ret.push_back(tr("Label"));
|
||||||
|
ret.push_back(tr("Source"));
|
||||||
|
ret.push_back(tr("Ext Data"));
|
||||||
|
ret.push_back(tr("Line ID"));
|
||||||
|
ret.push_back(tr("Count"));
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QList<int> RDLogModel::columnAlignments() const
|
||||||
|
{
|
||||||
|
QList<int> ret;
|
||||||
|
int left=Qt::AlignLeft|Qt::AlignVCenter;
|
||||||
|
int center=Qt::AlignCenter;
|
||||||
|
int right=Qt::AlignRight|Qt::AlignVCenter;
|
||||||
|
|
||||||
|
ret.push_back(right); // Start Time
|
||||||
|
ret.push_back(center); // Trans
|
||||||
|
ret.push_back(center); // Cart
|
||||||
|
ret.push_back(center); // Group
|
||||||
|
ret.push_back(right); // Length
|
||||||
|
ret.push_back(left); // Title
|
||||||
|
ret.push_back(left); // Artist
|
||||||
|
ret.push_back(left); // Client
|
||||||
|
ret.push_back(left); // Agency
|
||||||
|
ret.push_back(left); // Label
|
||||||
|
ret.push_back(left); // Source
|
||||||
|
ret.push_back(left); // Ext Data
|
||||||
|
ret.push_back(right); // Line ID
|
||||||
|
ret.push_back(right); // Count
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QPixmap RDLogModel::cellIcon(int col,int row,RDLogLine *ll) const
|
||||||
|
{
|
||||||
|
if(col==0) {
|
||||||
|
return d_log_icons->typeIcon(ll->type(),ll->source());
|
||||||
|
}
|
||||||
|
return QPixmap();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString RDLogModel::cellText(int col,int line,RDLogLine *ll) const
|
||||||
|
{
|
||||||
|
switch(col) {
|
||||||
|
case 0: // Start Time
|
||||||
|
return StartTimeString(line);
|
||||||
|
|
||||||
|
case 1: // Transition
|
||||||
|
return RDLogLine::transText(ll->transType());
|
||||||
|
|
||||||
|
case 2: // Cart Number
|
||||||
|
return ll->cartNumberText();
|
||||||
|
|
||||||
|
case 3: // Group
|
||||||
|
return ll->groupName();
|
||||||
|
|
||||||
|
case 4: // Length
|
||||||
|
return ll->forcedLengthText();
|
||||||
|
|
||||||
|
case 5: // Title
|
||||||
|
return ll->titleText();
|
||||||
|
|
||||||
|
case 6: // Artist
|
||||||
|
return ll->artist();
|
||||||
|
|
||||||
|
case 7: // Client
|
||||||
|
return ll->client();
|
||||||
|
|
||||||
|
case 8: // Agency
|
||||||
|
return ll->agency();
|
||||||
|
|
||||||
|
case 9: // Label
|
||||||
|
return ll->markerLabel();
|
||||||
|
|
||||||
|
case 10: // Source
|
||||||
|
return RDLogLine::sourceText(ll->source());
|
||||||
|
|
||||||
|
case 11: // Ext Data
|
||||||
|
return ll->extData();
|
||||||
|
|
||||||
|
case 12: // Line ID
|
||||||
|
return QString().sprintf("%d",ll->id());
|
||||||
|
|
||||||
|
case 13: // Count
|
||||||
|
return QString().sprintf("%d",line);
|
||||||
|
}
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QFont RDLogModel::cellTextFont(int col,int line,RDLogLine *ll) const
|
||||||
|
{
|
||||||
|
if(col==3) {
|
||||||
|
return d_bold_font;
|
||||||
|
}
|
||||||
|
return d_font;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QColor RDLogModel::cellTextColor(int col,int line,RDLogLine *ll) const
|
||||||
|
{
|
||||||
|
switch(col) {
|
||||||
|
case 0:
|
||||||
|
if(ll->timeType()==RDLogLine::Hard) {
|
||||||
|
return Qt::blue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
return ll->groupColor();
|
||||||
|
}
|
||||||
|
|
||||||
|
return d_palette.color(QPalette::Foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QColor RDLogModel::rowBackgroundColor(int line,RDLogLine *ll) const
|
||||||
{
|
{
|
||||||
return d_palette.color(QPalette::Base);
|
return d_palette.color(QPalette::Base);
|
||||||
}
|
}
|
||||||
@ -1620,52 +1649,16 @@ void RDLogModel::MakeModel()
|
|||||||
d_start_time_style=RDLogModel::Scheduled;
|
d_start_time_style=RDLogModel::Scheduled;
|
||||||
d_max_id=0;
|
d_max_id=0;
|
||||||
|
|
||||||
//
|
QStringList headers=headerTexts();
|
||||||
// Column Attributes
|
QList<int> alignments=columnAlignments();
|
||||||
//
|
|
||||||
unsigned left=Qt::AlignLeft|Qt::AlignVCenter;
|
|
||||||
unsigned center=Qt::AlignCenter;
|
|
||||||
unsigned right=Qt::AlignRight|Qt::AlignVCenter;
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Start Time"));
|
if(headers.size()!=alignments.size()) {
|
||||||
d_alignments.push_back(right);
|
fprintf(stderr,"header/alignment size mismatch\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
d_headers.push_back(tr("Trans"));
|
for(int i=0;i<headers.size();i++) {
|
||||||
d_alignments.push_back(center);
|
d_headers.push_back(headers.at(i));
|
||||||
|
d_alignments.push_back(alignments.at(i));
|
||||||
d_headers.push_back(tr("Cart"));
|
}
|
||||||
d_alignments.push_back(center);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Group"));
|
|
||||||
d_alignments.push_back(center);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Length"));
|
|
||||||
d_alignments.push_back(right);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Title"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Artist"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Client"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Agency"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Label"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Source"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Ext Data"));
|
|
||||||
d_alignments.push_back(left);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Line ID"));
|
|
||||||
d_alignments.push_back(right);
|
|
||||||
|
|
||||||
d_headers.push_back(tr("Count"));
|
|
||||||
d_alignments.push_back(right);
|
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,8 @@ class RDLogModel : public QAbstractTableModel
|
|||||||
~RDLogModel();
|
~RDLogModel();
|
||||||
QPalette palette();
|
QPalette palette();
|
||||||
void setPalette(const QPalette &pal);
|
void setPalette(const QPalette &pal);
|
||||||
|
QFont normalFont() const;
|
||||||
|
QFont boldFont() const;
|
||||||
void setFont(const QFont &font);
|
void setFont(const QFont &font);
|
||||||
int columnCount(const QModelIndex &parent=QModelIndex()) const;
|
int columnCount(const QModelIndex &parent=QModelIndex()) const;
|
||||||
int rowCount(const QModelIndex &parent=QModelIndex()) const;
|
int rowCount(const QModelIndex &parent=QModelIndex()) const;
|
||||||
@ -58,7 +60,7 @@ class RDLogModel : public QAbstractTableModel
|
|||||||
int append(const QString &logname,bool track_ptrs=false);
|
int append(const QString &logname,bool track_ptrs=false);
|
||||||
int validate(QString *report,const QDate &date);
|
int validate(QString *report,const QDate &date);
|
||||||
void clear();
|
void clear();
|
||||||
void refresh(int line);
|
void update(int line);
|
||||||
int lineCount() const;
|
int lineCount() const;
|
||||||
void insert(int line,int num_lines,bool preserve_trans=false);
|
void insert(int line,int num_lines,bool preserve_trans=false);
|
||||||
void remove(int line,int num_lines,bool preserve_trans=false);
|
void remove(int line,int num_lines,bool preserve_trans=false);
|
||||||
@ -89,7 +91,13 @@ class RDLogModel : public QAbstractTableModel
|
|||||||
protected:
|
protected:
|
||||||
void emitDataChanged(int row);
|
void emitDataChanged(int row);
|
||||||
void emitAllDataChanged();
|
void emitAllDataChanged();
|
||||||
virtual QColor backgroundColor(int line,RDLogLine *ll) const;
|
virtual QStringList headerTexts() const;
|
||||||
|
virtual QList<int> columnAlignments() const;
|
||||||
|
virtual QPixmap cellIcon(int col,int row,RDLogLine *ll) const;
|
||||||
|
virtual QString cellText(int col,int line,RDLogLine *ll) const;
|
||||||
|
virtual QFont cellTextFont(int col,int line,RDLogLine *ll) const;
|
||||||
|
virtual QColor cellTextColor(int col,int line,RDLogLine *ll) const;
|
||||||
|
virtual QColor rowBackgroundColor(int line,RDLogLine *ll) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString StartTimeString(int line) const;
|
QString StartTimeString(int line) const;
|
||||||
|
@ -55,6 +55,7 @@ RDLogPlay::RDLogPlay(int id,RDEventPlayer *player,QObject *parent)
|
|||||||
play_duck_volume_port1=0;
|
play_duck_volume_port1=0;
|
||||||
play_duck_volume_port2=0;
|
play_duck_volume_port2=0;
|
||||||
play_start_next=false;
|
play_start_next=false;
|
||||||
|
play_time_mode=RDAirPlayConf::TwentyFourHour;
|
||||||
play_running=false;
|
play_running=false;
|
||||||
play_next_line=0;
|
play_next_line=0;
|
||||||
play_post_time=QTime();
|
play_post_time=QTime();
|
||||||
@ -71,6 +72,9 @@ RDLogPlay::RDLogPlay(int id,RDEventPlayer *player,QObject *parent)
|
|||||||
for(int i=0;i<LOGPLAY_MAX_PLAYS;i++) {
|
for(int i=0;i<LOGPLAY_MAX_PLAYS;i++) {
|
||||||
play_slot_id[i]=i;
|
play_slot_id[i]=i;
|
||||||
}
|
}
|
||||||
|
for(int i=0;i<24;i++) {
|
||||||
|
play_hours[i]=false;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// PAD Server Connection
|
// PAD Server Connection
|
||||||
@ -221,7 +225,7 @@ void RDLogPlay::setOpMode(RDAirPlayConf::OpMode mode)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
play_op_mode=mode;
|
play_op_mode=mode;
|
||||||
UpdateStartTimes(play_line_counter);
|
UpdateStartTimes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -508,7 +512,7 @@ void RDLogPlay::makeNext(int line,bool refresh_status)
|
|||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
emit nextEventChanged(line);
|
emit nextEventChanged(line);
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -560,10 +564,11 @@ void RDLogPlay::load()
|
|||||||
delete log;
|
delete log;
|
||||||
play_line_counter=0;
|
play_line_counter=0;
|
||||||
play_next_line=0;
|
play_next_line=0;
|
||||||
UpdateStartTimes(0);
|
// UpdateStartTimes(0);
|
||||||
|
UpdateStartTimes();
|
||||||
emit reloaded();
|
emit reloaded();
|
||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
if((running>0)&&(lineCount()>running)) {
|
if((running>0)&&(lineCount()>running)) {
|
||||||
makeNext(running);
|
makeNext(running);
|
||||||
@ -601,10 +606,10 @@ void RDLogPlay::append(const QString &log_name)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
RefreshEvents(old_size,lineCount()-old_size);
|
RefreshEvents(old_size,lineCount()-old_size);
|
||||||
UpdateStartTimes(old_size);
|
UpdateStartTimes();
|
||||||
emit reloaded();
|
emit reloaded();
|
||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -755,10 +760,10 @@ bool RDLogPlay::refresh()
|
|||||||
logLine(i)->clearPass();
|
logLine(i)->clearPass();
|
||||||
}
|
}
|
||||||
RefreshEvents(0,lineCount());
|
RefreshEvents(0,lineCount());
|
||||||
UpdateStartTimes(next_line);
|
UpdateStartTimes();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
emit reloaded();
|
emit reloaded();
|
||||||
if(play_refreshable) {
|
if(play_refreshable) {
|
||||||
play_refreshable=false;
|
play_refreshable=false;
|
||||||
@ -854,19 +859,20 @@ void RDLogPlay::insert(int line,int cartnum,RDLogLine::TransType next_type,
|
|||||||
logline->loadCart(cartnum,next_type,play_id,play_timescaling_available,type);
|
logline->loadCart(cartnum,next_type,play_id,play_timescaling_available,type);
|
||||||
logline->
|
logline->
|
||||||
setTimescalingActive(play_timescaling_available&&logline->enforceLength());
|
setTimescalingActive(play_timescaling_available&&logline->enforceLength());
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
emit inserted(line);
|
emit inserted(line);
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
if(mod_line>=0) {
|
if(mod_line>=0) {
|
||||||
emit modified(mod_line);
|
emit modified(mod_line);
|
||||||
}
|
}
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDLogPlay::insert(int line,RDLogLine *l,bool update,bool preserv_custom_transition)
|
void RDLogPlay::insert(int line,RDLogLine *l,bool update,
|
||||||
|
bool preserv_custom_transition)
|
||||||
{
|
{
|
||||||
RDLogLine *logline;
|
RDLogLine *logline;
|
||||||
int lines[TRANSPORT_QUANTITY];
|
int lines[TRANSPORT_QUANTITY];
|
||||||
@ -908,13 +914,13 @@ void RDLogPlay::insert(int line,RDLogLine *l,bool update,bool preserv_custom_tra
|
|||||||
logline->
|
logline->
|
||||||
setTimescalingActive(play_timescaling_available&&logline->enforceLength());
|
setTimescalingActive(play_timescaling_available&&logline->enforceLength());
|
||||||
if(update) {
|
if(update) {
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
emit inserted(line);
|
emit inserted(line);
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
if(mod_line>=0) {
|
if(mod_line>=0) {
|
||||||
emit modified(mod_line);
|
emit modified(mod_line);
|
||||||
}
|
}
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
}
|
}
|
||||||
@ -971,14 +977,14 @@ void RDLogPlay::remove(int line,int num_lines,bool update,
|
|||||||
if(nextLine()>line) {
|
if(nextLine()>line) {
|
||||||
makeNext(nextLine()-num_lines);
|
makeNext(nextLine()-num_lines);
|
||||||
}
|
}
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
if(lineCount()==0) {
|
if(lineCount()==0) {
|
||||||
emit reloaded();
|
emit reloaded();
|
||||||
}
|
}
|
||||||
if(mod_line>=0) {
|
if(mod_line>=0) {
|
||||||
emit modified(mod_line);
|
emit modified(mod_line);
|
||||||
}
|
}
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
}
|
}
|
||||||
@ -1050,12 +1056,7 @@ void RDLogPlay::move(int from_line,int to_line)
|
|||||||
offset=1;
|
offset=1;
|
||||||
}
|
}
|
||||||
RDLogModel::move(from_line,to_line);
|
RDLogModel::move(from_line,to_line);
|
||||||
if(from_line>to_line) {
|
UpdateStartTimes();
|
||||||
UpdateStartTimes(to_line);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
UpdateStartTimes(from_line);
|
|
||||||
}
|
|
||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
emit inserted(to_line);
|
emit inserted(to_line);
|
||||||
@ -1072,7 +1073,7 @@ void RDLogPlay::move(int from_line,int to_line)
|
|||||||
makeNext(nextLine()+1);
|
makeNext(nextLine()+1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1297,7 +1298,7 @@ void RDLogPlay::lineModified(int line)
|
|||||||
RDLogLine *next_logline;
|
RDLogLine *next_logline;
|
||||||
|
|
||||||
SetTransTimer();
|
SetTransTimer();
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
|
|
||||||
if((logline=logLine(line))!=NULL) {
|
if((logline=logLine(line))!=NULL) {
|
||||||
if((next_logline=logLine(line+1))==NULL) {
|
if((next_logline=logLine(line+1))==NULL) {
|
||||||
@ -1317,7 +1318,7 @@ void RDLogPlay::lineModified(int line)
|
|||||||
line=lines[count-1];
|
line=lines[count-1];
|
||||||
}
|
}
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1362,6 +1363,25 @@ QTime RDLogPlay::nextStop() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int RDLogPlay::startOfHour(int hour) const
|
||||||
|
{
|
||||||
|
for(int i=0;i<lineCount();i++) {
|
||||||
|
RDLogLine *ll=logLine(i);
|
||||||
|
if(ll->startTime(RDLogLine::Predicted).isValid()) {
|
||||||
|
if(ll->startTime(RDLogLine::Predicted).hour()==hour) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(ll->startTime(RDLogLine::Imported).isValid()) {
|
||||||
|
if(ll->startTime(RDLogLine::Imported).hour()==hour) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool RDLogPlay::running(bool include_paused)
|
bool RDLogPlay::running(bool include_paused)
|
||||||
{
|
{
|
||||||
if(runningEvents(NULL,include_paused)==0) {
|
if(runningEvents(NULL,include_paused)==0) {
|
||||||
@ -1388,6 +1408,15 @@ bool RDLogPlay::isRefreshable() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RDLogPlay::setTimeMode(RDAirPlayConf::TimeMode mode)
|
||||||
|
{
|
||||||
|
if(play_time_mode!=mode) {
|
||||||
|
play_time_mode=mode;
|
||||||
|
emit dataChanged(createIndex(0,0),createIndex(0,lineCount()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDLogPlay::transTimerData()
|
void RDLogPlay::transTimerData()
|
||||||
{
|
{
|
||||||
int lines[TRANSPORT_QUANTITY];
|
int lines[TRANSPORT_QUANTITY];
|
||||||
@ -1553,11 +1582,11 @@ void RDLogPlay::segueEndData(int id)
|
|||||||
(logline->status()==RDLogLine::Finishing)) {
|
(logline->status()==RDLogLine::Finishing)) {
|
||||||
((RDPlayDeck *)logline->playDeck())->stop();
|
((RDPlayDeck *)logline->playDeck())->stop();
|
||||||
CleanupEvent(id);
|
CleanupEvent(id);
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
||||||
RDAirPlayConf::TrafficFinish,play_onair_flag);
|
RDAirPlayConf::TrafficFinish,play_onair_flag);
|
||||||
emit stopped(line);
|
emit stopped(line);
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1609,10 +1638,10 @@ void RDLogPlay::macroStartedData()
|
|||||||
logline->
|
logline->
|
||||||
setStartTime(RDLogLine::Initial,
|
setStartTime(RDLogLine::Initial,
|
||||||
QTime::currentTime().addMSecs(rda->station()->timeOffset()));
|
QTime::currentTime().addMSecs(rda->station()->timeOffset()));
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
emit played(line);
|
emit played(line);
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1636,7 +1665,7 @@ void RDLogPlay::macroFinishedData()
|
|||||||
refresh();
|
refresh();
|
||||||
play_refresh_pending=false;
|
play_refresh_pending=false;
|
||||||
}
|
}
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1654,7 +1683,7 @@ void RDLogPlay::macroStoppedData()
|
|||||||
RDAirPlayConf::TrafficMacro,play_onair_flag);
|
RDAirPlayConf::TrafficMacro,play_onair_flag);
|
||||||
}
|
}
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1757,6 +1786,118 @@ void RDLogPlay::notificationReceivedData(RDNotification *notify)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString RDLogPlay::cellText(int col,int row,RDLogLine *ll) const
|
||||||
|
{
|
||||||
|
if(col==0) { // Start time
|
||||||
|
if((ll->status()==RDLogLine::Scheduled)||
|
||||||
|
(ll->status()==RDLogLine::Paused)) {
|
||||||
|
if(ll->timeType()==RDLogLine::Hard) {
|
||||||
|
return tr("T")+TimeString(ll->startTime(RDLogLine::Logged));
|
||||||
|
}
|
||||||
|
if(!ll->startTime(RDLogLine::Predicted).isNull()) {
|
||||||
|
return TimeString(ll->startTime(RDLogLine::Predicted));
|
||||||
|
}
|
||||||
|
return QString("");
|
||||||
|
}
|
||||||
|
return TimeString(ll->startTime(RDLogLine::Actual));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(((ll->cutNumber()<0)&&(ll->type()==RDLogLine::Cart))) {
|
||||||
|
if(col==5) { // Title
|
||||||
|
if(ll->state()==RDLogLine::NoCart) {
|
||||||
|
return tr("[CART NOT FOUND]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(col==6) { // Artist
|
||||||
|
if(ll->state()==RDLogLine::NoCut) {
|
||||||
|
return tr("[NO AUDIO AVAILABLE]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return RDLogModel::cellText(col,row,ll);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QFont RDLogPlay::cellTextFont(int col,int row,RDLogLine *ll) const
|
||||||
|
{
|
||||||
|
if(ll->timeType()==RDLogLine::Hard) {
|
||||||
|
return boldFont();
|
||||||
|
}
|
||||||
|
|
||||||
|
return RDLogModel::cellTextFont(col,row,ll);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QColor RDLogPlay::cellTextColor(int col,int row,RDLogLine *ll) const
|
||||||
|
{
|
||||||
|
if(col==3) {
|
||||||
|
return ll->groupColor();
|
||||||
|
}
|
||||||
|
if(ll->timeType()==RDLogLine::Hard) {
|
||||||
|
return Qt::blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RDLogModel::cellTextColor(col,row,ll);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QColor RDLogPlay::rowBackgroundColor(int row,RDLogLine *ll) const
|
||||||
|
{
|
||||||
|
switch(ll->status()) {
|
||||||
|
case RDLogLine::Scheduled:
|
||||||
|
case RDLogLine::Auditioning:
|
||||||
|
if((ll->type()==RDLogLine::Cart)&&
|
||||||
|
(ll->state()==RDLogLine::NoCart)) {
|
||||||
|
return LOG_ERROR_COLOR;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(((ll->cutNumber()<0)&&(ll->type()==RDLogLine::Cart))||
|
||||||
|
(ll->state()==RDLogLine::NoCut)) {
|
||||||
|
if((play_next_line>=0)&&(play_next_line==row)) {
|
||||||
|
return LOG_NEXT_COLOR;
|
||||||
|
}
|
||||||
|
return LOG_ERROR_COLOR;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if((play_next_line>=0)&&(play_next_line==row)) {
|
||||||
|
if(ll->evergreen()) {
|
||||||
|
return LOG_EVERGREEN_COLOR;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return LOG_NEXT_COLOR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(ll->evergreen()) {
|
||||||
|
return LOG_EVERGREEN_COLOR;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return LOG_SCHEDULED_COLOR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RDLogLine::Playing:
|
||||||
|
case RDLogLine::Finishing:
|
||||||
|
return LOG_PLAYING_COLOR;
|
||||||
|
|
||||||
|
case RDLogLine::Paused:
|
||||||
|
return LOG_PAUSED_COLOR;
|
||||||
|
|
||||||
|
case RDLogLine::Finished:
|
||||||
|
if(ll->state()==RDLogLine::Ok) {
|
||||||
|
return LOG_FINISHED_COLOR;
|
||||||
|
}
|
||||||
|
return LOG_ERROR_COLOR;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RDLogModel::rowBackgroundColor(row,ll);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type,
|
bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type,
|
||||||
int trans_length,RDLogLine::StartSource src,
|
int trans_length,RDLogLine::StartSource src,
|
||||||
int mport,int duck_length)
|
int mport,int duck_length)
|
||||||
@ -1980,7 +2121,7 @@ bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type,
|
|||||||
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
||||||
RDAirPlayConf::TrafficMacro,play_onair_flag);
|
RDAirPlayConf::TrafficMacro,play_onair_flag);
|
||||||
FinishEvent(line);
|
FinishEvent(line);
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
rda->syslog(LOG_INFO,
|
rda->syslog(LOG_INFO,
|
||||||
"log engine: asynchronously executed macro cart: Line: %d Cart: %u",
|
"log engine: asynchronously executed macro cart: Line: %d Cart: %u",
|
||||||
line,logline->cartNumber());
|
line,logline->cartNumber());
|
||||||
@ -2018,7 +2159,7 @@ bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type,
|
|||||||
// Skip Past
|
// Skip Past
|
||||||
//
|
//
|
||||||
logline->setStatus(RDLogLine::Finished);
|
logline->setStatus(RDLogLine::Finished);
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
emit played(line);
|
emit played(line);
|
||||||
FinishEvent(line);
|
FinishEvent(line);
|
||||||
emit nextEventChanged(play_next_line);
|
emit nextEventChanged(play_next_line);
|
||||||
@ -2160,7 +2301,7 @@ void RDLogPlay::CleanupEvent(int id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDLogPlay::UpdateStartTimes(int line)
|
void RDLogPlay::UpdateStartTimes()
|
||||||
{
|
{
|
||||||
QTime time;
|
QTime time;
|
||||||
QTime new_time;
|
QTime new_time;
|
||||||
@ -2176,13 +2317,13 @@ void RDLogPlay::UpdateStartTimes(int line)
|
|||||||
RDLogLine *next_logline;
|
RDLogLine *next_logline;
|
||||||
RDLogLine::TransType next_trans;
|
RDLogLine::TransType next_trans;
|
||||||
int lines[TRANSPORT_QUANTITY];
|
int lines[TRANSPORT_QUANTITY];
|
||||||
|
bool hours[24]={false};
|
||||||
|
int line=play_next_line;
|
||||||
|
|
||||||
if((running=runningEvents(lines,false))>0) {
|
if((running=runningEvents(lines,false))>0) {
|
||||||
line=lines[0];
|
line=lines[0];
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
line=play_next_line;
|
|
||||||
}
|
|
||||||
for(int i=line;i<lineCount();i++) {
|
for(int i=line;i<lineCount();i++) {
|
||||||
if((logline=logLine(i))!=NULL) {
|
if((logline=logLine(i))!=NULL) {
|
||||||
if((next_logline=logLine(nextLine(i)))!=NULL) {
|
if((next_logline=logLine(nextLine(i)))!=NULL) {
|
||||||
@ -2192,21 +2333,19 @@ void RDLogPlay::UpdateStartTimes(int line)
|
|||||||
next_trans=RDLogLine::Stop;
|
next_trans=RDLogLine::Stop;
|
||||||
}
|
}
|
||||||
stop=false;
|
stop=false;
|
||||||
switch(logline->status()) {
|
if((logline->status()==RDLogLine::Playing)||
|
||||||
case RDLogLine::Playing:
|
(logline->status()==RDLogLine::Finishing)){
|
||||||
case RDLogLine::Finishing:
|
|
||||||
time=logline->startTime(RDLogLine::Actual);
|
time=logline->startTime(RDLogLine::Actual);
|
||||||
break;
|
}
|
||||||
|
else {
|
||||||
default:
|
|
||||||
time=GetStartTime(logline->startTime(RDLogLine::Logged),
|
time=GetStartTime(logline->startTime(RDLogLine::Logged),
|
||||||
logline->transType(),
|
logline->transType(),
|
||||||
logline->timeType(),
|
logline->timeType(),
|
||||||
time,prev_total_length,prev_segue_length,
|
time,prev_total_length,prev_segue_length,
|
||||||
&stop,running);
|
&stop,running);
|
||||||
logline->setStartTime(RDLogLine::Predicted,time);
|
logline->setStartTime(RDLogLine::Predicted,time);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(stop&&(!stop_set)) {
|
if(stop&&(!stop_set)) {
|
||||||
next_stop=time.addMSecs(prev_total_length);
|
next_stop=time.addMSecs(prev_total_length);
|
||||||
stop_set=true;
|
stop_set=true;
|
||||||
@ -2220,23 +2359,19 @@ void RDLogPlay::UpdateStartTimes(int line)
|
|||||||
time.addMSecs(logline->effectiveLength()-
|
time.addMSecs(logline->effectiveLength()-
|
||||||
logline->playPosition());
|
logline->playPosition());
|
||||||
|
|
||||||
switch(logline->status()) {
|
if((logline->status()==RDLogLine::Scheduled)||
|
||||||
case RDLogLine::Scheduled:
|
(logline->status()==RDLogLine::Paused)) {
|
||||||
case RDLogLine::Paused:
|
|
||||||
prev_total_length=logline->effectiveLength()-
|
prev_total_length=logline->effectiveLength()-
|
||||||
logline->playPosition();
|
logline->playPosition();
|
||||||
prev_segue_length=
|
prev_segue_length=
|
||||||
logline->segueLength(next_trans)-logline->playPosition();
|
logline->segueLength(next_trans)-logline->playPosition();
|
||||||
end_time=
|
end_time=
|
||||||
time.addMSecs(logline->effectiveLength()-
|
time.addMSecs(logline->effectiveLength()-logline->playPosition());
|
||||||
logline->playPosition());
|
}
|
||||||
break;
|
else {
|
||||||
default:
|
|
||||||
prev_total_length=logline->effectiveLength();
|
prev_total_length=logline->effectiveLength();
|
||||||
prev_segue_length=
|
prev_segue_length=logline->segueLength(next_trans);
|
||||||
logline->segueLength(next_trans);
|
end_time=time.addMSecs(logline->effectiveLength());
|
||||||
end_time=
|
|
||||||
time.addMSecs(logline->effectiveLength());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2246,6 +2381,27 @@ void RDLogPlay::UpdateStartTimes(int line)
|
|||||||
play_next_stop=next_stop;
|
play_next_stop=next_stop;
|
||||||
emit nextStopChanged(play_next_stop);
|
emit nextStopChanged(play_next_stop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emit dataChanged(createIndex(0,0),createIndex(0,lineCount()));
|
||||||
|
|
||||||
|
for(int i=0;i<lineCount();i++) {
|
||||||
|
RDLogLine *ll=logLine(i);
|
||||||
|
if(ll->startTime(RDLogLine::Predicted).isValid()) {
|
||||||
|
hours[ll->startTime(RDLogLine::Predicted).hour()]=true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(ll->startTime(RDLogLine::Imported).isValid()) {
|
||||||
|
hours[ll->startTime(RDLogLine::Imported).hour()]=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(int i=0;i<24;i++) {
|
||||||
|
if(hours[i]!=play_hours[i]) {
|
||||||
|
emit hourChanged(i,hours[i]);
|
||||||
|
play_hours[i]=hours[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SendNowNext();
|
SendNowNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2274,7 +2430,7 @@ void RDLogPlay::FinishEvent(int line)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
emit stopped(line);
|
emit stopped(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2454,7 +2610,6 @@ void RDLogPlay::AdvanceActiveEvent()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//if(line<(size()-1)) {
|
|
||||||
if(line<(lineCount())) {
|
if(line<(lineCount())) {
|
||||||
RDLogLine *logline;
|
RDLogLine *logline;
|
||||||
if((logline=logLine(line+1))!=NULL) {
|
if((logline=logLine(line+1))!=NULL) {
|
||||||
@ -2601,8 +2756,9 @@ bool RDLogPlay::GetNextPlayable(int *line,bool skip_meta,bool forced_start)
|
|||||||
emit modified(i);
|
emit modified(i);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(logline->status()==RDLogLine::Scheduled || logline->status()==RDLogLine::Paused ||
|
if((logline->status()==RDLogLine::Scheduled)||
|
||||||
logline->status()==RDLogLine::Auditioning) {
|
(logline->status()==RDLogLine::Paused)||
|
||||||
|
(logline->status()==RDLogLine::Auditioning)) {
|
||||||
if(((logline->transType()==RDLogLine::Stop)||
|
if(((logline->transType()==RDLogLine::Stop)||
|
||||||
(play_op_mode==RDAirPlayConf::LiveAssist))&&((i-skipped)!=*line)) {
|
(play_op_mode==RDAirPlayConf::LiveAssist))&&((i-skipped)!=*line)) {
|
||||||
makeNext(i);
|
makeNext(i);
|
||||||
@ -2656,8 +2812,6 @@ void RDLogPlay::LogPlayEvent(RDLogLine *logline)
|
|||||||
|
|
||||||
void RDLogPlay::RefreshEvents(int line,int line_quan,bool force_update)
|
void RDLogPlay::RefreshEvents(int line,int line_quan,bool force_update)
|
||||||
{
|
{
|
||||||
//QTime st=QTime::currentTime();
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Check Event Status
|
// Check Event Status
|
||||||
//
|
//
|
||||||
@ -2698,6 +2852,16 @@ void RDLogPlay::RefreshEvents(int line,int line_quan,bool force_update)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RDLogPlay::ChangeTransport()
|
||||||
|
{
|
||||||
|
emit transportChanged();
|
||||||
|
if(play_next_line>=0) {
|
||||||
|
emit dataChanged(createIndex(play_next_line,0),
|
||||||
|
createIndex(play_next_line+6,columnCount()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDLogPlay::Playing(int id)
|
void RDLogPlay::Playing(int id)
|
||||||
{
|
{
|
||||||
RDLogLine *logline;
|
RDLogLine *logline;
|
||||||
@ -2706,7 +2870,7 @@ void RDLogPlay::Playing(int id)
|
|||||||
if((logline=logLine(line))==NULL) {
|
if((logline=logLine(line))==NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
emit played(line);
|
emit played(line);
|
||||||
AdvanceActiveEvent();
|
AdvanceActiveEvent();
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
@ -2717,7 +2881,7 @@ void RDLogPlay::Playing(int id)
|
|||||||
play_grace_timer->stop();
|
play_grace_timer->stop();
|
||||||
}
|
}
|
||||||
LogPlayEvent(logline);
|
LogPlayEvent(logline);
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2730,12 +2894,12 @@ void RDLogPlay::Paused(int id)
|
|||||||
logline->setPortName("");
|
logline->setPortName("");
|
||||||
logline->setStatus(RDLogLine::Paused);
|
logline->setStatus(RDLogLine::Paused);
|
||||||
}
|
}
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
emit paused(line);
|
emit paused(line);
|
||||||
UpdatePostPoint();
|
UpdatePostPoint();
|
||||||
LogTraffic(logLine(line),(RDLogLine::PlaySource)(play_id+1),
|
LogTraffic(logLine(line),(RDLogLine::PlaySource)(play_id+1),
|
||||||
RDAirPlayConf::TrafficPause,play_onair_flag);
|
RDAirPlayConf::TrafficPause,play_onair_flag);
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2749,7 +2913,7 @@ void RDLogPlay::Stopped(int id)
|
|||||||
int line=GetLineById(id);
|
int line=GetLineById(id);
|
||||||
int lines[TRANSPORT_QUANTITY];
|
int lines[TRANSPORT_QUANTITY];
|
||||||
CleanupEvent(id);
|
CleanupEvent(id);
|
||||||
UpdateStartTimes(line);
|
UpdateStartTimes();
|
||||||
emit stopped(line);
|
emit stopped(line);
|
||||||
LogTraffic(logLine(line),(RDLogLine::PlaySource)(play_id+1),
|
LogTraffic(logLine(line),(RDLogLine::PlaySource)(play_id+1),
|
||||||
RDAirPlayConf::TrafficStop,play_onair_flag);
|
RDAirPlayConf::TrafficStop,play_onair_flag);
|
||||||
@ -2763,7 +2927,7 @@ void RDLogPlay::Stopped(int id)
|
|||||||
if(runningEvents(lines)==0) {
|
if(runningEvents(lines)==0) {
|
||||||
next_channel=0;
|
next_channel=0;
|
||||||
}
|
}
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2793,7 +2957,7 @@ void RDLogPlay::Finished(int id)
|
|||||||
}
|
}
|
||||||
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
||||||
RDAirPlayConf::TrafficFinish,play_onair_flag);
|
RDAirPlayConf::TrafficFinish,play_onair_flag);
|
||||||
emit transportChanged();
|
ChangeTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2839,6 +3003,24 @@ RDLogLine::TransType RDLogPlay::GetTransType(const QString &logname,int line)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString RDLogPlay::TimeString(const QTime &time) const
|
||||||
|
{
|
||||||
|
QString ret;
|
||||||
|
switch(play_time_mode) {
|
||||||
|
case RDAirPlayConf::TwelveHour:
|
||||||
|
ret=time.toString("h:mm:ss.zzz");
|
||||||
|
ret=ret.left(ret.length()-2);
|
||||||
|
ret+=(" "+time.toString("ap"));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RDAirPlayConf::TwentyFourHour:
|
||||||
|
ret=time.toString("hh:mm:ss.zzz").left(10);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool RDLogPlay::ClearBlock(int start_line)
|
bool RDLogPlay::ClearBlock(int start_line)
|
||||||
{
|
{
|
||||||
RDLogLine::Status status;
|
RDLogLine::Status status;
|
||||||
@ -2979,15 +3161,16 @@ void RDLogPlay::SendNowNext()
|
|||||||
//
|
//
|
||||||
play_pad_socket->write(QString("{\r\n").toUtf8());
|
play_pad_socket->write(QString("{\r\n").toUtf8());
|
||||||
play_pad_socket->write(QString(" \"padUpdate\": {\r\n").toUtf8());
|
play_pad_socket->write(QString(" \"padUpdate\": {\r\n").toUtf8());
|
||||||
play_pad_socket->write(RDJsonField("dateTime",QDateTime::currentDateTime(),8).
|
play_pad_socket->
|
||||||
toUtf8());
|
write(RDJsonField("dateTime",QDateTime::currentDateTime(),8).toUtf8());
|
||||||
play_pad_socket->write(RDJsonField("hostName",
|
play_pad_socket->
|
||||||
rda->station()->name(),8).toUtf8());
|
write(RDJsonField("hostName",rda->station()->name(),8).toUtf8());
|
||||||
play_pad_socket->write(RDJsonField("shortHostName",
|
play_pad_socket->
|
||||||
rda->station()->shortName(),8).toUtf8());
|
write(RDJsonField("shortHostName",rda->station()->shortName(),8).toUtf8());
|
||||||
play_pad_socket->write(RDJsonField("machine",play_id+1,8));
|
play_pad_socket->write(RDJsonField("machine",play_id+1,8));
|
||||||
play_pad_socket->write(RDJsonField("onairFlag",play_onair_flag,8));
|
play_pad_socket->write(RDJsonField("onairFlag",play_onair_flag,8));
|
||||||
play_pad_socket->write(RDJsonField("mode",RDAirPlayConf::logModeText(play_op_mode),8));
|
play_pad_socket->
|
||||||
|
write(RDJsonField("mode",RDAirPlayConf::logModeText(play_op_mode),8));
|
||||||
|
|
||||||
//
|
//
|
||||||
// Service
|
// Service
|
||||||
@ -3142,12 +3325,12 @@ void RDLogPlay::LogTraffic(RDLogLine *logline,RDLogLine::PlaySource src,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString eventDateTimeSQL = "NULL";
|
QString evt_sql="NULL";
|
||||||
|
|
||||||
if(datetime.isValid() && logline->startTime(RDLogLine::Actual).isValid())
|
if(datetime.isValid()&&logline->startTime(RDLogLine::Actual).isValid()) {
|
||||||
eventDateTimeSQL = RDCheckDateTime(QDateTime(datetime.date(),
|
evt_sql=RDCheckDateTime(QDateTime(datetime.date(),
|
||||||
logline->startTime(RDLogLine::Actual)), "yyyy-MM-dd hh:mm:ss");
|
logline->startTime(RDLogLine::Actual)), "yyyy-MM-dd hh:mm:ss");
|
||||||
|
}
|
||||||
sql=QString("insert into ELR_LINES set ")+
|
sql=QString("insert into ELR_LINES set ")+
|
||||||
"SERVICE_NAME=\""+RDEscapeString(serviceName())+"\","+
|
"SERVICE_NAME=\""+RDEscapeString(serviceName())+"\","+
|
||||||
QString().sprintf("LENGTH=%d,",length)+
|
QString().sprintf("LENGTH=%d,",length)+
|
||||||
@ -3155,7 +3338,7 @@ void RDLogPlay::LogTraffic(RDLogLine *logline,RDLogLine::PlaySource src,
|
|||||||
QString().sprintf("LOG_ID=%d,",logline->id())+
|
QString().sprintf("LOG_ID=%d,",logline->id())+
|
||||||
QString().sprintf("CART_NUMBER=%u,",logline->cartNumber())+
|
QString().sprintf("CART_NUMBER=%u,",logline->cartNumber())+
|
||||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\","+
|
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\","+
|
||||||
"EVENT_DATETIME="+eventDateTimeSQL+","+
|
"EVENT_DATETIME="+evt_sql+","+
|
||||||
QString().sprintf("EVENT_TYPE=%d,",action)+
|
QString().sprintf("EVENT_TYPE=%d,",action)+
|
||||||
QString().sprintf("EVENT_SOURCE=%d,",logline->source())+
|
QString().sprintf("EVENT_SOURCE=%d,",logline->source())+
|
||||||
"EXT_START_TIME="+RDCheckDateTime(logline->extStartTime(),"hh:mm:ss")+","+
|
"EXT_START_TIME="+RDCheckDateTime(logline->extStartTime(),"hh:mm:ss")+","+
|
||||||
|
@ -21,8 +21,6 @@
|
|||||||
#ifndef RDLOGPLAY_H
|
#ifndef RDLOGPLAY_H
|
||||||
#define RDLOGPLAY_H
|
#define RDLOGPLAY_H
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QSignalMapper>
|
#include <QSignalMapper>
|
||||||
@ -87,8 +85,10 @@ class RDLogPlay : public RDLogModel
|
|||||||
void clear();
|
void clear();
|
||||||
void insert(int line,int cartnum,RDLogLine::TransType next_type,
|
void insert(int line,int cartnum,RDLogLine::TransType next_type,
|
||||||
RDLogLine::TransType type=RDLogLine::Play);
|
RDLogLine::TransType type=RDLogLine::Play);
|
||||||
void insert(int line,RDLogLine *logline,bool update=true,bool preserv_custom_transition=false);
|
void insert(int line,RDLogLine *logline,bool update=true,
|
||||||
void remove(int line,int num_lines,bool update=true,bool preserv_custom_transition=false);
|
bool preserv_custom_transition=false);
|
||||||
|
void remove(int line,int num_lines,bool update=true,
|
||||||
|
bool preserv_custom_transition=false);
|
||||||
void move(int from_line,int to_line);
|
void move(int from_line,int to_line);
|
||||||
void copy(int from_line,int to_line,
|
void copy(int from_line,int to_line,
|
||||||
RDLogLine::TransType type=RDLogLine::Play);
|
RDLogLine::TransType type=RDLogLine::Play);
|
||||||
@ -105,10 +105,14 @@ class RDLogPlay : public RDLogModel
|
|||||||
RDLogLine::Status status(int line);
|
RDLogLine::Status status(int line);
|
||||||
QTime startTime(int line);
|
QTime startTime(int line);
|
||||||
QTime nextStop() const;
|
QTime nextStop() const;
|
||||||
|
int startOfHour(int hour) const;
|
||||||
bool running(bool include_paused=true);
|
bool running(bool include_paused=true);
|
||||||
void resync();
|
void resync();
|
||||||
bool isRefreshable() const;
|
bool isRefreshable() const;
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void setTimeMode(RDAirPlayConf::TimeMode mode);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void transTimerData();
|
void transTimerData();
|
||||||
void graceTimerData();
|
void graceTimerData();
|
||||||
@ -123,7 +127,6 @@ class RDLogPlay : public RDLogModel
|
|||||||
void macroFinishedData();
|
void macroFinishedData();
|
||||||
void macroStoppedData();
|
void macroStoppedData();
|
||||||
void timescalingSupportedData(int card,bool state);
|
void timescalingSupportedData(int card,bool state);
|
||||||
// void rescanEventsData();
|
|
||||||
void auditionStartedData();
|
void auditionStartedData();
|
||||||
void auditionStoppedData();
|
void auditionStoppedData();
|
||||||
void notificationReceivedData(RDNotification *notify);
|
void notificationReceivedData(RDNotification *notify);
|
||||||
@ -135,6 +138,7 @@ class RDLogPlay : public RDLogModel
|
|||||||
void inserted(int line);
|
void inserted(int line);
|
||||||
void removed(int line,int num,bool moving);
|
void removed(int line,int num,bool moving);
|
||||||
void modified(int line);
|
void modified(int line);
|
||||||
|
void hourChanged(int hour,bool state);
|
||||||
void auditionHeadPlayed(int line);
|
void auditionHeadPlayed(int line);
|
||||||
void auditionTailPlayed(int line);
|
void auditionTailPlayed(int line);
|
||||||
void auditionStopped(int line);
|
void auditionStopped(int line);
|
||||||
@ -153,12 +157,18 @@ class RDLogPlay : public RDLogModel
|
|||||||
void channelStarted(int id,int mport,int card,int port);
|
void channelStarted(int id,int mport,int card,int port);
|
||||||
void channelStopped(int id,int mport,int card,int port);
|
void channelStopped(int id,int mport,int card,int port);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QString cellText(int col,int line,RDLogLine *ll) const;
|
||||||
|
QFont cellTextFont(int col,int row,RDLogLine *ll) const;
|
||||||
|
QColor cellTextColor(int col,int row,RDLogLine *ll) const;
|
||||||
|
QColor rowBackgroundColor(int row,RDLogLine *ll) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool StartEvent(int line,RDLogLine::TransType trans_type,int trans_length,
|
bool StartEvent(int line,RDLogLine::TransType trans_type,int trans_length,
|
||||||
RDLogLine::StartSource src,int mport=-1,int duck_length=0);
|
RDLogLine::StartSource src,int mport=-1,int duck_length=0);
|
||||||
bool StartAudioEvent(int line);
|
bool StartAudioEvent(int line);
|
||||||
void CleanupEvent(int id);
|
void CleanupEvent(int id);
|
||||||
void UpdateStartTimes(int line);
|
void UpdateStartTimes();
|
||||||
void FinishEvent(int line);
|
void FinishEvent(int line);
|
||||||
QTime GetStartTime(QTime sched_time,RDLogLine::TransType trans_type,
|
QTime GetStartTime(QTime sched_time,RDLogLine::TransType trans_type,
|
||||||
RDLogLine::TimeType time_type,QTime prev_time,
|
RDLogLine::TimeType time_type,QTime prev_time,
|
||||||
@ -177,6 +187,7 @@ class RDLogPlay : public RDLogModel
|
|||||||
bool GetNextPlayable(int *line,bool skip_meta,bool forced_start=false);
|
bool GetNextPlayable(int *line,bool skip_meta,bool forced_start=false);
|
||||||
void LogPlayEvent(RDLogLine *logline);
|
void LogPlayEvent(RDLogLine *logline);
|
||||||
void RefreshEvents(int line,int line_quan,bool force_update=false);
|
void RefreshEvents(int line,int line_quan,bool force_update=false);
|
||||||
|
void ChangeTransport();
|
||||||
void Playing(int id);
|
void Playing(int id);
|
||||||
void Paused(int id);
|
void Paused(int id);
|
||||||
void Stopping(int id);
|
void Stopping(int id);
|
||||||
@ -184,6 +195,7 @@ class RDLogPlay : public RDLogModel
|
|||||||
void Finished(int id);
|
void Finished(int id);
|
||||||
void ClearChannel(int deckid);
|
void ClearChannel(int deckid);
|
||||||
RDLogLine::TransType GetTransType(const QString &logname,int line);
|
RDLogLine::TransType GetTransType(const QString &logname,int line);
|
||||||
|
QString TimeString(const QTime &time) const;
|
||||||
bool ClearBlock(int start_line);
|
bool ClearBlock(int start_line);
|
||||||
void SendNowNext();
|
void SendNowNext();
|
||||||
QString GetPadJson(const QString &name,RDLogLine *ll,
|
QString GetPadJson(const QString &name,RDLogLine *ll,
|
||||||
@ -193,6 +205,7 @@ class RDLogPlay : public RDLogModel
|
|||||||
RDAirPlayConf::TrafficAction action,bool onair_flag) const;
|
RDAirPlayConf::TrafficAction action,bool onair_flag) const;
|
||||||
RDCae *play_cae;
|
RDCae *play_cae;
|
||||||
RDAirPlayConf::OpMode play_op_mode;
|
RDAirPlayConf::OpMode play_op_mode;
|
||||||
|
RDAirPlayConf::TimeMode play_time_mode;
|
||||||
int play_slot_id[LOGPLAY_MAX_PLAYS];
|
int play_slot_id[LOGPLAY_MAX_PLAYS];
|
||||||
int play_segue_length;
|
int play_segue_length;
|
||||||
int play_trans_length;
|
int play_trans_length;
|
||||||
@ -243,6 +256,7 @@ class RDLogPlay : public RDLogModel
|
|||||||
int play_audition_preroll;
|
int play_audition_preroll;
|
||||||
RDEventPlayer *play_event_player;
|
RDEventPlayer *play_event_player;
|
||||||
RDUnixSocket *play_pad_socket;
|
RDUnixSocket *play_pad_socket;
|
||||||
|
bool play_hours[24];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@ dist_rdairplay_SOURCES = button_log.cpp button_log.h\
|
|||||||
list_logs.cpp list_logs.h\
|
list_logs.cpp list_logs.h\
|
||||||
local_macros.cpp colors.h\
|
local_macros.cpp colors.h\
|
||||||
loglinebox.cpp loglinebox.h\
|
loglinebox.cpp loglinebox.h\
|
||||||
|
logtableview.cpp logtableview.h\
|
||||||
mode_display.cpp mode_display.h\
|
mode_display.cpp mode_display.h\
|
||||||
pie_counter.cpp pie_counter.h\
|
pie_counter.cpp pie_counter.h\
|
||||||
post_counter.cpp post_counter.h\
|
post_counter.cpp post_counter.h\
|
||||||
@ -67,6 +68,7 @@ nodist_rdairplay_SOURCES = moc_button_log.cpp\
|
|||||||
moc_list_log.cpp\
|
moc_list_log.cpp\
|
||||||
moc_list_logs.cpp\
|
moc_list_logs.cpp\
|
||||||
moc_loglinebox.cpp\
|
moc_loglinebox.cpp\
|
||||||
|
moc_logtableview.cpp\
|
||||||
moc_mode_display.cpp\
|
moc_mode_display.cpp\
|
||||||
moc_pie_counter.cpp\
|
moc_pie_counter.cpp\
|
||||||
moc_post_counter.cpp\
|
moc_post_counter.cpp\
|
||||||
|
@ -97,11 +97,9 @@ void HourSelector::setTimeMode(RDAirPlayConf::TimeMode mode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void HourSelector::updateHours(bool states[24])
|
void HourSelector::updateHour(int hour,bool state)
|
||||||
{
|
{
|
||||||
for(unsigned i=0;i<24;i++) {
|
hour_button[hour]->setEnabled(state);
|
||||||
hour_button[i]->setEnabled(states[i]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,7 +31,9 @@ class HourSelector : public RDWidget
|
|||||||
HourSelector(QWidget *parent=0);
|
HourSelector(QWidget *parent=0);
|
||||||
QSizePolicy sizePolicy() const;
|
QSizePolicy sizePolicy() const;
|
||||||
void setTimeMode(RDAirPlayConf::TimeMode mode);
|
void setTimeMode(RDAirPlayConf::TimeMode mode);
|
||||||
void updateHours(bool states[24]);
|
|
||||||
|
public slots:
|
||||||
|
void updateHour(int hour,bool state);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void hourSelected(int hour);
|
void hourSelected(int hour);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
// list_log.h
|
// list_log.h
|
||||||
//
|
//
|
||||||
// The full log list widget for RDAirPlay.
|
// The full log widget for RDAirPlay.
|
||||||
//
|
//
|
||||||
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||||
//
|
//
|
||||||
@ -21,14 +21,14 @@
|
|||||||
#ifndef LIST_LOG_H
|
#ifndef LIST_LOG_H
|
||||||
#define LIST_LOG_H
|
#define LIST_LOG_H
|
||||||
|
|
||||||
|
#include <rdlogplay.h>
|
||||||
#include <rdwidget.h>
|
#include <rdwidget.h>
|
||||||
|
|
||||||
#include "edit_event.h"
|
#include "edit_event.h"
|
||||||
#include "hourselector.h"
|
#include "hourselector.h"
|
||||||
#include "lib_listview.h"
|
#include "lib_listview.h"
|
||||||
#include "list_logs.h"
|
#include "list_logs.h"
|
||||||
|
#include "logtableview.h"
|
||||||
#define END_MARKER_ID -2
|
|
||||||
|
|
||||||
class ListLog : public RDWidget
|
class ListLog : public RDWidget
|
||||||
{
|
{
|
||||||
@ -38,9 +38,6 @@ class ListLog : public RDWidget
|
|||||||
QWidget *parent=0);
|
QWidget *parent=0);
|
||||||
QSize sizeHint() const;
|
QSize sizeHint() const;
|
||||||
QSizePolicy sizePolicy() const;
|
QSizePolicy sizePolicy() const;
|
||||||
void refresh();
|
|
||||||
void refresh(int line);
|
|
||||||
void setStatus(int line,RDLogLine::Status status);
|
|
||||||
RDAirPlayConf::ActionMode actionMode() const;
|
RDAirPlayConf::ActionMode actionMode() const;
|
||||||
void setActionMode(RDAirPlayConf::ActionMode mode,int *cartnum=0);
|
void setActionMode(RDAirPlayConf::ActionMode mode,int *cartnum=0);
|
||||||
void setOpMode(RDAirPlayConf::OpMode mode);
|
void setOpMode(RDAirPlayConf::OpMode mode);
|
||||||
@ -62,43 +59,29 @@ class ListLog : public RDWidget
|
|||||||
void takeButtonData();
|
void takeButtonData();
|
||||||
void playButtonData();
|
void playButtonData();
|
||||||
void modifyButtonData();
|
void modifyButtonData();
|
||||||
void doubleclickedData(Q3ListViewItem *,const QPoint &,int);
|
void doubleClickedData(const QModelIndex &index);
|
||||||
void scrollButtonData();
|
void scrollButtonData();
|
||||||
void refreshButtonData();
|
void refreshButtonData();
|
||||||
void nextButtonData();
|
void nextButtonData();
|
||||||
void loadButtonData();
|
void loadButtonData();
|
||||||
void logReloadedData();
|
void selectionChangedData(const QItemSelection &new_sel,
|
||||||
void logPlayedData(int line);
|
const QItemSelection &old_sel);
|
||||||
void logPausedData(int line);
|
|
||||||
void logStoppedData(int line);
|
|
||||||
void logInsertedData(int line);
|
|
||||||
void logRemovedData(int line,int num,bool moving);
|
|
||||||
void selectionChangedData();
|
|
||||||
void transportChangedData();
|
void transportChangedData();
|
||||||
void modifiedData(int line);
|
void modelResetData();
|
||||||
void refreshabilityChangedData(bool state);
|
void refreshabilityChangedData(bool state);
|
||||||
void cartDroppedData(int line,RDLogLine *ll);
|
void cartDroppedData(int line,RDLogLine *ll);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum PlayButtonMode {ButtonDisabled=0,ButtonPlay=1,ButtonStop=2};
|
enum PlayButtonMode {ButtonDisabled=0,ButtonPlay=1,ButtonStop=2};
|
||||||
void RefreshList();
|
|
||||||
void RefreshList(int line);
|
|
||||||
void RefreshItem(RDListViewItem *l,int line);
|
|
||||||
int CurrentLine();
|
int CurrentLine();
|
||||||
RDLogLine::Status CurrentStatus();
|
RDLogLine::Status CurrentStatus();
|
||||||
RDLogLine::State CurrentState();
|
RDLogLine::State CurrentState();
|
||||||
void ClearSelection();
|
void ClearSelection();
|
||||||
RDListViewItem *GetItem(int line);
|
|
||||||
void UpdateTimes(int removed_line=-1,int num_lines=0);
|
|
||||||
void ScrollTo(int line);
|
void ScrollTo(int line);
|
||||||
void UpdateColor(int line,bool next=false);
|
|
||||||
void SetColor();
|
|
||||||
void SetPlaybuttonMode(ListLog::PlayButtonMode mode);
|
void SetPlaybuttonMode(ListLog::PlayButtonMode mode);
|
||||||
QString TimeString(const QTime &time) const;
|
QString TimeString(const QTime &time) const;
|
||||||
void UpdateHourSelector();
|
|
||||||
int PredictedStartHour(RDListViewItem *item);
|
|
||||||
HourSelector *list_hour_selector;
|
HourSelector *list_hour_selector;
|
||||||
LibListView *list_log_list;
|
LogTableView *list_log_view;
|
||||||
RDLogPlay *list_log;
|
RDLogPlay *list_log;
|
||||||
ListLogs *list_logs_dialog;
|
ListLogs *list_logs_dialog;
|
||||||
RDAirPlayConf::ActionMode list_action_mode;
|
RDAirPlayConf::ActionMode list_action_mode;
|
||||||
@ -128,14 +111,6 @@ class ListLog : public RDWidget
|
|||||||
bool list_scroll;
|
bool list_scroll;
|
||||||
bool list_suspended_scroll;
|
bool list_suspended_scroll;
|
||||||
QPalette list_scroll_color[2];
|
QPalette list_scroll_color[2];
|
||||||
QPixmap *list_playout_map;
|
|
||||||
QPixmap *list_macro_map;
|
|
||||||
QPixmap *list_chain_map;
|
|
||||||
QPixmap *list_track_cart_map;
|
|
||||||
QPixmap *list_mic16_map;
|
|
||||||
QPixmap *list_notemarker_map;
|
|
||||||
QPixmap *list_traffic_map;
|
|
||||||
QPixmap *list_music_map;
|
|
||||||
bool list_pause_allowed;
|
bool list_pause_allowed;
|
||||||
bool list_audition_head_playing;
|
bool list_audition_head_playing;
|
||||||
bool list_audition_tail_playing;
|
bool list_audition_tail_playing;
|
||||||
|
56
rdairplay/logtableview.cpp
Normal file
56
rdairplay/logtableview.cpp
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
// logtableview.cpp
|
||||||
|
//
|
||||||
|
// TableView widget for RDAirPlay
|
||||||
|
//
|
||||||
|
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
//
|
||||||
|
// This program is free software; you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License version 2 as
|
||||||
|
// published by the Free Software Foundation.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public
|
||||||
|
// License along with this program; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <rdcartdrag.h>
|
||||||
|
#include <rdlogplay.h>
|
||||||
|
|
||||||
|
#include "logtableview.h"
|
||||||
|
|
||||||
|
LogTableView::LogTableView(QWidget *parent)
|
||||||
|
: QTableView(parent)
|
||||||
|
{
|
||||||
|
setAcceptDrops(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LogTableView::dragEnterEvent(QDragEnterEvent *e)
|
||||||
|
{
|
||||||
|
e->accept(RDCartDrag::canDecode(e));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LogTableView::dragMoveEvent(QDragMoveEvent *e)
|
||||||
|
{
|
||||||
|
e->accept(RDCartDrag::canDecode(e));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LogTableView::dropEvent(QDropEvent *e)
|
||||||
|
{
|
||||||
|
RDLogLine ll;
|
||||||
|
int line=-1;
|
||||||
|
int y_pos=e->pos().y();
|
||||||
|
|
||||||
|
if(RDCartDrag::decode(e,&ll)) {
|
||||||
|
line=rowAt(y_pos);
|
||||||
|
emit cartDropped(line,&ll);
|
||||||
|
}
|
||||||
|
}
|
47
rdairplay/logtableview.h
Normal file
47
rdairplay/logtableview.h
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
// logtableview.h
|
||||||
|
//
|
||||||
|
// The Log TableView widget for RDAirPlay
|
||||||
|
//
|
||||||
|
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
//
|
||||||
|
// This program is free software; you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License version 2 as
|
||||||
|
// published by the Free Software Foundation.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public
|
||||||
|
// License along with this program; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef LOGTABLEVIEW_H
|
||||||
|
#define LOGTABLEVIEW_H
|
||||||
|
|
||||||
|
#include <QDropEvent>
|
||||||
|
#include <QDragEnterEvent>
|
||||||
|
#include <QTableView>
|
||||||
|
|
||||||
|
#include <rdlog_line.h>
|
||||||
|
|
||||||
|
class LogTableView : public QTableView
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
LogTableView(QWidget *parent);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void cartDropped(int line,RDLogLine *ll);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void dragEnterEvent(QDragEnterEvent *e);
|
||||||
|
void dragMoveEvent(QDragMoveEvent *e);
|
||||||
|
void dropEvent(QDropEvent *e);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // LOGTABLEVIEW_H
|
@ -23,9 +23,9 @@
|
|||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
|
||||||
#include <qapplication.h>
|
#include <QApplication>
|
||||||
#include <qmessagebox.h>
|
#include <QMessageBox>
|
||||||
#include <qtranslator.h>
|
#include <QTranslator>
|
||||||
|
|
||||||
#include <rdconf.h>
|
#include <rdconf.h>
|
||||||
#include <rdgetpasswd.h>
|
#include <rdgetpasswd.h>
|
||||||
@ -39,7 +39,6 @@
|
|||||||
//
|
//
|
||||||
// Global Resources
|
// Global Resources
|
||||||
//
|
//
|
||||||
RDAudioPort *rdaudioport_conf;
|
|
||||||
RDEventPlayer *rdevent_player;
|
RDEventPlayer *rdevent_player;
|
||||||
RDCartDialog *rdcart_dialog;
|
RDCartDialog *rdcart_dialog;
|
||||||
MainWidget *prog_ptr;
|
MainWidget *prog_ptr;
|
||||||
@ -1447,7 +1446,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
|||||||
rda->airplayConf()->defaultTransType());
|
rda->airplayConf()->defaultTransType());
|
||||||
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
air_log[id]->
|
air_log[id]->
|
||||||
@ -1455,7 +1454,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
|||||||
rda->airplayConf()->defaultTransType());
|
rda->airplayConf()->defaultTransType());
|
||||||
air_log[id]->logLine(line)->
|
air_log[id]->logLine(line)->
|
||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
air_log_list[id]->refresh(line);
|
air_log[id]->update(line);
|
||||||
}
|
}
|
||||||
SetActionMode(StartButton::Stop);
|
SetActionMode(StartButton::Stop);
|
||||||
break;
|
break;
|
||||||
@ -1484,14 +1483,14 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
|||||||
if(air_source_id==id) {
|
if(air_source_id==id) {
|
||||||
if(line<0) {
|
if(line<0) {
|
||||||
air_log[id]->move(air_copy_line,air_log[id]->lineCount());
|
air_log[id]->move(air_copy_line,air_log[id]->lineCount());
|
||||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(line>air_copy_line) {
|
if(line>air_copy_line) {
|
||||||
line--;
|
line--;
|
||||||
}
|
}
|
||||||
air_log[id]->move(air_copy_line,line);
|
air_log[id]->move(air_copy_line,line);
|
||||||
air_log_list[id]->refresh(line);
|
air_log[id]->update(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1499,12 +1498,12 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
|||||||
if(line<0) {
|
if(line<0) {
|
||||||
air_log[id]->
|
air_log[id]->
|
||||||
insert(air_log[id]->lineCount(),air_add_cart,RDLogLine::Play);
|
insert(air_log[id]->lineCount(),air_add_cart,RDLogLine::Play);
|
||||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
air_log[id]->
|
air_log[id]->
|
||||||
insert(line,air_add_cart,air_log[id]->nextTransType(line));
|
insert(line,air_add_cart,air_log[id]->nextTransType(line));
|
||||||
air_log_list[id]->refresh(line);
|
air_log[id]->update(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetActionMode(StartButton::Stop);
|
SetActionMode(StartButton::Stop);
|
||||||
@ -1540,7 +1539,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
|||||||
rda->airplayConf()->defaultTransType());
|
rda->airplayConf()->defaultTransType());
|
||||||
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
air_log[id]->
|
air_log[id]->
|
||||||
@ -1548,7 +1547,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
|||||||
rda->airplayConf()->defaultTransType());
|
rda->airplayConf()->defaultTransType());
|
||||||
air_log[id]->logLine(line)->
|
air_log[id]->logLine(line)->
|
||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
air_log_list[id]->refresh(line);
|
air_log[id]->update(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetActionMode(StartButton::Stop);
|
SetActionMode(StartButton::Stop);
|
||||||
@ -1612,7 +1611,7 @@ void MainWidget::cartDroppedData(int id,int line,RDLogLine *ll)
|
|||||||
rda->airplayConf()->defaultTransType());
|
rda->airplayConf()->defaultTransType());
|
||||||
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
air_log[id]->
|
air_log[id]->
|
||||||
@ -1620,7 +1619,7 @@ void MainWidget::cartDroppedData(int id,int line,RDLogLine *ll)
|
|||||||
rda->airplayConf()->defaultTransType());
|
rda->airplayConf()->defaultTransType());
|
||||||
air_log[id]->logLine(line)->
|
air_log[id]->logLine(line)->
|
||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
air_log_list[id]->refresh(line);
|
air_log[id]->update(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@ x11 {
|
|||||||
SOURCES += list_logs.cpp
|
SOURCES += list_logs.cpp
|
||||||
SOURCES += local_macros.cpp
|
SOURCES += local_macros.cpp
|
||||||
SOURCES += loglinebox.cpp
|
SOURCES += loglinebox.cpp
|
||||||
|
SOURCES += logtableview.cpp
|
||||||
SOURCES += mode_display.cpp
|
SOURCES += mode_display.cpp
|
||||||
SOURCES += pie_counter.cpp
|
SOURCES += pie_counter.cpp
|
||||||
SOURCES += post_counter.cpp
|
SOURCES += post_counter.cpp
|
||||||
@ -46,6 +47,7 @@ x11 {
|
|||||||
HEADERS += list_log.h
|
HEADERS += list_log.h
|
||||||
HEADERS += list_logs.h
|
HEADERS += list_logs.h
|
||||||
HEADERS += loglinebox.h
|
HEADERS += loglinebox.h
|
||||||
|
HEADERS += logtableview.h
|
||||||
HEADERS += mode_display.h
|
HEADERS += mode_display.h
|
||||||
HEADERS += pie_counter.h
|
HEADERS += pie_counter.h
|
||||||
HEADERS += post_counter.h
|
HEADERS += post_counter.h
|
||||||
|
@ -301,59 +301,59 @@ zápis</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>--- end of log ---</source>
|
<source>--- end of log ---</source>
|
||||||
<translation>--- konec zápisu ---</translation>
|
<translation type="obsolete">--- konec zápisu ---</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PLAY</source>
|
<source>PLAY</source>
|
||||||
<translation>PŘEHRÁT</translation>
|
<translation type="obsolete">PŘEHRÁT</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>STOP</source>
|
<source>STOP</source>
|
||||||
<translation>ZASTAVIT</translation>
|
<translation type="obsolete">ZASTAVIT</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SEGUE</source>
|
<source>SEGUE</source>
|
||||||
<translation>PŘECHOD</translation>
|
<translation type="obsolete">PŘECHOD</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>MARKER</source>
|
<source>MARKER</source>
|
||||||
<translation>ZNAČKA</translation>
|
<translation type="obsolete">ZNAČKA</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TRACK</source>
|
<source>TRACK</source>
|
||||||
<translation>STOPA</translation>
|
<translation type="obsolete">STOPA</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>LINK</source>
|
<source>LINK</source>
|
||||||
<translation>ODKAZ</translation>
|
<translation type="obsolete">ODKAZ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[music import]</source>
|
<source>[music import]</source>
|
||||||
<translation>[zavedení hudby]</translation>
|
<translation type="obsolete">[zavedení hudby]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[traffic import]</source>
|
<source>[traffic import]</source>
|
||||||
<translation>[zavedení přenosu]</translation>
|
<translation type="obsolete">[zavedení přenosu]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>CHAIN TO</source>
|
<source>CHAIN TO</source>
|
||||||
<translation>ŘETĚZ K</translation>
|
<translation type="obsolete">ŘETĚZ K</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[CART NOT FOUND]</source>
|
<source>[CART NOT FOUND]</source>
|
||||||
<translation>[VOZÍK NENALEZEN]</translation>
|
<translation type="obsolete">[VOZÍK NENALEZEN]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO VALID CUT AVAILABLE]</source>
|
<source>[NO VALID CUT AVAILABLE]</source>
|
||||||
<translation>[ŽÁDNÝ PLATNÝ ZÁBĚR NENÍ DOSTUPNÝ]</translation>
|
<translation type="obsolete">[ŽÁDNÝ PLATNÝ ZÁBĚR NENÍ DOSTUPNÝ]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO AUDIO AVAILABLE]</source>
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
<translation>[ŽÁDNÝ ZVUK NENÍ DOSTUPNÝ]</translation>
|
<translation type="obsolete">[ŽÁDNÝ ZVUK NENÍ DOSTUPNÝ]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>T</source>
|
<source>T</source>
|
||||||
<translation type="unfinished">T</translation>
|
<translation type="obsolete">T</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pause</source>
|
<source>Pause</source>
|
||||||
@ -381,7 +381,7 @@ zápis</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Selected:</source>
|
<source>Selected:</source>
|
||||||
<translation>Vybráno:</translation>
|
<translation type="unfinished">Vybráno:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Audition
|
<source>Audition
|
||||||
@ -399,70 +399,6 @@ poslechu</translation>
|
|||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Len</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Trans</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Cart</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Title</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Artist</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Group</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Album</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Label</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Client</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Agency</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Marker</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Line ID</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Count</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Status</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Est. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Sch. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ListLogs</name>
|
<name>ListLogs</name>
|
||||||
|
@ -301,59 +301,59 @@ auswählen</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>--- end of log ---</source>
|
<source>--- end of log ---</source>
|
||||||
<translation>--- ende des Logs ---</translation>
|
<translation type="obsolete">--- ende des Logs ---</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PLAY</source>
|
<source>PLAY</source>
|
||||||
<translation>PLAY</translation>
|
<translation type="obsolete">PLAY</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>STOP</source>
|
<source>STOP</source>
|
||||||
<translation>STOP</translation>
|
<translation type="obsolete">STOP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SEGUE</source>
|
<source>SEGUE</source>
|
||||||
<translation>SEGUE</translation>
|
<translation type="obsolete">SEGUE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>MARKER</source>
|
<source>MARKER</source>
|
||||||
<translation>MARKER</translation>
|
<translation type="obsolete">MARKER</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TRACK</source>
|
<source>TRACK</source>
|
||||||
<translation>TRACK</translation>
|
<translation type="obsolete">TRACK</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>LINK</source>
|
<source>LINK</source>
|
||||||
<translation>LINK</translation>
|
<translation type="obsolete">LINK</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[music import]</source>
|
<source>[music import]</source>
|
||||||
<translation>[musikimport]</translation>
|
<translation type="obsolete">[musikimport]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[traffic import]</source>
|
<source>[traffic import]</source>
|
||||||
<translation>[traffic import]</translation>
|
<translation type="obsolete">[traffic import]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>CHAIN TO</source>
|
<source>CHAIN TO</source>
|
||||||
<translation>CHAIN TO</translation>
|
<translation type="obsolete">CHAIN TO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[CART NOT FOUND]</source>
|
<source>[CART NOT FOUND]</source>
|
||||||
<translation>[CART NICHT GEFUNDEN]</translation>
|
<translation type="obsolete">[CART NICHT GEFUNDEN]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO VALID CUT AVAILABLE]</source>
|
<source>[NO VALID CUT AVAILABLE]</source>
|
||||||
<translation>[KEIN GÜLTIGER CUT VERFÜGBAR]</translation>
|
<translation type="obsolete">[KEIN GÜLTIGER CUT VERFÜGBAR]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO AUDIO AVAILABLE]</source>
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
<translation>[KEIN AUDIO VERFÜGBAR]</translation>
|
<translation type="obsolete">[KEIN AUDIO VERFÜGBAR]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>T</source>
|
<source>T</source>
|
||||||
<translation type="unfinished">T</translation>
|
<translation type="obsolete">T</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pause</source>
|
<source>Pause</source>
|
||||||
@ -381,7 +381,7 @@ auswählen</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Selected:</source>
|
<source>Selected:</source>
|
||||||
<translation>Ausgewählt:</translation>
|
<translation type="unfinished">Ausgewählt:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Audition
|
<source>Audition
|
||||||
@ -399,70 +399,6 @@ vorhören</translation>
|
|||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Len</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Trans</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Cart</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Title</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Artist</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Group</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Album</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Label</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Client</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Agency</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Marker</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Line ID</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Count</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Status</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Est. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Sch. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ListLogs</name>
|
<name>ListLogs</name>
|
||||||
|
@ -291,47 +291,47 @@ Lista</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>--- end of log ---</source>
|
<source>--- end of log ---</source>
|
||||||
<translation>--- fin de la lista ---</translation>
|
<translation type="obsolete">--- fin de la lista ---</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PLAY</source>
|
<source>PLAY</source>
|
||||||
<translation>REPRO</translation>
|
<translation type="obsolete">REPRO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>STOP</source>
|
<source>STOP</source>
|
||||||
<translation>PARAR</translation>
|
<translation type="obsolete">PARAR</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SEGUE</source>
|
<source>SEGUE</source>
|
||||||
<translation>SEGUE</translation>
|
<translation type="obsolete">SEGUE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>MARKER</source>
|
<source>MARKER</source>
|
||||||
<translation>MARCADOR</translation>
|
<translation type="obsolete">MARCADOR</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>CHAIN TO</source>
|
<source>CHAIN TO</source>
|
||||||
<translation>ENCADENAR A</translation>
|
<translation type="obsolete">ENCADENAR A</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[CART NOT FOUND]</source>
|
<source>[CART NOT FOUND]</source>
|
||||||
<translation>[CARTUCHO NO ENCONTRADO]</translation>
|
<translation type="obsolete">[CARTUCHO NO ENCONTRADO]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO VALID CUT AVAILABLE]</source>
|
<source>[NO VALID CUT AVAILABLE]</source>
|
||||||
<translation>[NO HAY AUDIOS VÁLIDOS]</translation>
|
<translation type="obsolete">[NO HAY AUDIOS VÁLIDOS]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>T</source>
|
<source>T</source>
|
||||||
<translation type="unfinished">T</translation>
|
<translation type="obsolete">T</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO AUDIO AVAILABLE]</source>
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
<translation>[NO HAY AUDIO DISPONIBLE]</translation>
|
<translation type="obsolete">[NO HAY AUDIO DISPONIBLE]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TRACK</source>
|
<source>TRACK</source>
|
||||||
<translation>PISTA</translation>
|
<translation type="obsolete">PISTA</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>LEN</source>
|
<source>LEN</source>
|
||||||
@ -339,15 +339,15 @@ Lista</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>LINK</source>
|
<source>LINK</source>
|
||||||
<translation>ENLACE</translation>
|
<translation type="obsolete">ENLACE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[music import]</source>
|
<source>[music import]</source>
|
||||||
<translation>[importar música]</translation>
|
<translation type="obsolete">[importar música]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[traffic import]</source>
|
<source>[traffic import]</source>
|
||||||
<translation>[importar tráfico]</translation>
|
<translation type="obsolete">[importar tráfico]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>EST TIME</source>
|
<source>EST TIME</source>
|
||||||
@ -381,7 +381,7 @@ Lista</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Selected:</source>
|
<source>Selected:</source>
|
||||||
<translation>Selecc.:</translation>
|
<translation type="unfinished">Selecc.:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Audition
|
<source>Audition
|
||||||
@ -399,70 +399,6 @@ Final</translation>
|
|||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Len</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Trans</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Cart</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Title</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Artist</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Group</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Album</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Label</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Client</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Agency</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Marker</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Line ID</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Count</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Status</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Est. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Sch. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ListLogs</name>
|
<name>ListLogs</name>
|
||||||
|
@ -301,59 +301,59 @@ un Log</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>--- end of log ---</source>
|
<source>--- end of log ---</source>
|
||||||
<translation>-- fin du log --</translation>
|
<translation type="obsolete">-- fin du log --</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PLAY</source>
|
<source>PLAY</source>
|
||||||
<translation>LANCER</translation>
|
<translation type="obsolete">LANCER</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>STOP</source>
|
<source>STOP</source>
|
||||||
<translation>STOPPER</translation>
|
<translation type="obsolete">STOPPER</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SEGUE</source>
|
<source>SEGUE</source>
|
||||||
<translation>ENCHAINER</translation>
|
<translation type="obsolete">ENCHAINER</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>MARKER</source>
|
<source>MARKER</source>
|
||||||
<translation>MARQUE</translation>
|
<translation type="obsolete">MARQUE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TRACK</source>
|
<source>TRACK</source>
|
||||||
<translation>TRACK</translation>
|
<translation type="obsolete">TRACK</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>LINK</source>
|
<source>LINK</source>
|
||||||
<translation>LIEN</translation>
|
<translation type="obsolete">LIEN</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[music import]</source>
|
<source>[music import]</source>
|
||||||
<translation>[import musique]</translation>
|
<translation type="obsolete">[import musique]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[traffic import]</source>
|
<source>[traffic import]</source>
|
||||||
<translation>[import pub]</translation>
|
<translation type="obsolete">[import pub]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>CHAIN TO</source>
|
<source>CHAIN TO</source>
|
||||||
<translation>LIER A</translation>
|
<translation type="obsolete">LIER A</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[CART NOT FOUND]</source>
|
<source>[CART NOT FOUND]</source>
|
||||||
<translation>[CART INCONNU]</translation>
|
<translation type="obsolete">[CART INCONNU]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO VALID CUT AVAILABLE]</source>
|
<source>[NO VALID CUT AVAILABLE]</source>
|
||||||
<translation>[PAS DE CUT DISPONIBLE]</translation>
|
<translation type="obsolete">[PAS DE CUT DISPONIBLE]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO AUDIO AVAILABLE]</source>
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
<translation>[PAS DE SON DISPONIBLE]</translation>
|
<translation type="obsolete">[PAS DE SON DISPONIBLE]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>T</source>
|
<source>T</source>
|
||||||
<translation type="unfinished">T</translation>
|
<translation type="obsolete">T</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pause</source>
|
<source>Pause</source>
|
||||||
@ -381,7 +381,7 @@ un Log</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Selected:</source>
|
<source>Selected:</source>
|
||||||
<translation>Sélection:</translation>
|
<translation type="unfinished">Sélection:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Audition
|
<source>Audition
|
||||||
@ -403,70 +403,6 @@ la Fin</translation>
|
|||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Len</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Trans</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Cart</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Title</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Artist</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Group</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Album</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Label</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Client</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Agency</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Marker</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Line ID</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Count</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Status</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Est. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Sch. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ListLogs</name>
|
<name>ListLogs</name>
|
||||||
|
@ -305,19 +305,19 @@ logg</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>--- end of log ---</source>
|
<source>--- end of log ---</source>
|
||||||
<translation>--- slutt på loggen ---</translation>
|
<translation type="obsolete">--- slutt på loggen ---</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PLAY</source>
|
<source>PLAY</source>
|
||||||
<translation>SPEL</translation>
|
<translation type="obsolete">SPEL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>STOP</source>
|
<source>STOP</source>
|
||||||
<translation>STOPP</translation>
|
<translation type="obsolete">STOPP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SEGUE</source>
|
<source>SEGUE</source>
|
||||||
<translation>OVERGANG</translation>
|
<translation type="obsolete">OVERGANG</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>OVERLAP</source>
|
<source>OVERLAP</source>
|
||||||
@ -325,43 +325,43 @@ logg</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>MARKER</source>
|
<source>MARKER</source>
|
||||||
<translation>MARKØR</translation>
|
<translation type="obsolete">MARKØR</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TRACK</source>
|
<source>TRACK</source>
|
||||||
<translation>SPOR</translation>
|
<translation type="obsolete">SPOR</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>LINK</source>
|
<source>LINK</source>
|
||||||
<translation>LENKJE</translation>
|
<translation type="obsolete">LENKJE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[music import]</source>
|
<source>[music import]</source>
|
||||||
<translation>[musikkimport]</translation>
|
<translation type="obsolete">[musikkimport]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[traffic import]</source>
|
<source>[traffic import]</source>
|
||||||
<translation>[trafikkimport]</translation>
|
<translation type="obsolete">[trafikkimport]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>CHAIN TO</source>
|
<source>CHAIN TO</source>
|
||||||
<translation>LENK TIL</translation>
|
<translation type="obsolete">LENK TIL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[CART NOT FOUND]</source>
|
<source>[CART NOT FOUND]</source>
|
||||||
<translation>[FANN IKKJE KORG]</translation>
|
<translation type="obsolete">[FANN IKKJE KORG]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO VALID CUT AVAILABLE]</source>
|
<source>[NO VALID CUT AVAILABLE]</source>
|
||||||
<translation>[GYLDIG KUTT FINST IKKJE</translation>
|
<translation type="obsolete">[GYLDIG KUTT FINST IKKJE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO AUDIO AVAILABLE]</source>
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
<translation>[LYD FINST IKKJE]</translation>
|
<translation type="obsolete">[LYD FINST IKKJE]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>T</source>
|
<source>T</source>
|
||||||
<translation type="unfinished">S</translation>
|
<translation type="obsolete">S</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pause</source>
|
<source>Pause</source>
|
||||||
@ -397,76 +397,12 @@ Tail</source>
|
|||||||
<source>Start</source>
|
<source>Start</source>
|
||||||
<translation type="unfinished">Start</translation>
|
<translation type="unfinished">Start</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Selected:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Len</source>
|
<source>Selected:</source>
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Trans</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Cart</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Title</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Artist</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Group</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Album</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Label</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Client</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Agency</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Marker</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Line ID</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Count</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Status</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Est. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Sch. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -305,19 +305,19 @@ logg</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>--- end of log ---</source>
|
<source>--- end of log ---</source>
|
||||||
<translation>--- slutt på loggen ---</translation>
|
<translation type="obsolete">--- slutt på loggen ---</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PLAY</source>
|
<source>PLAY</source>
|
||||||
<translation>SPEL</translation>
|
<translation type="obsolete">SPEL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>STOP</source>
|
<source>STOP</source>
|
||||||
<translation>STOPP</translation>
|
<translation type="obsolete">STOPP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SEGUE</source>
|
<source>SEGUE</source>
|
||||||
<translation>OVERGANG</translation>
|
<translation type="obsolete">OVERGANG</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>OVERLAP</source>
|
<source>OVERLAP</source>
|
||||||
@ -325,43 +325,43 @@ logg</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>MARKER</source>
|
<source>MARKER</source>
|
||||||
<translation>MARKØR</translation>
|
<translation type="obsolete">MARKØR</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TRACK</source>
|
<source>TRACK</source>
|
||||||
<translation>SPOR</translation>
|
<translation type="obsolete">SPOR</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>LINK</source>
|
<source>LINK</source>
|
||||||
<translation>LENKJE</translation>
|
<translation type="obsolete">LENKJE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[music import]</source>
|
<source>[music import]</source>
|
||||||
<translation>[musikkimport]</translation>
|
<translation type="obsolete">[musikkimport]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[traffic import]</source>
|
<source>[traffic import]</source>
|
||||||
<translation>[trafikkimport]</translation>
|
<translation type="obsolete">[trafikkimport]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>CHAIN TO</source>
|
<source>CHAIN TO</source>
|
||||||
<translation>LENK TIL</translation>
|
<translation type="obsolete">LENK TIL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[CART NOT FOUND]</source>
|
<source>[CART NOT FOUND]</source>
|
||||||
<translation>[FANN IKKJE KORG]</translation>
|
<translation type="obsolete">[FANN IKKJE KORG]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO VALID CUT AVAILABLE]</source>
|
<source>[NO VALID CUT AVAILABLE]</source>
|
||||||
<translation>[GYLDIG KUTT FINST IKKJE</translation>
|
<translation type="obsolete">[GYLDIG KUTT FINST IKKJE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO AUDIO AVAILABLE]</source>
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
<translation>[LYD FINST IKKJE]</translation>
|
<translation type="obsolete">[LYD FINST IKKJE]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>T</source>
|
<source>T</source>
|
||||||
<translation type="unfinished">S</translation>
|
<translation type="obsolete">S</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pause</source>
|
<source>Pause</source>
|
||||||
@ -397,76 +397,12 @@ Tail</source>
|
|||||||
<source>Start</source>
|
<source>Start</source>
|
||||||
<translation type="unfinished">Start</translation>
|
<translation type="unfinished">Start</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Selected:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Len</source>
|
<source>Selected:</source>
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Trans</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Cart</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Title</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Artist</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Group</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Album</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Label</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Client</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Agency</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Marker</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Line ID</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Count</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Status</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Est. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Sch. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -330,63 +330,63 @@ Log</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Selected:</source>
|
<source>Selected:</source>
|
||||||
<translation>Selecionado:</translation>
|
<translation type="unfinished">Selecionado:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>--- end of log ---</source>
|
<source>--- end of log ---</source>
|
||||||
<translation>Fim da Lista</translation>
|
<translation type="obsolete">Fim da Lista</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PLAY</source>
|
<source>PLAY</source>
|
||||||
<translation>TOQUE</translation>
|
<translation type="obsolete">TOQUE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>STOP</source>
|
<source>STOP</source>
|
||||||
<translation>PARE</translation>
|
<translation type="obsolete">PARE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SEGUE</source>
|
<source>SEGUE</source>
|
||||||
<translation>SOBRE</translation>
|
<translation type="obsolete">SOBRE</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>MARKER</source>
|
<source>MARKER</source>
|
||||||
<translation>MARCADOR</translation>
|
<translation type="obsolete">MARCADOR</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TRACK</source>
|
<source>TRACK</source>
|
||||||
<translation>PISTA</translation>
|
<translation type="obsolete">PISTA</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>LINK</source>
|
<source>LINK</source>
|
||||||
<translation>LINK</translation>
|
<translation type="obsolete">LINK</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[music import]</source>
|
<source>[music import]</source>
|
||||||
<translation>[importar música]</translation>
|
<translation type="obsolete">[importar música]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[traffic import]</source>
|
<source>[traffic import]</source>
|
||||||
<translation>[importar tráfego]</translation>
|
<translation type="obsolete">[importar tráfego]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>CHAIN TO</source>
|
<source>CHAIN TO</source>
|
||||||
<translation>CORRENTE PARA</translation>
|
<translation type="obsolete">CORRENTE PARA</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[CART NOT FOUND]</source>
|
<source>[CART NOT FOUND]</source>
|
||||||
<translation>[CART NÃO ENCONTRADO]</translation>
|
<translation type="obsolete">[CART NÃO ENCONTRADO]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO VALID CUT AVAILABLE]</source>
|
<source>[NO VALID CUT AVAILABLE]</source>
|
||||||
<translation>[NÃO HÁ CONTEÚDO VÁLIDO]</translation>
|
<translation type="obsolete">[NÃO HÁ CONTEÚDO VÁLIDO]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>[NO AUDIO AVAILABLE]</source>
|
<source>[NO AUDIO AVAILABLE]</source>
|
||||||
<translation>[NÃO HÁ ÁUDIO VÁLIDO]</translation>
|
<translation type="obsolete">[NÃO HÁ ÁUDIO VÁLIDO]</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>T</source>
|
<source>T</source>
|
||||||
<translation type="unfinished">T</translation>
|
<translation type="obsolete">T</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pause</source>
|
<source>Pause</source>
|
||||||
@ -400,70 +400,6 @@ Log</source>
|
|||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Len</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Trans</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Cart</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Title</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Artist</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Group</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Album</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Label</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Client</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Agency</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Marker</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Line ID</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Count</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Status</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Est. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Sch. Time</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ListLogs</name>
|
<name>ListLogs</name>
|
||||||
|
@ -710,7 +710,7 @@ void EditLog::insertCartButtonData()
|
|||||||
edit_log_model,line,this);
|
edit_log_model,line,this);
|
||||||
int ret=edit->exec();
|
int ret=edit->exec();
|
||||||
if(ret>=0) {
|
if(ret>=0) {
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
SetLogModified(true);
|
SetLogModified(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -744,7 +744,7 @@ void EditLog::insertMarkerButtonData()
|
|||||||
edit_marker=new EditMarker(edit_log_model->logLine(line),this);
|
edit_marker=new EditMarker(edit_log_model->logLine(line),this);
|
||||||
ret=edit_marker->exec();
|
ret=edit_marker->exec();
|
||||||
if(ret>=0) {
|
if(ret>=0) {
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
SetLogModified(true);
|
SetLogModified(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -761,7 +761,7 @@ void EditLog::insertMarkerButtonData()
|
|||||||
edit_track=new EditTrack(edit_log_model->logLine(line),this);
|
edit_track=new EditTrack(edit_log_model->logLine(line),this);
|
||||||
ret=edit_track->exec();
|
ret=edit_track->exec();
|
||||||
if(ret>=0) {
|
if(ret>=0) {
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
SetLogModified(true);
|
SetLogModified(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -776,7 +776,7 @@ void EditLog::insertMarkerButtonData()
|
|||||||
edit_chain=new EditChain(edit_log_model->logLine(line),this);
|
edit_chain=new EditChain(edit_log_model->logLine(line),this);
|
||||||
ret=edit_chain->exec();
|
ret=edit_chain->exec();
|
||||||
if(ret>=0) {
|
if(ret>=0) {
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
SetLogModified(true);
|
SetLogModified(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -854,7 +854,7 @@ void EditLog::editButtonData()
|
|||||||
edit_schedcode,edit_service_box->currentText(),
|
edit_schedcode,edit_service_box->currentText(),
|
||||||
edit_log_model,line,this);
|
edit_log_model,line,this);
|
||||||
if(edit_cart->exec()>=0) {
|
if(edit_cart->exec()>=0) {
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
SetLogModified(true);
|
SetLogModified(true);
|
||||||
}
|
}
|
||||||
delete edit_cart;
|
delete edit_cart;
|
||||||
@ -995,7 +995,7 @@ void EditLog::cartDroppedData(int line,RDLogLine *ll)
|
|||||||
edit_log_model->logLine(line)->setTransType(edit_default_trans);
|
edit_log_model->logLine(line)->setTransType(edit_default_trans);
|
||||||
edit_log_model->logLine(line)->setFadeupGain(-3000);
|
edit_log_model->logLine(line)->setFadeupGain(-3000);
|
||||||
edit_log_model->logLine(line)->setFadedownGain(-3000);
|
edit_log_model->logLine(line)->setFadedownGain(-3000);
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
SetLogModified(true);
|
SetLogModified(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ void LogModel::setServiceName(const QString &str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QColor LogModel::backgroundColor(int line,RDLogLine *ll) const
|
QColor LogModel::rowBackgroundColor(int row,RDLogLine *ll) const
|
||||||
{
|
{
|
||||||
QDateTime now=QDateTime(QDate::currentDate(),QTime::currentTime());
|
QDateTime now=QDateTime(QDate::currentDate(),QTime::currentTime());
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ QColor LogModel::backgroundColor(int line,RDLogLine *ll) const
|
|||||||
case RDCart::AlwaysValid:
|
case RDCart::AlwaysValid:
|
||||||
if(d_group_list->groupIsValid(ll->groupName())||
|
if(d_group_list->groupIsValid(ll->groupName())||
|
||||||
ll->groupName().isEmpty()) {
|
ll->groupName().isEmpty()) {
|
||||||
return RDLogModel::backgroundColor(line,ll);
|
return RDLogModel::rowBackgroundColor(row,ll);
|
||||||
}
|
}
|
||||||
return RD_CART_INVALID_SERVICE_COLOR;
|
return RD_CART_INVALID_SERVICE_COLOR;
|
||||||
|
|
||||||
@ -102,9 +102,9 @@ QColor LogModel::backgroundColor(int line,RDLogLine *ll) const
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
if(d_group_list->groupIsValid(ll->groupName())||ll->groupName().isEmpty()) {
|
if(d_group_list->groupIsValid(ll->groupName())||ll->groupName().isEmpty()) {
|
||||||
return RDLogModel::backgroundColor(line,ll);
|
return RDLogModel::rowBackgroundColor(row,ll);
|
||||||
}
|
}
|
||||||
return RD_CART_INVALID_SERVICE_COLOR;
|
return RD_CART_INVALID_SERVICE_COLOR;
|
||||||
}
|
}
|
||||||
return RDLogModel::backgroundColor(line,ll);
|
return RDLogModel::rowBackgroundColor(row,ll);
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ class LogModel : public RDLogModel
|
|||||||
void setServiceName(const QString &str);
|
void setServiceName(const QString &str);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QColor backgroundColor(int line,RDLogLine *ll) const;
|
QColor rowBackgroundColor(int row,RDLogLine *ll) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RDGroupList *d_group_list;
|
RDGroupList *d_group_list;
|
||||||
|
@ -1019,7 +1019,7 @@ void VoiceTracker::resetData()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(d_loaded) {
|
if(d_loaded) {
|
||||||
d_log_model->refresh(line);
|
d_log_model->update(line);
|
||||||
d_tracks++;
|
d_tracks++;
|
||||||
}
|
}
|
||||||
LoadBlockLength(d_track_line);
|
LoadBlockLength(d_track_line);
|
||||||
@ -1074,7 +1074,7 @@ void VoiceTracker::insertData(int line,RDLogLine *logline,bool warn)
|
|||||||
d_log_model->logLine(line)->setType(RDLogLine::Track);
|
d_log_model->logLine(line)->setType(RDLogLine::Track);
|
||||||
d_log_model->logLine(line)->setTransType(RDLogLine::Segue);
|
d_log_model->logLine(line)->setTransType(RDLogLine::Segue);
|
||||||
d_log_model->logLine(line)->setMarkerComment(tr("Voice Track"));
|
d_log_model->logLine(line)->setMarkerComment(tr("Voice Track"));
|
||||||
d_log_model->refresh(line);
|
d_log_model->update(line);
|
||||||
|
|
||||||
d_tracks++;
|
d_tracks++;
|
||||||
d_size_altered=true;
|
d_size_altered=true;
|
||||||
|
@ -36,7 +36,7 @@ void MainObject::Addcart(int line,unsigned cartnum)
|
|||||||
edit_log_model->logLine(line)->setFadeupGain(-3000);
|
edit_log_model->logLine(line)->setFadeupGain(-3000);
|
||||||
edit_log_model->logLine(line)->setFadedownGain(-3000);
|
edit_log_model->logLine(line)->setFadedownGain(-3000);
|
||||||
edit_log_model->logLine(line)->setCartNumber(cartnum);
|
edit_log_model->logLine(line)->setCartNumber(cartnum);
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
edit_modified=true;
|
edit_modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ void MainObject::Addchain(int line,const QString &logname)
|
|||||||
edit_log_model->logLine(line)->
|
edit_log_model->logLine(line)->
|
||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
edit_log_model->logLine(line)->setMarkerLabel(logname);
|
edit_log_model->logLine(line)->setMarkerLabel(logname);
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
edit_modified=true;
|
edit_modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ void MainObject::Addmarker(int line)
|
|||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
edit_log_model->logLine(line)->setMarkerLabel(tr("Label"));
|
edit_log_model->logLine(line)->setMarkerLabel(tr("Label"));
|
||||||
edit_log_model->logLine(line)->setMarkerComment(tr("Marker Comment"));
|
edit_log_model->logLine(line)->setMarkerComment(tr("Marker Comment"));
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
edit_modified=true;
|
edit_modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ void MainObject::Addtrack(int line)
|
|||||||
edit_log_model->logLine(line)->
|
edit_log_model->logLine(line)->
|
||||||
setTransType(rda->airplayConf()->defaultTransType());
|
setTransType(rda->airplayConf()->defaultTransType());
|
||||||
edit_log_model->logLine(line)->setMarkerComment(tr("Voice Track"));
|
edit_log_model->logLine(line)->setMarkerComment(tr("Voice Track"));
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
edit_modified=true;
|
edit_modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -462,7 +462,7 @@ void MainObject::Setcart(int line,unsigned cartnum)
|
|||||||
if((logline->type()==RDLogLine::Cart)||
|
if((logline->type()==RDLogLine::Cart)||
|
||||||
(logline->type()==RDLogLine::Macro)) {
|
(logline->type()==RDLogLine::Macro)) {
|
||||||
logline->setCartNumber(cartnum);
|
logline->setCartNumber(cartnum);
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
edit_modified=true;
|
edit_modified=true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -482,7 +482,7 @@ void MainObject::Setcomment(int line,const QString &str)
|
|||||||
if((logline->type()==RDLogLine::Marker)||
|
if((logline->type()==RDLogLine::Marker)||
|
||||||
(logline->type()==RDLogLine::Track)) {
|
(logline->type()==RDLogLine::Track)) {
|
||||||
logline->setMarkerComment(str);
|
logline->setMarkerComment(str);
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
edit_modified=true;
|
edit_modified=true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -516,7 +516,7 @@ void MainObject::Setlabel(int line,const QString &str)
|
|||||||
if((logline->type()==RDLogLine::Chain)||
|
if((logline->type()==RDLogLine::Chain)||
|
||||||
(logline->type()==RDLogLine::Marker)) {
|
(logline->type()==RDLogLine::Marker)) {
|
||||||
logline->setMarkerLabel(str);
|
logline->setMarkerLabel(str);
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
edit_modified=true;
|
edit_modified=true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -562,7 +562,7 @@ void MainObject::Settime(int line,RDLogLine::TimeType type,const QTime &time)
|
|||||||
void MainObject::Settrans(int line,RDLogLine::TransType type)
|
void MainObject::Settrans(int line,RDLogLine::TransType type)
|
||||||
{
|
{
|
||||||
edit_log_model->logLine(line)->setTransType(type);
|
edit_log_model->logLine(line)->setTransType(type);
|
||||||
edit_log_model->refresh(line);
|
edit_log_model->update(line);
|
||||||
edit_modified=true;
|
edit_modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user