mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-06-06 15:12:42 +02:00
resolved conflict in ChangeLog
This commit is contained in:
commit
37fc03231c
@ -15093,3 +15093,8 @@
|
|||||||
2015-04-26 Brian McGlynn <brian.mcglynn@geneseemedia.net>
|
2015-04-26 Brian McGlynn <brian.mcglynn@geneseemedia.net>
|
||||||
* Added "Group By" statement in 'rdlibrary/rdlibrary.cpp' to allow a
|
* Added "Group By" statement in 'rdlibrary/rdlibrary.cpp' to allow a
|
||||||
full 100 results to be shown
|
full 100 results to be shown
|
||||||
|
2015-04-26 Brian McGlynn <brian.mcglynn@geneseemedia.net>
|
||||||
|
* Refactored RDLogEditor code to improve performance when
|
||||||
|
saving and updating logs. (from albanpeigner pull request #42)
|
||||||
|
* Created modification pointer in voicetracker for better performance
|
||||||
|
over WAN networks
|
||||||
|
@ -133,6 +133,14 @@ int RDLogEvent::load(bool track_ptrs)
|
|||||||
return log_line.size();
|
return log_line.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RDLogEvent::saveModified(bool update_tracks)
|
||||||
|
{
|
||||||
|
for(unsigned i=0;i<log_line.size();i++) {
|
||||||
|
if(log_line[i]->hasBeenModified()) {
|
||||||
|
save(update_tracks, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void RDLogEvent::save(bool update_tracks,int line)
|
void RDLogEvent::save(bool update_tracks,int line)
|
||||||
{
|
{
|
||||||
@ -149,8 +157,15 @@ void RDLogEvent::save(bool update_tracks,int line)
|
|||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
RDCreateLogTable(log_name);
|
RDCreateLogTable(log_name);
|
||||||
for(unsigned i=0;i<log_line.size();i++) {
|
if (log_line.size() > 0) {
|
||||||
SaveLine(i);
|
QString values = "";
|
||||||
|
for(unsigned i=0;i<log_line.size();i++) {
|
||||||
|
InsertLineValues(&values, i);
|
||||||
|
if (i<log_line.size()-1) {
|
||||||
|
values += ",";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
InsertLines(values);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -159,6 +174,8 @@ void RDLogEvent::save(bool update_tracks,int line)
|
|||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
SaveLine(line);
|
SaveLine(line);
|
||||||
|
// BPM - Clear the modified flag
|
||||||
|
log_line[line]->clearModified();
|
||||||
}
|
}
|
||||||
RDLog *log=new RDLog(log_name.left(log_name.length()-4));
|
RDLog *log=new RDLog(log_name.left(log_name.length()-4));
|
||||||
if(log->nextId()<nextId()) {
|
if(log->nextId()<nextId()) {
|
||||||
@ -1098,6 +1115,7 @@ from `%s` left join CART on `%s`.CART_NUMBER=CART.NUMBER order by COUNT",
|
|||||||
q->value(40).toInt());
|
q->value(40).toInt());
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
line.clearModified();
|
||||||
log_line.push_back(new RDLogLine(line));
|
log_line.push_back(new RDLogLine(line));
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
@ -1145,82 +1163,89 @@ from `%s` left join CART on `%s`.CART_NUMBER=CART.NUMBER order by COUNT",
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDLogEvent::SaveLine(int line)
|
|
||||||
{
|
void RDLogEvent::InsertLines(QString values) {
|
||||||
QString sql;
|
QString sql;
|
||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
sql=QString().sprintf("insert into `%s` set ID=%d,COUNT=%d,\
|
|
||||||
CART_NUMBER=%u,START_TIME=%d,TIME_TYPE=%d,\
|
|
||||||
TRANS_TYPE=%d,START_POINT=%d,END_POINT=%d,\
|
|
||||||
SEGUE_START_POINT=%d,SEGUE_END_POINT=%d,TYPE=%d,\
|
|
||||||
COMMENT=\"%s\",LABEL=\"%s\",GRACE_TIME=%d,\
|
|
||||||
SOURCE=%d,EXT_START_TIME=\"%s\",\
|
|
||||||
EXT_LENGTH=%d,EXT_DATA=\"%s\",EXT_EVENT_ID=\"%s\",\
|
|
||||||
EXT_ANNC_TYPE=\"%s\",EXT_CART_NAME=\"%s\",\
|
|
||||||
FADEUP_POINT=%d,FADEUP_GAIN=%d,FADEDOWN_POINT=%d,\
|
|
||||||
FADEDOWN_GAIN=%d,SEGUE_GAIN=%d,\
|
|
||||||
LINK_EVENT_NAME=\"%s\",LINK_START_TIME=%d,\
|
|
||||||
LINK_LENGTH=%d,LINK_ID=%d,LINK_EMBEDDED=\"%s\",\
|
|
||||||
ORIGIN_USER=\"%s\",ORIGIN_DATETIME=\"%s\",\
|
|
||||||
LINK_START_SLOP=%d,LINK_END_SLOP=%d,\
|
|
||||||
DUCK_UP_GAIN=%d,DUCK_DOWN_GAIN=%d,\
|
|
||||||
EVENT_LENGTH=%d",
|
|
||||||
(const char *)log_name,
|
|
||||||
log_line[line]->id(),
|
|
||||||
line,
|
|
||||||
log_line[line]->cartNumber(),
|
|
||||||
QTime().msecsTo(log_line[line]->
|
|
||||||
startTime(RDLogLine::Logged)),
|
|
||||||
(int)log_line[line]->timeType(),
|
|
||||||
(int)log_line[line]->transType(),
|
|
||||||
log_line[line]->startPoint(RDLogLine::LogPointer),
|
|
||||||
log_line[line]->endPoint(RDLogLine::LogPointer),
|
|
||||||
log_line[line]->segueStartPoint(RDLogLine::LogPointer),
|
|
||||||
log_line[line]->segueEndPoint(RDLogLine::LogPointer),
|
|
||||||
log_line[line]->type(),
|
|
||||||
(const char *)
|
|
||||||
RDEscapeString(log_line[line]->markerComment()),
|
|
||||||
(const char *)
|
|
||||||
RDEscapeString(log_line[line]->markerLabel()),
|
|
||||||
log_line[line]->graceTime(),
|
|
||||||
log_line[line]->source(),
|
|
||||||
(const char *)log_line[line]->extStartTime().
|
|
||||||
toString("hh:mm:ss"),
|
|
||||||
log_line[line]->extLength(),
|
|
||||||
(const char *)RDEscapeString(log_line[line]->extData()),
|
|
||||||
(const char *)
|
|
||||||
RDEscapeString(log_line[line]->extEventId()),
|
|
||||||
(const char *)
|
|
||||||
RDEscapeString(log_line[line]->extAnncType()),
|
|
||||||
(const char *)
|
|
||||||
RDEscapeString(log_line[line]->extCartName()),
|
|
||||||
log_line[line]->fadeupPoint(RDLogLine::LogPointer),
|
|
||||||
log_line[line]->fadeupGain(),
|
|
||||||
log_line[line]->fadedownPoint(RDLogLine::LogPointer),
|
|
||||||
log_line[line]->fadedownGain(),
|
|
||||||
log_line[line]->segueGain(),
|
|
||||||
(const char *)
|
|
||||||
RDEscapeString(log_line[line]->linkEventName()),
|
|
||||||
QTime().msecsTo(log_line[line]->linkStartTime()),
|
|
||||||
log_line[line]->linkLength(),
|
|
||||||
log_line[line]->linkId(),
|
|
||||||
(const char *)RDYesNo(log_line[line]->linkEmbedded()),
|
|
||||||
(const char *)
|
|
||||||
RDEscapeString(log_line[line]->originUser()),
|
|
||||||
(const char *)log_line[line]->originDateTime().
|
|
||||||
toString("yyyy-MM-dd hh:mm:ss"),
|
|
||||||
log_line[line]->linkStartSlop(),
|
|
||||||
log_line[line]->linkEndSlop(),
|
|
||||||
log_line[line]->duckUpGain(),
|
|
||||||
log_line[line]->duckDownGain(),
|
|
||||||
log_line[line]->eventLength());
|
|
||||||
|
|
||||||
// printf("SQL: %s\n",(const char *)sql);
|
sql = QString().sprintf("insert into `%s` (ID,COUNT,CART_NUMBER,START_TIME,TIME_TYPE,\
|
||||||
|
TRANS_TYPE,START_POINT,END_POINT,SEGUE_START_POINT,SEGUE_END_POINT,TYPE, \
|
||||||
|
COMMENT,LABEL,GRACE_TIME,SOURCE,EXT_START_TIME, \
|
||||||
|
EXT_LENGTH,EXT_DATA,EXT_EVENT_ID,EXT_ANNC_TYPE,EXT_CART_NAME, \
|
||||||
|
FADEUP_POINT,FADEUP_GAIN,FADEDOWN_POINT,FADEDOWN_GAIN,SEGUE_GAIN, \
|
||||||
|
LINK_EVENT_NAME,LINK_START_TIME,LINK_LENGTH,LINK_ID,LINK_EMBEDDED, \
|
||||||
|
ORIGIN_USER,ORIGIN_DATETIME,LINK_START_SLOP,LINK_END_SLOP, \
|
||||||
|
DUCK_UP_GAIN,DUCK_DOWN_GAIN,EVENT_LENGTH) values %s",
|
||||||
|
(const char *)log_name,
|
||||||
|
(const char *)values);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RDLogEvent::InsertLineValues(QString *query, int line)
|
||||||
|
{
|
||||||
|
// one line to save query space
|
||||||
|
QString sql=QString().sprintf("(%d,%d,%u,%d,%d,%d,%d,%d,%d,%d,%d,\"%s\",\"%s\",%d,%d,\"%s\",%d,\"%s\",\"%s\",\"%s\",\"%s\",%d,%d,%d,%d,%d,\"%s\",%d,%d,%d,\"%s\",\"%s\",\"%s\",%d,%d,%d,%d,%d)",
|
||||||
|
log_line[line]->id(),
|
||||||
|
line,
|
||||||
|
log_line[line]->cartNumber(),
|
||||||
|
QTime().msecsTo(log_line[line]->
|
||||||
|
startTime(RDLogLine::Logged)),
|
||||||
|
(int)log_line[line]->timeType(),
|
||||||
|
(int)log_line[line]->transType(),
|
||||||
|
log_line[line]->startPoint(RDLogLine::LogPointer),
|
||||||
|
log_line[line]->endPoint(RDLogLine::LogPointer),
|
||||||
|
log_line[line]->segueStartPoint(RDLogLine::LogPointer),
|
||||||
|
log_line[line]->segueEndPoint(RDLogLine::LogPointer),
|
||||||
|
log_line[line]->type(),
|
||||||
|
(const char *)
|
||||||
|
RDEscapeString(log_line[line]->markerComment()),
|
||||||
|
(const char *)
|
||||||
|
RDEscapeString(log_line[line]->markerLabel()),
|
||||||
|
log_line[line]->graceTime(),
|
||||||
|
log_line[line]->source(),
|
||||||
|
(const char *)log_line[line]->extStartTime().
|
||||||
|
toString("hh:mm:ss"),
|
||||||
|
log_line[line]->extLength(),
|
||||||
|
(const char *)RDEscapeString(log_line[line]->extData()),
|
||||||
|
(const char *)
|
||||||
|
RDEscapeString(log_line[line]->extEventId()),
|
||||||
|
(const char *)
|
||||||
|
RDEscapeString(log_line[line]->extAnncType()),
|
||||||
|
(const char *)
|
||||||
|
RDEscapeString(log_line[line]->extCartName()),
|
||||||
|
log_line[line]->fadeupPoint(RDLogLine::LogPointer),
|
||||||
|
log_line[line]->fadeupGain(),
|
||||||
|
log_line[line]->fadedownPoint(RDLogLine::LogPointer),
|
||||||
|
log_line[line]->fadedownGain(),
|
||||||
|
log_line[line]->segueGain(),
|
||||||
|
(const char *)
|
||||||
|
RDEscapeString(log_line[line]->linkEventName()),
|
||||||
|
QTime().msecsTo(log_line[line]->linkStartTime()),
|
||||||
|
log_line[line]->linkLength(),
|
||||||
|
log_line[line]->linkId(),
|
||||||
|
(const char *)RDYesNo(log_line[line]->linkEmbedded()),
|
||||||
|
(const char *)
|
||||||
|
RDEscapeString(log_line[line]->originUser()),
|
||||||
|
(const char *)log_line[line]->originDateTime().
|
||||||
|
toString("yyyy-MM-dd hh:mm:ss"),
|
||||||
|
log_line[line]->linkStartSlop(),
|
||||||
|
log_line[line]->linkEndSlop(),
|
||||||
|
log_line[line]->duckUpGain(),
|
||||||
|
log_line[line]->duckDownGain(),
|
||||||
|
log_line[line]->eventLength());
|
||||||
|
*query += sql;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RDLogEvent::SaveLine(int line)
|
||||||
|
{
|
||||||
|
QString values = "";
|
||||||
|
InsertLineValues(&values, line);
|
||||||
|
InsertLines(values);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDLogEvent::LoadNowNext(unsigned from_line)
|
void RDLogEvent::LoadNowNext(unsigned from_line)
|
||||||
{
|
{
|
||||||
std::vector<QString> groups;
|
std::vector<QString> groups;
|
||||||
|
@ -45,6 +45,7 @@ class RDLogEvent
|
|||||||
void setLogName(QString logname);
|
void setLogName(QString logname);
|
||||||
QString serviceName() const;
|
QString serviceName() const;
|
||||||
int load(bool track_ptrs=false);
|
int load(bool track_ptrs=false);
|
||||||
|
void saveModified(bool update_tracks=true);
|
||||||
void save(bool update_tracks=true,int line=-1);
|
void save(bool update_tracks=true,int line=-1);
|
||||||
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);
|
||||||
@ -75,6 +76,8 @@ class RDLogEvent
|
|||||||
private:
|
private:
|
||||||
int LoadLines(const QString &log_table,int id_offset,bool track_ptrs);
|
int LoadLines(const QString &log_table,int id_offset,bool track_ptrs);
|
||||||
void SaveLine(int line);
|
void SaveLine(int line);
|
||||||
|
void InsertLines(QString values);
|
||||||
|
void InsertLineValues(QString *query, int line);
|
||||||
void LoadNowNext(unsigned from_line);
|
void LoadNowNext(unsigned from_line);
|
||||||
QString log_name;
|
QString log_name;
|
||||||
QString log_service_name;
|
QString log_service_name;
|
||||||
|
@ -2,9 +2,7 @@
|
|||||||
//
|
//
|
||||||
// A container class for a Rivendell Log Line.
|
// A container class for a Rivendell Log Line.
|
||||||
//
|
//
|
||||||
// (C) Copyright 2002-2004 Fred Gleason <fredg@paravelsystems.com>
|
// (C) Copyright 2002-2016 Fred Gleason <fredg@paravelsystems.com>
|
||||||
//
|
|
||||||
// $Id: rdlog_line.cpp,v 1.113.4.13.2.2 2014/05/22 16:12:54 cvs Exp $
|
|
||||||
//
|
//
|
||||||
// This program is free software; you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU General Public License version 2 as
|
||||||
@ -26,13 +24,14 @@
|
|||||||
|
|
||||||
#include <qobject.h>
|
#include <qobject.h>
|
||||||
|
|
||||||
#include <rddb.h>
|
#include "rddb.h"
|
||||||
#include <rdconf.h>
|
#include "rdconf.h"
|
||||||
#include <rd.h>
|
#include "rd.h"
|
||||||
#include <rdlog_line.h>
|
#include "rdlog_line.h"
|
||||||
#include <rdcut.h>
|
#include "rdcut.h"
|
||||||
#include <rdmacro_event.h>
|
#include "rdmacro_event.h"
|
||||||
#include <rdweb.h>
|
#include "rdweb.h"
|
||||||
|
#include "rdescape_string.h"
|
||||||
|
|
||||||
RDLogLine::RDLogLine()
|
RDLogLine::RDLogLine()
|
||||||
{
|
{
|
||||||
@ -68,9 +67,19 @@ RDLogLine::RDLogLine(unsigned cartnum)
|
|||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RDLogLine::clearModified(void)
|
||||||
|
{
|
||||||
|
modified = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RDLogLine::hasBeenModified(void)
|
||||||
|
{
|
||||||
|
return modified;
|
||||||
|
}
|
||||||
|
|
||||||
void RDLogLine::clear()
|
void RDLogLine::clear()
|
||||||
{
|
{
|
||||||
|
clearModified();
|
||||||
log_id=-1;
|
log_id=-1;
|
||||||
log_status=RDLogLine::Scheduled;
|
log_status=RDLogLine::Scheduled;
|
||||||
log_state=RDLogLine::Ok;
|
log_state=RDLogLine::Ok;
|
||||||
@ -216,6 +225,7 @@ int RDLogLine::id() const
|
|||||||
void RDLogLine::setId(int id)
|
void RDLogLine::setId(int id)
|
||||||
{
|
{
|
||||||
log_id=id;
|
log_id=id;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -321,6 +331,7 @@ RDLogLine::Source RDLogLine::source() const
|
|||||||
void RDLogLine::setSource(RDLogLine::Source src)
|
void RDLogLine::setSource(RDLogLine::Source src)
|
||||||
{
|
{
|
||||||
log_source=src;
|
log_source=src;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -333,6 +344,7 @@ unsigned RDLogLine::cartNumber() const
|
|||||||
void RDLogLine::setCartNumber(unsigned cart)
|
void RDLogLine::setCartNumber(unsigned cart)
|
||||||
{
|
{
|
||||||
log_cart_number=cart;
|
log_cart_number=cart;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -360,6 +372,7 @@ int RDLogLine::graceTime() const
|
|||||||
void RDLogLine::setGraceTime(int time)
|
void RDLogLine::setGraceTime(int time)
|
||||||
{
|
{
|
||||||
log_grace_time=time;
|
log_grace_time=time;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -384,6 +397,7 @@ QString RDLogLine::originUser() const
|
|||||||
void RDLogLine::setOriginUser(const QString &username)
|
void RDLogLine::setOriginUser(const QString &username)
|
||||||
{
|
{
|
||||||
log_origin_user=username;
|
log_origin_user=username;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -396,6 +410,7 @@ QDateTime RDLogLine::originDateTime() const
|
|||||||
void RDLogLine::setOriginDateTime(const QDateTime &datetime)
|
void RDLogLine::setOriginDateTime(const QDateTime &datetime)
|
||||||
{
|
{
|
||||||
log_origin_datetime=datetime;
|
log_origin_datetime=datetime;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -426,6 +441,7 @@ int RDLogLine::startPoint(PointerSource ptr) const
|
|||||||
void RDLogLine::setStartPoint(int point,PointerSource ptr)
|
void RDLogLine::setStartPoint(int point,PointerSource ptr)
|
||||||
{
|
{
|
||||||
log_start_point[ptr]=point;
|
log_start_point[ptr]=point;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -444,6 +460,7 @@ int RDLogLine::endPoint(PointerSource ptr) const
|
|||||||
void RDLogLine::setEndPoint(int point,PointerSource ptr)
|
void RDLogLine::setEndPoint(int point,PointerSource ptr)
|
||||||
{
|
{
|
||||||
log_end_point[ptr]=point;
|
log_end_point[ptr]=point;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -468,6 +485,7 @@ int RDLogLine::segueStartPoint(PointerSource ptr) const
|
|||||||
void RDLogLine::setSegueStartPoint(int point,PointerSource ptr)
|
void RDLogLine::setSegueStartPoint(int point,PointerSource ptr)
|
||||||
{
|
{
|
||||||
log_segue_start_point[ptr]=point;
|
log_segue_start_point[ptr]=point;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -492,6 +510,7 @@ int RDLogLine::segueEndPoint(PointerSource ptr) const
|
|||||||
void RDLogLine::setSegueEndPoint(int point,PointerSource ptr)
|
void RDLogLine::setSegueEndPoint(int point,PointerSource ptr)
|
||||||
{
|
{
|
||||||
log_segue_end_point[ptr]=point;
|
log_segue_end_point[ptr]=point;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -509,6 +528,7 @@ int RDLogLine::segueGain() const
|
|||||||
void RDLogLine::setSegueGain(int gain)
|
void RDLogLine::setSegueGain(int gain)
|
||||||
{
|
{
|
||||||
log_segue_gain=gain;
|
log_segue_gain=gain;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -533,6 +553,7 @@ int RDLogLine::fadeupPoint(RDLogLine::PointerSource ptr) const
|
|||||||
void RDLogLine::setFadeupPoint(int point,RDLogLine::PointerSource ptr)
|
void RDLogLine::setFadeupPoint(int point,RDLogLine::PointerSource ptr)
|
||||||
{
|
{
|
||||||
log_fadeup_point[ptr]=point;
|
log_fadeup_point[ptr]=point;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -545,6 +566,7 @@ int RDLogLine::fadeupGain() const
|
|||||||
void RDLogLine::setFadeupGain(int gain)
|
void RDLogLine::setFadeupGain(int gain)
|
||||||
{
|
{
|
||||||
log_fadeup_gain=gain;
|
log_fadeup_gain=gain;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -569,6 +591,7 @@ int RDLogLine::fadedownPoint(RDLogLine::PointerSource ptr) const
|
|||||||
void RDLogLine::setFadedownPoint(int point,RDLogLine::PointerSource ptr)
|
void RDLogLine::setFadedownPoint(int point,RDLogLine::PointerSource ptr)
|
||||||
{
|
{
|
||||||
log_fadedown_point[ptr]=point;
|
log_fadedown_point[ptr]=point;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -581,6 +604,7 @@ int RDLogLine::fadedownGain() const
|
|||||||
void RDLogLine::setFadedownGain(int gain)
|
void RDLogLine::setFadedownGain(int gain)
|
||||||
{
|
{
|
||||||
log_fadedown_gain=gain;
|
log_fadedown_gain=gain;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -593,6 +617,7 @@ int RDLogLine::duckUpGain() const
|
|||||||
void RDLogLine::setDuckUpGain(int gain)
|
void RDLogLine::setDuckUpGain(int gain)
|
||||||
{
|
{
|
||||||
log_duck_up_gain=gain;
|
log_duck_up_gain=gain;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int RDLogLine::duckDownGain() const
|
int RDLogLine::duckDownGain() const
|
||||||
@ -604,6 +629,7 @@ int RDLogLine::duckDownGain() const
|
|||||||
void RDLogLine::setDuckDownGain(int gain)
|
void RDLogLine::setDuckDownGain(int gain)
|
||||||
{
|
{
|
||||||
log_duck_down_gain=gain;
|
log_duck_down_gain=gain;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -676,6 +702,7 @@ RDCart::Type RDLogLine::cartType() const
|
|||||||
void RDLogLine::setCartType(RDCart::Type type)
|
void RDLogLine::setCartType(RDCart::Type type)
|
||||||
{
|
{
|
||||||
log_cart_type=type;
|
log_cart_type=type;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1072,6 +1099,7 @@ QString RDLogLine::markerComment() const
|
|||||||
void RDLogLine::setMarkerComment(const QString &str)
|
void RDLogLine::setMarkerComment(const QString &str)
|
||||||
{
|
{
|
||||||
log_marker_comment=str;
|
log_marker_comment=str;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1084,6 +1112,7 @@ QString RDLogLine::markerLabel() const
|
|||||||
void RDLogLine::setMarkerLabel(const QString &str)
|
void RDLogLine::setMarkerLabel(const QString &str)
|
||||||
{
|
{
|
||||||
log_marker_label=str;
|
log_marker_label=str;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1144,6 +1173,7 @@ QTime RDLogLine::extStartTime() const
|
|||||||
void RDLogLine::setExtStartTime(QTime time)
|
void RDLogLine::setExtStartTime(QTime time)
|
||||||
{
|
{
|
||||||
log_ext_start_time=time;
|
log_ext_start_time=time;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1156,6 +1186,7 @@ int RDLogLine::extLength() const
|
|||||||
void RDLogLine::setExtLength(int length)
|
void RDLogLine::setExtLength(int length)
|
||||||
{
|
{
|
||||||
log_ext_length=length;
|
log_ext_length=length;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1168,6 +1199,7 @@ QString RDLogLine::extCartName() const
|
|||||||
void RDLogLine::setExtCartName(const QString &name)
|
void RDLogLine::setExtCartName(const QString &name)
|
||||||
{
|
{
|
||||||
log_ext_cart_name=name;
|
log_ext_cart_name=name;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1180,6 +1212,7 @@ QString RDLogLine::extData() const
|
|||||||
void RDLogLine::setExtData(const QString &data)
|
void RDLogLine::setExtData(const QString &data)
|
||||||
{
|
{
|
||||||
log_ext_data=data;
|
log_ext_data=data;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1192,6 +1225,7 @@ QString RDLogLine::extEventId() const
|
|||||||
void RDLogLine::setExtEventId(const QString &id)
|
void RDLogLine::setExtEventId(const QString &id)
|
||||||
{
|
{
|
||||||
log_ext_event_id=id;
|
log_ext_event_id=id;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1204,6 +1238,7 @@ QString RDLogLine::extAnncType() const
|
|||||||
void RDLogLine::setExtAnncType(const QString &type)
|
void RDLogLine::setExtAnncType(const QString &type)
|
||||||
{
|
{
|
||||||
log_ext_annc_type=type;
|
log_ext_annc_type=type;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1428,6 +1463,7 @@ QString RDLogLine::linkEventName() const
|
|||||||
void RDLogLine::setLinkEventName(const QString &name)
|
void RDLogLine::setLinkEventName(const QString &name)
|
||||||
{
|
{
|
||||||
log_link_event_name=name;
|
log_link_event_name=name;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1440,6 +1476,7 @@ QTime RDLogLine::linkStartTime() const
|
|||||||
void RDLogLine::setLinkStartTime(const QTime &time)
|
void RDLogLine::setLinkStartTime(const QTime &time)
|
||||||
{
|
{
|
||||||
log_link_start_time=time;
|
log_link_start_time=time;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1452,6 +1489,7 @@ int RDLogLine::linkLength() const
|
|||||||
void RDLogLine::setLinkLength(int msecs)
|
void RDLogLine::setLinkLength(int msecs)
|
||||||
{
|
{
|
||||||
log_link_length=msecs;
|
log_link_length=msecs;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1464,6 +1502,7 @@ int RDLogLine::linkStartSlop() const
|
|||||||
void RDLogLine::setLinkStartSlop(int msecs)
|
void RDLogLine::setLinkStartSlop(int msecs)
|
||||||
{
|
{
|
||||||
log_link_start_slop=msecs;
|
log_link_start_slop=msecs;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1488,6 +1527,7 @@ int RDLogLine::linkId() const
|
|||||||
void RDLogLine::setLinkId(int id)
|
void RDLogLine::setLinkId(int id)
|
||||||
{
|
{
|
||||||
log_link_id=id;
|
log_link_id=id;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1500,6 +1540,7 @@ bool RDLogLine::linkEmbedded() const
|
|||||||
void RDLogLine::setLinkEmbedded(bool state)
|
void RDLogLine::setLinkEmbedded(bool state)
|
||||||
{
|
{
|
||||||
log_link_embedded=state;
|
log_link_embedded=state;
|
||||||
|
modified=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1547,208 +1588,224 @@ RDLogLine::State RDLogLine::setEvent(int mach,RDLogLine::TransType next_type,
|
|||||||
double time_ratio=1.0;
|
double time_ratio=1.0;
|
||||||
|
|
||||||
switch(log_type) {
|
switch(log_type) {
|
||||||
case RDLogLine::Cart:
|
case RDLogLine::Cart:
|
||||||
cart=new RDCart(log_cart_number);
|
cart=new RDCart(log_cart_number);
|
||||||
if(!cart->exists()) {
|
if(!cart->exists()) {
|
||||||
delete cart;
|
delete cart;
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): no such cart, CART=%06u",log_cart_number);
|
syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): no such cart, CART=%06u",log_cart_number);
|
||||||
#endif // WIN32
|
#endif // WIN32
|
||||||
log_state=RDLogLine::NoCart;
|
log_state=RDLogLine::NoCart;
|
||||||
return RDLogLine::NoCart;
|
return RDLogLine::NoCart;
|
||||||
}
|
}
|
||||||
cart->selectCut(&log_cut_name);
|
cart->selectCut(&log_cut_name);
|
||||||
if(log_cut_name.isEmpty()) {
|
if(log_cut_name.isEmpty()) {
|
||||||
delete cart;
|
delete cart;
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
// syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): RDCut::selectCut() failed, CART=%06u",log_cart_number);
|
// syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): RDCut::selectCut() failed, CART=%06u",log_cart_number);
|
||||||
#endif // WIN32
|
#endif // WIN32
|
||||||
log_state=RDLogLine::NoCut;
|
log_state=RDLogLine::NoCut;
|
||||||
return RDLogLine::NoCut;
|
return RDLogLine::NoCut;
|
||||||
}
|
}
|
||||||
log_cut_number=log_cut_name.right(3).toInt();
|
log_cut_number=log_cut_name.right(3).toInt();
|
||||||
sql=QString().sprintf("select LENGTH,START_POINT,END_POINT,\
|
sql=QString("select ")+
|
||||||
SEGUE_START_POINT,SEGUE_END_POINT,\
|
"LENGTH,"+ // 00
|
||||||
SEGUE_GAIN,\
|
"START_POINT,"+ // 01
|
||||||
TALK_START_POINT,TALK_END_POINT,\
|
"END_POINT,"+ // 02
|
||||||
HOOK_START_POINT,HOOK_END_POINT,\
|
"SEGUE_START_POINT,"+ // 03
|
||||||
OUTCUE,ISRC,ISCI,DESCRIPTION from CUTS\
|
"SEGUE_END_POINT,"+ // 04
|
||||||
where CUT_NAME=\"%s\"",
|
"SEGUE_GAIN,"+ // 05
|
||||||
(const char *)log_cut_name);
|
"TALK_START_POINT,"+ // 06
|
||||||
q=new RDSqlQuery(sql);
|
"TALK_END_POINT,"+ // 07
|
||||||
if(!q->first()) {
|
"HOOK_START_POINT,"+ // 08
|
||||||
delete q;
|
"HOOK_END_POINT,"+ // 09
|
||||||
delete cart;
|
"OUTCUE,"+ // 10
|
||||||
|
"ISRC,"+ // 11
|
||||||
|
"ISCI,"+ // 12
|
||||||
|
"DESCRIPTION "+ // 13
|
||||||
|
"from CUTS where CUT_NAME=\""+RDEscapeString(log_cut_name)+"\"";
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
if(!q->first()) {
|
||||||
|
delete q;
|
||||||
|
delete cart;
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): no cut record found, SQL=%s",(const char *)sql);
|
syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): no cut record found, SQL=%s",(const char *)sql);
|
||||||
#endif // WIN32
|
#endif // WIN32
|
||||||
log_state=RDLogLine::NoCut;
|
log_state=RDLogLine::NoCut;
|
||||||
return RDLogLine::NoCut;
|
return RDLogLine::NoCut;
|
||||||
}
|
}
|
||||||
if(q->value(0).toInt()==0) {
|
if(q->value(0).toInt()==0) {
|
||||||
delete q;
|
delete q;
|
||||||
delete cart;
|
delete cart;
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): zero length cut audio, SQL=%s",(const char *)sql);
|
syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): zero length cut audio, SQL=%s",(const char *)sql);
|
||||||
#endif // WIN32
|
#endif // WIN32
|
||||||
log_state=RDLogLine::NoCut;
|
log_state=RDLogLine::NoCut;
|
||||||
return RDLogLine::NoCut;
|
return RDLogLine::NoCut;
|
||||||
}
|
}
|
||||||
if(timescale) {
|
if(timescale) {
|
||||||
if(len>0) {
|
if(len>0) {
|
||||||
log_effective_length=len;
|
log_effective_length=len;
|
||||||
log_forced_length=len;
|
log_forced_length=len;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(log_hook_mode&&
|
if(log_hook_mode&&
|
||||||
(q->value(8).toInt()>=0)&&(q->value(9).toInt()>=0)) {
|
(q->value(8).toInt()>=0)&&(q->value(9).toInt()>=0)) {
|
||||||
log_effective_length=q->value(9).toInt()-q->value(8).toInt();
|
log_effective_length=q->value(9).toInt()-q->value(8).toInt();
|
||||||
log_forced_length=log_effective_length;
|
log_forced_length=log_effective_length;
|
||||||
time_ratio=1.0;
|
time_ratio=1.0;
|
||||||
timescale=false;
|
timescale=false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
log_effective_length=cart->forcedLength();
|
log_effective_length=cart->forcedLength();
|
||||||
time_ratio=(double)log_forced_length/
|
time_ratio=(double)log_forced_length/
|
||||||
(q->value(2).toDouble()-q->value(1).toDouble());
|
(q->value(2).toDouble()-q->value(1).toDouble());
|
||||||
if(((1.0/time_ratio)<RD_TIMESCALE_MIN)||
|
/*
|
||||||
((1.0/time_ratio)>RD_TIMESCALE_MAX)) {
|
* FIXME: timescale limits need to be applied here
|
||||||
timescale=false;
|
*
|
||||||
}
|
if(((1.0/time_ratio)<(1.0-log_timescale_limit))||
|
||||||
}
|
((1.0/time_ratio)>(1.0+log_timescale_limit))) {
|
||||||
}
|
timescale=false;
|
||||||
}
|
}
|
||||||
if(timescale) {
|
*/
|
||||||
log_start_point[0]=(int)(q->value(1).toDouble()*time_ratio);
|
}
|
||||||
log_end_point[0]=(int)(q->value(2).toDouble()*time_ratio);
|
}
|
||||||
if(q->value(3).toInt()>=0) {
|
}
|
||||||
log_segue_start_point[0]=(int)(q->value(3).toDouble()*time_ratio);
|
if(timescale) {
|
||||||
log_segue_end_point[0]=(int)(q->value(4).toDouble()*time_ratio);
|
log_start_point[0]=(int)(q->value(1).toDouble()*time_ratio);
|
||||||
}
|
log_end_point[0]=(int)(q->value(2).toDouble()*time_ratio);
|
||||||
else {
|
if(q->value(3).toInt()>=0) {
|
||||||
log_segue_start_point[0]=-1;
|
log_segue_start_point[0]=(int)(q->value(3).toDouble()*time_ratio);
|
||||||
log_segue_end_point[0]=-1;
|
log_segue_end_point[0]=(int)(q->value(4).toDouble()*time_ratio);
|
||||||
}
|
}
|
||||||
if(log_talk_start>=0) {
|
else {
|
||||||
log_talk_start=(int)((double)log_talk_start*time_ratio);
|
|
||||||
log_talk_end=(int)(q->value(7).toDouble()*time_ratio);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
log_talk_start=-1;
|
|
||||||
log_talk_end=-1;
|
|
||||||
}
|
|
||||||
log_talk_length=log_talk_end-log_talk_start;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(log_hook_mode&&
|
|
||||||
(q->value(8).toInt()>=0)&&(q->value(9).toInt()>=0)) {
|
|
||||||
log_start_point[0]=q->value(8).toInt();
|
|
||||||
log_end_point[0]=q->value(9).toInt();
|
|
||||||
log_segue_start_point[0]=-1;
|
|
||||||
log_segue_end_point[0]=-1;
|
|
||||||
log_talk_start=-1;
|
|
||||||
log_talk_end=-1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
log_start_point[0]=q->value(1).toInt();
|
|
||||||
log_end_point[0]=q->value(2).toInt();
|
|
||||||
if(log_start_point[RDLogLine::LogPointer]>=0 ||
|
|
||||||
log_end_point[RDLogLine::LogPointer]>=0) {
|
|
||||||
log_effective_length=log_end_point[RDLogLine::LogPointer]-
|
|
||||||
log_start_point[RDLogLine::LogPointer];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
log_effective_length=q->value(0).toUInt();
|
|
||||||
}
|
|
||||||
log_segue_start_point[0]=q->value(3).toInt();
|
|
||||||
log_segue_end_point[0]=q->value(4).toInt();
|
|
||||||
log_talk_start=q->value(6).toInt();
|
|
||||||
log_talk_end=q->value(7).toInt();
|
|
||||||
}
|
|
||||||
log_hook_start=q->value(8).toInt();
|
|
||||||
log_hook_end=q->value(9).toInt();
|
|
||||||
if(log_talk_end>log_end_point[RDLogLine::LogPointer] &&
|
|
||||||
log_end_point[RDLogLine::LogPointer]>=0) {
|
|
||||||
log_talk_end=log_end_point[RDLogLine::LogPointer];
|
|
||||||
}
|
|
||||||
if(log_talk_end<log_start_point[RDLogLine::LogPointer]) {
|
|
||||||
log_talk_end=0;
|
|
||||||
log_talk_start=0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(log_talk_start<log_start_point[RDLogLine::LogPointer]) {
|
|
||||||
log_talk_start=0;
|
|
||||||
log_talk_end-=log_start_point[RDLogLine::LogPointer];
|
|
||||||
}
|
|
||||||
if(log_talk_start>log_end_point[RDLogLine::LogPointer] &&
|
|
||||||
log_end_point[RDLogLine::LogPointer]>=0) {
|
|
||||||
log_talk_start=0;
|
|
||||||
log_talk_end=0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
log_talk_length=log_talk_end-log_talk_start;
|
|
||||||
}
|
|
||||||
if(segueStartPoint(RDLogLine::AutoPointer)<0) {
|
|
||||||
log_average_segue_length=cart->averageSegueLength();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
log_average_segue_length=segueStartPoint(RDLogLine::AutoPointer)-
|
|
||||||
startPoint(RDLogLine::AutoPointer);
|
|
||||||
}
|
|
||||||
log_outcue=q->value(10).toString();
|
|
||||||
log_isrc=q->value(11).toString();
|
|
||||||
log_isci=q->value(12).toString();
|
|
||||||
log_description=q->value(13).toString();
|
|
||||||
log_segue_gain_cut=q->value(5).toInt();
|
|
||||||
delete q;
|
|
||||||
delete cart;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RDLogLine::Macro:
|
|
||||||
cart=new RDCart(log_cart_number);
|
|
||||||
log_effective_length=cart->forcedLength();
|
|
||||||
log_average_segue_length=log_effective_length;
|
|
||||||
log_forced_stop=false;
|
|
||||||
rml_event=new RDMacroEvent();
|
|
||||||
rml_event->load(cart->number());
|
|
||||||
for(int i=0;i<rml_event->size();i++) {
|
|
||||||
if(rml_event->command(i)->command()==RDMacro::LL) {
|
|
||||||
if(rml_event->command(i)->arg(0).toInt()==mach) {
|
|
||||||
log_forced_stop=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
log_start_point[0]=-1;
|
|
||||||
log_end_point[0]=-1;
|
|
||||||
log_segue_start_point[0]=-1;
|
log_segue_start_point[0]=-1;
|
||||||
log_segue_end_point[0]=-1;
|
log_segue_end_point[0]=-1;
|
||||||
log_talk_length=0;
|
}
|
||||||
|
if(log_talk_start>=0) {
|
||||||
|
log_talk_start=(int)((double)log_talk_start*time_ratio);
|
||||||
|
log_talk_end=(int)(q->value(7).toDouble()*time_ratio);
|
||||||
|
}
|
||||||
|
else {
|
||||||
log_talk_start=-1;
|
log_talk_start=-1;
|
||||||
log_talk_end=-1;
|
log_talk_end=-1;
|
||||||
log_segue_gain_cut=0;
|
}
|
||||||
delete rml_event;
|
log_talk_length=log_talk_end-log_talk_start;
|
||||||
delete cart;
|
}
|
||||||
break;
|
else {
|
||||||
|
if(log_hook_mode&&
|
||||||
case RDLogLine::Marker:
|
(q->value(8).toInt()>=0)&&(q->value(9).toInt()>=0)) {
|
||||||
case RDLogLine::Track:
|
log_start_point[0]=q->value(8).toInt();
|
||||||
log_cut_number=0;
|
log_end_point[0]=q->value(9).toInt();
|
||||||
log_cut_name="";
|
|
||||||
log_effective_length=0;
|
|
||||||
log_average_segue_length=0;
|
|
||||||
log_forced_stop=false;
|
|
||||||
log_start_point[0]=-1;
|
|
||||||
log_end_point[0]=-1;
|
|
||||||
log_segue_start_point[0]=-1;
|
log_segue_start_point[0]=-1;
|
||||||
log_segue_end_point[0]=-1;
|
log_segue_end_point[0]=-1;
|
||||||
log_talk_length=0;
|
|
||||||
log_talk_start=-1;
|
log_talk_start=-1;
|
||||||
log_talk_end=-1;
|
log_talk_end=-1;
|
||||||
log_segue_gain_cut=0;
|
}
|
||||||
break;
|
else {
|
||||||
|
log_start_point[0]=q->value(1).toInt();
|
||||||
|
log_end_point[0]=q->value(2).toInt();
|
||||||
|
if(log_start_point[RDLogLine::LogPointer]>=0 ||
|
||||||
|
log_end_point[RDLogLine::LogPointer]>=0) {
|
||||||
|
log_effective_length=log_end_point[RDLogLine::LogPointer]-
|
||||||
|
log_start_point[RDLogLine::LogPointer];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
log_effective_length=q->value(0).toUInt();
|
||||||
|
}
|
||||||
|
log_segue_start_point[0]=q->value(3).toInt();
|
||||||
|
log_segue_end_point[0]=q->value(4).toInt();
|
||||||
|
log_talk_start=q->value(6).toInt();
|
||||||
|
log_talk_end=q->value(7).toInt();
|
||||||
|
}
|
||||||
|
log_hook_start=q->value(8).toInt();
|
||||||
|
log_hook_end=q->value(9).toInt();
|
||||||
|
if(log_talk_end>log_end_point[RDLogLine::LogPointer] &&
|
||||||
|
log_end_point[RDLogLine::LogPointer]>=0) {
|
||||||
|
log_talk_end=log_end_point[RDLogLine::LogPointer];
|
||||||
|
}
|
||||||
|
if(log_talk_end<log_start_point[RDLogLine::LogPointer]) {
|
||||||
|
log_talk_end=0;
|
||||||
|
log_talk_start=0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(log_talk_start<log_start_point[RDLogLine::LogPointer]) {
|
||||||
|
log_talk_start=0;
|
||||||
|
log_talk_end-=log_start_point[RDLogLine::LogPointer];
|
||||||
|
}
|
||||||
|
if(log_talk_start>log_end_point[RDLogLine::LogPointer] &&
|
||||||
|
log_end_point[RDLogLine::LogPointer]>=0) {
|
||||||
|
log_talk_start=0;
|
||||||
|
log_talk_end=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
log_talk_length=log_talk_end-log_talk_start;
|
||||||
|
}
|
||||||
|
if(segueStartPoint(RDLogLine::AutoPointer)<0) {
|
||||||
|
log_average_segue_length=cart->averageSegueLength();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
log_average_segue_length=segueStartPoint(RDLogLine::AutoPointer)-
|
||||||
|
startPoint(RDLogLine::AutoPointer);
|
||||||
|
}
|
||||||
|
log_outcue=q->value(10).toString();
|
||||||
|
log_isrc=q->value(11).toString();
|
||||||
|
log_isci=q->value(12).toString();
|
||||||
|
log_description=q->value(13).toString();
|
||||||
|
log_segue_gain_cut=q->value(5).toInt();
|
||||||
|
delete q;
|
||||||
|
delete cart;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
case RDLogLine::Macro:
|
||||||
break;
|
cart=new RDCart(log_cart_number);
|
||||||
|
log_effective_length=cart->forcedLength();
|
||||||
|
log_average_segue_length=log_effective_length;
|
||||||
|
log_forced_stop=false;
|
||||||
|
rml_event=new RDMacroEvent();
|
||||||
|
rml_event->load(cart->number());
|
||||||
|
for(int i=0;i<rml_event->size();i++) {
|
||||||
|
if(rml_event->command(i)->command()==RDMacro::LL) {
|
||||||
|
if(rml_event->command(i)->arg(0).toInt()==mach) {
|
||||||
|
log_forced_stop=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
log_start_point[0]=-1;
|
||||||
|
log_end_point[0]=-1;
|
||||||
|
log_segue_start_point[0]=-1;
|
||||||
|
log_segue_end_point[0]=-1;
|
||||||
|
log_talk_length=0;
|
||||||
|
log_talk_start=-1;
|
||||||
|
log_talk_end=-1;
|
||||||
|
log_segue_gain_cut=0;
|
||||||
|
delete rml_event;
|
||||||
|
delete cart;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RDLogLine::Chain:
|
||||||
|
case RDLogLine::CloseBracket:
|
||||||
|
case RDLogLine::Marker:
|
||||||
|
case RDLogLine::MusicLink:
|
||||||
|
case RDLogLine::OpenBracket:
|
||||||
|
case RDLogLine::Track:
|
||||||
|
case RDLogLine::TrafficLink:
|
||||||
|
case RDLogLine::UnknownType:
|
||||||
|
log_cut_number=0;
|
||||||
|
log_cut_name="";
|
||||||
|
log_effective_length=0;
|
||||||
|
log_average_segue_length=0;
|
||||||
|
log_forced_stop=false;
|
||||||
|
log_start_point[0]=-1;
|
||||||
|
log_end_point[0]=-1;
|
||||||
|
log_segue_start_point[0]=-1;
|
||||||
|
log_segue_end_point[0]=-1;
|
||||||
|
log_talk_length=0;
|
||||||
|
log_talk_start=-1;
|
||||||
|
log_talk_end=-1;
|
||||||
|
log_segue_gain_cut=0;
|
||||||
|
log_state=RDLogLine::Ok;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return RDLogLine::Ok;
|
return RDLogLine::Ok;
|
||||||
}
|
}
|
||||||
@ -2015,7 +2072,7 @@ QString RDLogLine::transText(RDLogLine::TransType trans)
|
|||||||
return QObject::tr("STOP");
|
return QObject::tr("STOP");
|
||||||
|
|
||||||
case RDLogLine::NoTrans:
|
case RDLogLine::NoTrans:
|
||||||
return QObject::tr("UNKNOWN");
|
return QString("");
|
||||||
}
|
}
|
||||||
return QObject::tr("UNKNOWN");
|
return QObject::tr("UNKNOWN");
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,7 @@
|
|||||||
//
|
//
|
||||||
// A container class for a Rivendell Log Line.
|
// A container class for a Rivendell Log Line.
|
||||||
//
|
//
|
||||||
// (C) Copyright 2002-2004 Fred Gleason <fredg@paravelsystems.com>
|
// (C) Copyright 2002-2016 Fred Gleason <fredg@paravelsystems.com>
|
||||||
//
|
|
||||||
// $Id: rdlog_line.h,v 1.85.8.10.2.1 2014/05/20 01:45:16 cvs Exp $
|
|
||||||
//
|
//
|
||||||
// This program is free software; you can redistribute it and/or modify
|
// 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
|
// it under the terms of the GNU General Public License version 2 as
|
||||||
@ -34,8 +32,10 @@
|
|||||||
class RDLogLine
|
class RDLogLine
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
bool hasBeenModified(void);
|
||||||
|
|
||||||
enum StartTimeType {Imported=0,Logged=1,Predicted=2,Actual=3,Initial=4};
|
enum StartTimeType {Imported=0,Logged=1,Predicted=2,Actual=3,Initial=4};
|
||||||
enum TimeType {Relative=0,Hard=1};
|
enum TimeType {Relative=0,Hard=1,NoTime=255};
|
||||||
enum TransType {Play=0,Segue=1,Stop=2,NoTrans=255};
|
enum TransType {Play=0,Segue=1,Stop=2,NoTrans=255};
|
||||||
enum TransEdge {AllTrans=0,LeadingTrans=1,TrailingTrans=2};
|
enum TransEdge {AllTrans=0,LeadingTrans=1,TrailingTrans=2};
|
||||||
enum Source {Manual=0,Traffic=1,Music=2,Template=3,Tracker=4};
|
enum Source {Manual=0,Traffic=1,Music=2,Template=3,Tracker=4};
|
||||||
@ -54,6 +54,7 @@ class RDLogLine
|
|||||||
void clear();
|
void clear();
|
||||||
void clearExternalData();
|
void clearExternalData();
|
||||||
void clearTrackData(RDLogLine::TransEdge edge);
|
void clearTrackData(RDLogLine::TransEdge edge);
|
||||||
|
void clearModified(void);
|
||||||
int id() const;
|
int id() const;
|
||||||
void setId(int id);
|
void setId(int id);
|
||||||
RDLogLine::Status status() const;
|
RDLogLine::Status status() const;
|
||||||
@ -269,6 +270,7 @@ class RDLogLine
|
|||||||
void setHoldover(bool);
|
void setHoldover(bool);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool modified;
|
||||||
int log_id;
|
int log_id;
|
||||||
RDLogLine::Status log_status;
|
RDLogLine::Status log_status;
|
||||||
RDLogLine::State log_state;
|
RDLogLine::State log_state;
|
||||||
|
@ -2313,7 +2313,14 @@ void VoiceTracker::SaveTrack(int line)
|
|||||||
if((line>0)&&(track_log_event->logLine(line-1)->type()==RDLogLine::Track)) {
|
if((line>0)&&(track_log_event->logLine(line-1)->type()==RDLogLine::Track)) {
|
||||||
line--;
|
line--;
|
||||||
}
|
}
|
||||||
track_log_event->save();
|
|
||||||
|
if(track_size_altered) {
|
||||||
|
track_log_event->save();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
track_log_event->saveModified();
|
||||||
|
}
|
||||||
|
|
||||||
track_log->
|
track_log->
|
||||||
setModifiedDatetime(QDateTime(QDate::currentDate(),QTime::currentTime()));
|
setModifiedDatetime(QDateTime(QDate::currentDate(),QTime::currentTime()));
|
||||||
track_changed=false;
|
track_changed=false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user