mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2026-01-16 09:31:15 +01:00
2020-08-08 Fred Gleason <fredg@paravelsystems.com>
* Modified rdcastmanager(1) to apply the cart title as the default item title when posting from a cart/cut. * Modified rdcastmanager(1) to apply the file metadata or filename as the default item title when posting from a file. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
@@ -20165,3 +20165,8 @@
|
|||||||
dialog in rdadmin(1).
|
dialog in rdadmin(1).
|
||||||
2020-08-08 Fred Gleason <fredg@paravelsystems.com>
|
2020-08-08 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Changed 'Cast' to 'Item' in rdcastmanager(1).
|
* Changed 'Cast' to 'Item' in rdcastmanager(1).
|
||||||
|
2020-08-08 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Modified rdcastmanager(1) to apply the cart title as the default
|
||||||
|
item title when posting from a cart/cut.
|
||||||
|
* Modified rdcastmanager(1) to apply the file metadata or filename
|
||||||
|
as the default item title when posting from a file.
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
#include "rdescape_string.h"
|
#include "rdescape_string.h"
|
||||||
#include "rdfeed.h"
|
#include "rdfeed.h"
|
||||||
#include "rdlibrary_conf.h"
|
#include "rdlibrary_conf.h"
|
||||||
|
#include "rdlog.h"
|
||||||
#include "rdlog_event.h"
|
#include "rdlog_event.h"
|
||||||
#include "rdpodcast.h"
|
#include "rdpodcast.h"
|
||||||
#include "rdrenderer.h"
|
#include "rdrenderer.h"
|
||||||
@@ -980,7 +981,9 @@ unsigned RDFeed::postCut(const QString &cutname,Error *err)
|
|||||||
settings->setNormalizationLevel(normalizeLevel()/100);
|
settings->setNormalizationLevel(normalizeLevel()/100);
|
||||||
conv->setDestinationSettings(settings);
|
conv->setDestinationSettings(settings);
|
||||||
emit postProgressChanged(1);
|
emit postProgressChanged(1);
|
||||||
switch((export_err=conv->runExport(rda->user()->name(),rda->user()->password(),&audio_conv_err))) {
|
switch((export_err=conv->
|
||||||
|
runExport(rda->user()->name(),rda->user()->password(),
|
||||||
|
&audio_conv_err))) {
|
||||||
case RDAudioExport::ErrorOk:
|
case RDAudioExport::ErrorOk:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -989,6 +992,7 @@ unsigned RDFeed::postCut(const QString &cutname,Error *err)
|
|||||||
delete conv;
|
delete conv;
|
||||||
*err=RDFeed::ErrorUnsupportedType;
|
*err=RDFeed::ErrorUnsupportedType;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
emit postProgressChanged(5);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case RDAudioExport::ErrorNoSource:
|
case RDAudioExport::ErrorNoSource:
|
||||||
@@ -1003,6 +1007,7 @@ unsigned RDFeed::postCut(const QString &cutname,Error *err)
|
|||||||
delete conv;
|
delete conv;
|
||||||
*err=RDFeed::ErrorGeneral;
|
*err=RDFeed::ErrorGeneral;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
emit postProgressChanged(5);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
delete settings;
|
delete settings;
|
||||||
@@ -1027,7 +1032,6 @@ unsigned RDFeed::postCut(const QString &cutname,Error *err)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
emit postProgressChanged(5);
|
|
||||||
*err=RDFeed::ErrorUploadFailed;
|
*err=RDFeed::ErrorUploadFailed;
|
||||||
sql=QString().sprintf("delete from PODCASTS where ID=%u",cast_id);
|
sql=QString().sprintf("delete from PODCASTS where ID=%u",cast_id);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@@ -1036,6 +1040,7 @@ unsigned RDFeed::postCut(const QString &cutname,Error *err)
|
|||||||
delete cast;
|
delete cast;
|
||||||
*err=RDFeed::ErrorUploadFailed;
|
*err=RDFeed::ErrorUploadFailed;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
emit postProgressChanged(5);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
emit postProgressChanged(3);
|
emit postProgressChanged(3);
|
||||||
@@ -1045,8 +1050,11 @@ unsigned RDFeed::postCut(const QString &cutname,Error *err)
|
|||||||
//
|
//
|
||||||
// Set default cast parameters
|
// Set default cast parameters
|
||||||
//
|
//
|
||||||
|
RDCart *cart=new RDCart(RDCut::cartNumber(cutname));
|
||||||
|
cast->setItemTitle(cart->title());
|
||||||
cast->setItemAuthor(rda->user()->emailContact());
|
cast->setItemAuthor(rda->user()->emailContact());
|
||||||
cast->setItemImageId(defaultItemImageId());
|
cast->setItemImageId(defaultItemImageId());
|
||||||
|
delete cart;
|
||||||
delete cast;
|
delete cast;
|
||||||
|
|
||||||
emit postProgressChanged(4);
|
emit postProgressChanged(4);
|
||||||
@@ -1071,6 +1079,7 @@ unsigned RDFeed::postFile(const QString &srcfile,Error *err)
|
|||||||
RDUpload *upload=NULL;
|
RDUpload *upload=NULL;
|
||||||
RDUpload::ErrorCode upload_err;
|
RDUpload::ErrorCode upload_err;
|
||||||
RDWaveFile *wave=NULL;
|
RDWaveFile *wave=NULL;
|
||||||
|
RDWaveData wavedata;
|
||||||
unsigned audio_time=0;
|
unsigned audio_time=0;
|
||||||
|
|
||||||
emit postProgressRangeChanged(0,4);
|
emit postProgressRangeChanged(0,4);
|
||||||
@@ -1095,8 +1104,8 @@ unsigned RDFeed::postFile(const QString &srcfile,Error *err)
|
|||||||
|
|
||||||
switch(conv->convert()) {
|
switch(conv->convert()) {
|
||||||
case RDAudioConvert::ErrorOk:
|
case RDAudioConvert::ErrorOk:
|
||||||
wave=new RDWaveFile(tmpfile);
|
wave=new RDWaveFile(srcfile);
|
||||||
if(wave->openWave()) {
|
if(wave->openWave(&wavedata)) {
|
||||||
audio_time=wave->getExtTimeLength();
|
audio_time=wave->getExtTimeLength();
|
||||||
}
|
}
|
||||||
delete wave;
|
delete wave;
|
||||||
@@ -1104,11 +1113,11 @@ unsigned RDFeed::postFile(const QString &srcfile,Error *err)
|
|||||||
|
|
||||||
case RDAudioConvert::ErrorInvalidSettings:
|
case RDAudioConvert::ErrorInvalidSettings:
|
||||||
case RDAudioConvert::ErrorFormatNotSupported:
|
case RDAudioConvert::ErrorFormatNotSupported:
|
||||||
emit postProgressChanged(4);
|
|
||||||
delete settings;
|
delete settings;
|
||||||
delete conv;
|
delete conv;
|
||||||
*err=RDFeed::ErrorUnsupportedType;
|
*err=RDFeed::ErrorUnsupportedType;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
emit postProgressChanged(4);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case RDAudioConvert::ErrorNoSource:
|
case RDAudioConvert::ErrorNoSource:
|
||||||
@@ -1120,11 +1129,11 @@ unsigned RDFeed::postFile(const QString &srcfile,Error *err)
|
|||||||
case RDAudioConvert::ErrorInvalidSpeed:
|
case RDAudioConvert::ErrorInvalidSpeed:
|
||||||
case RDAudioConvert::ErrorFormatError:
|
case RDAudioConvert::ErrorFormatError:
|
||||||
case RDAudioConvert::ErrorNoSpace:
|
case RDAudioConvert::ErrorNoSpace:
|
||||||
emit postProgressChanged(4);
|
|
||||||
delete settings;
|
delete settings;
|
||||||
delete conv;
|
delete conv;
|
||||||
*err=RDFeed::ErrorGeneral;
|
*err=RDFeed::ErrorGeneral;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
emit postProgressChanged(4);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
delete settings;
|
delete settings;
|
||||||
@@ -1153,7 +1162,6 @@ unsigned RDFeed::postFile(const QString &srcfile,Error *err)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
emit postProgressChanged(4);
|
|
||||||
*err=RDFeed::ErrorUploadFailed;
|
*err=RDFeed::ErrorUploadFailed;
|
||||||
sql=QString().sprintf("delete from PODCASTS where ID=%u",cast_id);
|
sql=QString().sprintf("delete from PODCASTS where ID=%u",cast_id);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@@ -1162,6 +1170,7 @@ unsigned RDFeed::postFile(const QString &srcfile,Error *err)
|
|||||||
delete cast;
|
delete cast;
|
||||||
*err=RDFeed::ErrorUploadFailed;
|
*err=RDFeed::ErrorUploadFailed;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
emit postProgressChanged(4);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
delete upload;
|
delete upload;
|
||||||
@@ -1172,6 +1181,12 @@ unsigned RDFeed::postFile(const QString &srcfile,Error *err)
|
|||||||
//
|
//
|
||||||
// Set default cast parameters
|
// Set default cast parameters
|
||||||
//
|
//
|
||||||
|
if(wavedata.metadataFound()&&(!wavedata.title().isEmpty())) {
|
||||||
|
cast->setItemTitle(wavedata.title());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
cast->setItemTitle(srcfile.split("/").last());
|
||||||
|
}
|
||||||
cast->setItemAuthor(rda->user()->emailContact());
|
cast->setItemAuthor(rda->user()->emailContact());
|
||||||
cast->setItemImageId(defaultItemImageId());
|
cast->setItemImageId(defaultItemImageId());
|
||||||
delete cast;
|
delete cast;
|
||||||
@@ -1199,22 +1214,22 @@ unsigned RDFeed::postLog(const QString &logname,const QTime &start_time,
|
|||||||
RDUpload::ErrorCode upload_err;
|
RDUpload::ErrorCode upload_err;
|
||||||
RDRenderer *renderer=NULL;
|
RDRenderer *renderer=NULL;
|
||||||
RDSettings *settings=NULL;
|
RDSettings *settings=NULL;
|
||||||
RDLogEvent *log=NULL;
|
RDLogEvent *log_event=NULL;
|
||||||
|
|
||||||
emit postProgressChanged(0);
|
emit postProgressChanged(0);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Open Log
|
// Open Log
|
||||||
//
|
//
|
||||||
log=new RDLogEvent(logname);
|
log_event=new RDLogEvent(logname);
|
||||||
log->load();
|
log_event->load();
|
||||||
if(!log->exists()) {
|
if(!log_event->exists()) {
|
||||||
*err=RDFeed::ErrorNoLog;
|
*err=RDFeed::ErrorNoLog;
|
||||||
delete log;
|
delete log_event;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
emit postProgressRangeChanged(0,3+log->size());
|
emit postProgressRangeChanged(0,3+log_event->size());
|
||||||
|
|
||||||
//
|
//
|
||||||
// Render Log
|
// Render Log
|
||||||
@@ -1236,24 +1251,25 @@ unsigned RDFeed::postLog(const QString &logname,const QTime &start_time,
|
|||||||
|
|
||||||
printf("first: %d last: %d\n",start_line,end_line);
|
printf("first: %d last: %d\n",start_line,end_line);
|
||||||
|
|
||||||
if(!renderer->renderToFile(tmpfile,log,settings,start_time,stop_at_stop,
|
if(!renderer->renderToFile(tmpfile,log_event,settings,start_time,stop_at_stop,
|
||||||
&err_msg,start_line,end_line)) {
|
&err_msg,start_line,end_line)) {
|
||||||
*err=RDFeed::ErrorRenderError;
|
*err=RDFeed::ErrorRenderError;
|
||||||
delete renderer;
|
delete renderer;
|
||||||
delete settings;
|
delete settings;
|
||||||
delete log;
|
delete log_event;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
delete renderer;
|
delete renderer;
|
||||||
|
|
||||||
emit postProgressChanged(1+log->size());
|
emit postProgressChanged(1+log_event->size());
|
||||||
|
|
||||||
//
|
//
|
||||||
// Upload Rendered File
|
// Upload Rendered File
|
||||||
//
|
//
|
||||||
QFile f(tmpfile);
|
QFile f(tmpfile);
|
||||||
unsigned cast_id=CreateCast(&destfile,f.size(),log->length(0,log->size()));
|
unsigned cast_id=
|
||||||
|
CreateCast(&destfile,f.size(),log_event->length(0,log_event->size()));
|
||||||
RDPodcast *cast=new RDPodcast(feed_config,cast_id);
|
RDPodcast *cast=new RDPodcast(feed_config,cast_id);
|
||||||
upload=new RDUpload(rda->config(),this);
|
upload=new RDUpload(rda->config(),this);
|
||||||
upload->setSourceFile(tmpfile);
|
upload->setSourceFile(tmpfile);
|
||||||
@@ -1262,13 +1278,12 @@ unsigned RDFeed::postLog(const QString &logname,const QTime &start_time,
|
|||||||
rda->config()->logXloadDebugData()))) {
|
rda->config()->logXloadDebugData()))) {
|
||||||
case RDUpload::ErrorOk:
|
case RDUpload::ErrorOk:
|
||||||
sql=QString().sprintf("update PODCASTS set AUDIO_TIME=%u where ID=%u",
|
sql=QString().sprintf("update PODCASTS set AUDIO_TIME=%u where ID=%u",
|
||||||
log->length(0,log->size()),cast_id);
|
log_event->length(0,log_event->size()),cast_id);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
//emit postProgressChanged(totalPostSteps());
|
|
||||||
*err=RDFeed::ErrorUploadFailed;
|
*err=RDFeed::ErrorUploadFailed;
|
||||||
sql=QString().sprintf("delete from PODCASTS where ID=%u",cast_id);
|
sql=QString().sprintf("delete from PODCASTS where ID=%u",cast_id);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@@ -1276,37 +1291,41 @@ unsigned RDFeed::postLog(const QString &logname,const QTime &start_time,
|
|||||||
delete upload;
|
delete upload;
|
||||||
delete cast;
|
delete cast;
|
||||||
delete settings;
|
delete settings;
|
||||||
delete log;
|
delete log_event;
|
||||||
*err=RDFeed::ErrorUploadFailed;
|
*err=RDFeed::ErrorUploadFailed;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
emit postProgressChanged(3+log_event->size());
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
emit postProgressChanged(2+log->size());
|
emit postProgressChanged(2+log_event->size());
|
||||||
|
|
||||||
//unlink(QString(tmpfile)+".wav");
|
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Set default cast parameters
|
// Set default cast parameters
|
||||||
//
|
//
|
||||||
|
RDLog *log=new RDLog(logname);
|
||||||
|
if(log->description().isEmpty()) {
|
||||||
|
cast->setItemTitle(logname+" "+tr("log"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
cast->setItemTitle(log->description());
|
||||||
|
}
|
||||||
cast->setItemAuthor(rda->user()->emailContact());
|
cast->setItemAuthor(rda->user()->emailContact());
|
||||||
cast->setItemImageId(defaultItemImageId());
|
cast->setItemImageId(defaultItemImageId());
|
||||||
delete cast;
|
delete log;
|
||||||
|
|
||||||
// emit postProgressChanged(4);
|
|
||||||
postXml(&err_msg);
|
postXml(&err_msg);
|
||||||
|
|
||||||
// emit postProgressChanged(totalPostSteps());
|
|
||||||
|
|
||||||
*err=RDFeed::ErrorOk;
|
*err=RDFeed::ErrorOk;
|
||||||
|
|
||||||
emit postProgressChanged(3+log->size());
|
emit postProgressChanged(3+log_event->size());
|
||||||
|
|
||||||
|
delete cast;
|
||||||
delete upload;
|
delete upload;
|
||||||
// delete cast;
|
|
||||||
delete settings;
|
delete settings;
|
||||||
delete log;
|
delete log_event;
|
||||||
unlink(tmpfile);
|
unlink(tmpfile);
|
||||||
|
|
||||||
return cast_id;
|
return cast_id;
|
||||||
|
|||||||
Reference in New Issue
Block a user