#include "ardour/session.h"
#include "ardour/types.h"
+namespace AudioGrapher {
+ class BroadcastInfo;
+}
+
namespace ARDOUR
{
class ExportFilename;
class ExportGraphBuilder;
+
class ExportElementFactory
{
public:
public:
struct FileSpec {
FileSpec() {}
- FileSpec (ChannelConfigPtr channel_config, FormatPtr format, FilenamePtr filename)
+ FileSpec (ChannelConfigPtr channel_config, FormatPtr format, FilenamePtr filename, boost::shared_ptr<AudioGrapher::BroadcastInfo> broadcast_info)
: channel_config (channel_config)
, format (format)
, filename (filename)
+ , broadcast_info (broadcast_info)
{}
ChannelConfigPtr channel_config;
FormatPtr format;
FilenamePtr filename;
+ boost::shared_ptr<AudioGrapher::BroadcastInfo> broadcast_info;
};
private:
public:
~ExportHandler ();
- bool add_export_config (TimespanPtr timespan, ChannelConfigPtr channel_config, FormatPtr format, FilenamePtr filename);
+ bool add_export_config (TimespanPtr timespan, ChannelConfigPtr channel_config, FormatPtr format, FilenamePtr filename, boost::shared_ptr<AudioGrapher::BroadcastInfo> broadcast_info);
void do_export (bool rt = false);
private:
- int process (nframes_t frames);
+ int process (framecnt_t frames);
Session & session;
GraphBuilderPtr graph_builder;
/* Timespan management */
void start_timespan ();
- int process_timespan (nframes_t frames);
+ int process_timespan (framecnt_t frames);
int process_normalize ();
void finish_timespan ();
TimespanBounds timespan_bounds;
PBD::ScopedConnection process_connection;
- sframes_t process_position;
+ framepos_t process_position;
/* CD Marker stuff */
/* Track info */
uint32_t track_number;
- sframes_t track_position;
- sframes_t track_duration;
- sframes_t track_start_frame;
+ framepos_t track_position;
+ framepos_t track_duration;
+ framepos_t track_start_frame;
/* Index info */
uint32_t index_number;
- sframes_t index_position;
+ framepos_t index_position;
};
void write_index_info_cue (CDMarkerStatus & status);
void write_index_info_toc (CDMarkerStatus & status);
- void frames_to_cd_frames_string (char* buf, sframes_t when);
+ void frames_to_cd_frames_string (char* buf, framepos_t when);
int cue_tracknum;
int cue_indexnum;