projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
some more lua-bindings
[ardour.git]
/
libs
/
ardour
/
ardour
/
export_handler.h
diff --git
a/libs/ardour/ardour/export_handler.h
b/libs/ardour/ardour/export_handler.h
index 25a87045a8d815b66c36fba9f27a6410e0886c73..7204bc33c87193d42b34720cde56346df96375a7 100644
(file)
--- a/
libs/ardour/ardour/export_handler.h
+++ b/
libs/ardour/ardour/export_handler.h
@@
-22,17
+22,20
@@
#define __ardour_export_handler_h__
#include <map>
#define __ardour_export_handler_h__
#include <map>
-#include <fstream>
#include <boost/operators.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/operators.hpp>
#include <boost/shared_ptr.hpp>
+#include "pbd/gstdio_compat.h"
+
#include "ardour/export_pointers.h"
#include "ardour/session.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "pbd/signals.h"
#include "ardour/export_pointers.h"
#include "ardour/session.h"
#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "pbd/signals.h"
+#include "i18n.h"
+
namespace AudioGrapher {
class BroadcastInfo;
}
namespace AudioGrapher {
class BroadcastInfo;
}
@@
-69,6
+72,7
@@
class LIBARDOUR_API ExportElementFactory
Session & session;
};
Session & session;
};
+/** Export Handler */
class LIBARDOUR_API ExportHandler : public ExportElementFactory, public sigc::trackable
{
public:
class LIBARDOUR_API ExportHandler : public ExportElementFactory, public sigc::trackable
{
public:
@@
-114,10
+118,11
@@
class LIBARDOUR_API ExportHandler : public ExportElementFactory, public sigc::tr
PBD::Signal3<void, double, double, std::string> SoundcloudProgress;
/* upload credentials & preferences */
PBD::Signal3<void, double, double, std::string> SoundcloudProgress;
/* upload credentials & preferences */
- std::string upload_username;
- std::string upload_password;
- bool upload_public;
- bool upload_open;
+ std::string soundcloud_username;
+ std::string soundcloud_password;
+ bool soundcloud_make_public;
+ bool soundcloud_open_page;
+ bool soundcloud_downloadable;
private:
private:
@@
-155,13
+160,31
@@
class LIBARDOUR_API ExportHandler : public ExportElementFactory, public sigc::tr
struct CDMarkerStatus {
CDMarkerStatus (std::string out_file, ExportTimespanPtr timespan,
ExportFormatSpecPtr format, std::string filename)
struct CDMarkerStatus {
CDMarkerStatus (std::string out_file, ExportTimespanPtr timespan,
ExportFormatSpecPtr format, std::string filename)
- : out (out_file.c_str()), timespan (timespan), format (format), filename (filename), marker(0)
- , track_number (1), track_position (0), track_duration (0), track_start_frame (0)
- , index_number (1), index_position (0)
+ : path (out_file)
+ , timespan (timespan)
+ , format (format)
+ , filename (filename)
+ , marker(0)
+ , track_number (1)
+ , track_position (0)
+ , track_duration (0)
+ , track_start_frame (0)
+ , index_number (1)
+ , index_position (0)
{}
{}
+ ~CDMarkerStatus () {
+ if (!g_file_set_contents (path.c_str(), out.str().c_str(), -1, NULL)) {
+ PBD::error << string_compose(_("Editor: cannot open \"%1\" as export file for CD marker file"), path) << endmsg;
+ }
+
+ }
+
+ /* I/O */
+ std::string path;
+ std::stringstream out;
+
/* General info */
/* General info */
- std::ofstream out;
ExportTimespanPtr timespan;
ExportFormatSpecPtr format;
std::string filename;
ExportTimespanPtr timespan;
ExportFormatSpecPtr format;
std::string filename;
@@
-184,14
+207,19
@@
class LIBARDOUR_API ExportHandler : public ExportElementFactory, public sigc::tr
void write_cue_header (CDMarkerStatus & status);
void write_toc_header (CDMarkerStatus & status);
void write_cue_header (CDMarkerStatus & status);
void write_toc_header (CDMarkerStatus & status);
+ void write_mp4ch_header (CDMarkerStatus & status);
void write_track_info_cue (CDMarkerStatus & status);
void write_track_info_toc (CDMarkerStatus & status);
void write_track_info_cue (CDMarkerStatus & status);
void write_track_info_toc (CDMarkerStatus & status);
+ void write_track_info_mp4ch (CDMarkerStatus & status);
void write_index_info_cue (CDMarkerStatus & status);
void write_index_info_toc (CDMarkerStatus & status);
void write_index_info_cue (CDMarkerStatus & status);
void write_index_info_toc (CDMarkerStatus & status);
+ void write_index_info_mp4ch (CDMarkerStatus & status);
void frames_to_cd_frames_string (char* buf, framepos_t when);
void frames_to_cd_frames_string (char* buf, framepos_t when);
+ void frames_to_chapter_marks_string (char* buf, framepos_t when);
+
std::string toc_escape_cdtext (const std::string&);
std::string toc_escape_filename (const std::string&);
std::string cue_escape_cdtext (const std::string& txt);
std::string toc_escape_cdtext (const std::string&);
std::string toc_escape_filename (const std::string&);
std::string cue_escape_cdtext (const std::string& txt);