ardour
Classes | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
ARDOUR::ExportHandler Class Reference

#include <export_handler.h>

Inheritance diagram for ARDOUR::ExportHandler:
ARDOUR::ExportElementFactory

Classes

struct  CDMarkerStatus
 
struct  FileSpec
 

Public Member Functions

 ~ExportHandler ()
 
bool add_export_config (ExportTimespanPtr timespan, ExportChannelConfigPtr channel_config, ExportFormatSpecPtr format, ExportFilenamePtr filename, BroadcastInfoPtr broadcast_info)
 
void do_export ()
 
std::string get_cd_marker_filename (std::string filename, CDMarkerFormat format)
 
- Public Member Functions inherited from ARDOUR::ExportElementFactory
 ExportElementFactory (Session &session)
 
 ~ExportElementFactory ()
 
ExportTimespanPtr add_timespan ()
 
ExportChannelConfigPtr add_channel_config ()
 
ExportFormatSpecPtr add_format ()
 
ExportFormatSpecPtr add_format (XMLNode const &state)
 
ExportFormatSpecPtr add_format_copy (ExportFormatSpecPtr other)
 
ExportFilenamePtr add_filename ()
 
ExportFilenamePtr add_filename_copy (ExportFilenamePtr other)
 

Public Attributes

PBD::Signal3< void, double,
double, std::string > 
SoundcloudProgress
 
std::string soundcloud_username
 
std::string soundcloud_password
 
bool soundcloud_make_public
 
bool soundcloud_open_page
 
bool soundcloud_downloadable
 

Private Types

typedef std::multimap
< ExportTimespanPtr, FileSpec
ConfigMap
 
typedef std::pair
< ConfigMap::iterator,
ConfigMap::iterator > 
TimespanBounds
 

Private Member Functions

 ExportHandler (Session &session)
 
void command_output (std::string output, size_t size)
 
void handle_duplicate_format_extensions ()
 
int process (framecnt_t frames)
 
void start_timespan ()
 
int process_timespan (framecnt_t frames)
 
int process_normalize ()
 
void finish_timespan ()
 
void export_cd_marker_file (ExportTimespanPtr timespan, ExportFormatSpecPtr file_format, std::string filename, CDMarkerFormat format)
 
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_mp4ch (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_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)
 

Private Attributes

Sessionsession
 
boost::shared_ptr
< ExportGraphBuilder
graph_builder
 
ExportStatusPtr export_status
 
ConfigMap config_map
 
bool normalizing
 
ExportTimespanPtr current_timespan
 
TimespanBounds timespan_bounds
 
PBD::ScopedConnection process_connection
 
framepos_t process_position
 
int cue_tracknum
 
int cue_indexnum
 

Friends

boost::shared_ptr< ExportHandlerSession::get_export_handler ()
 

Detailed Description

Definition at line 72 of file export_handler.h.

Member Typedef Documentation

Definition at line 135 of file export_handler.h.

typedef std::pair<ConfigMap::iterator, ConfigMap::iterator> ARDOUR::ExportHandler::TimespanBounds
private

Definition at line 147 of file export_handler.h.

Constructor & Destructor Documentation

ARDOUR::ExportHandler::ExportHandler ( Session session)
private

Definition at line 108 of file export_handler.cc.

ARDOUR::ExportHandler::~ExportHandler ( )

Definition at line 119 of file export_handler.cc.

Member Function Documentation

bool ARDOUR::ExportHandler::add_export_config ( ExportTimespanPtr  timespan,
ExportChannelConfigPtr  channel_config,
ExportFormatSpecPtr  format,
ExportFilenamePtr  filename,
BroadcastInfoPtr  broadcast_info 
)

Add an export to the `to-do' list

Definition at line 126 of file export_handler.cc.

void ARDOUR::ExportHandler::command_output ( std::string  output,
size_t  size 
)
private

Definition at line 286 of file export_handler.cc.

std::string ARDOUR::ExportHandler::cue_escape_cdtext ( const std::string &  txt)
private

Definition at line 844 of file export_handler.cc.

void ARDOUR::ExportHandler::do_export ( )

Definition at line 137 of file export_handler.cc.

void ARDOUR::ExportHandler::export_cd_marker_file ( ExportTimespanPtr  timespan,
ExportFormatSpecPtr  file_format,
std::string  filename,
CDMarkerFormat  format 
)
private

Definition at line 389 of file export_handler.cc.

void ARDOUR::ExportHandler::finish_timespan ( )
private

Definition at line 293 of file export_handler.cc.

void ARDOUR::ExportHandler::frames_to_cd_frames_string ( char *  buf,
framepos_t  when 
)
private

Definition at line 752 of file export_handler.cc.

void ARDOUR::ExportHandler::frames_to_chapter_marks_string ( char *  buf,
framepos_t  when 
)
private

Definition at line 767 of file export_handler.cc.

string ARDOUR::ExportHandler::get_cd_marker_filename ( std::string  filename,
CDMarkerFormat  format 
)

Definition at line 510 of file export_handler.cc.

void ARDOUR::ExportHandler::handle_duplicate_format_extensions ( )
private

Definition at line 199 of file export_handler.cc.

int ARDOUR::ExportHandler::process ( framecnt_t  frames)
private

Definition at line 220 of file export_handler.cc.

int ARDOUR::ExportHandler::process_normalize ( )
private

Definition at line 271 of file export_handler.cc.

int ARDOUR::ExportHandler::process_timespan ( framecnt_t  frames)
private

Definition at line 232 of file export_handler.cc.

void ARDOUR::ExportHandler::start_timespan ( )
private

Definition at line 157 of file export_handler.cc.

std::string ARDOUR::ExportHandler::toc_escape_cdtext ( const std::string &  txt)
private

Definition at line 784 of file export_handler.cc.

std::string ARDOUR::ExportHandler::toc_escape_filename ( const std::string &  txt)
private

Definition at line 819 of file export_handler.cc.

void ARDOUR::ExportHandler::write_cue_header ( CDMarkerStatus status)
private

Definition at line 533 of file export_handler.cc.

void ARDOUR::ExportHandler::write_index_info_cue ( CDMarkerStatus status)
private

Definition at line 725 of file export_handler.cc.

void ARDOUR::ExportHandler::write_index_info_mp4ch ( CDMarkerStatus status)
private

Definition at line 747 of file export_handler.cc.

void ARDOUR::ExportHandler::write_index_info_toc ( CDMarkerStatus status)
private

Definition at line 738 of file export_handler.cc.

void ARDOUR::ExportHandler::write_mp4ch_header ( CDMarkerStatus status)
private

Definition at line 607 of file export_handler.cc.

void ARDOUR::ExportHandler::write_toc_header ( CDMarkerStatus status)
private

Definition at line 584 of file export_handler.cc.

void ARDOUR::ExportHandler::write_track_info_cue ( CDMarkerStatus status)
private

Definition at line 613 of file export_handler.cc.

void ARDOUR::ExportHandler::write_track_info_mp4ch ( CDMarkerStatus status)
private

Definition at line 716 of file export_handler.cc.

void ARDOUR::ExportHandler::write_track_info_toc ( CDMarkerStatus status)
private

Definition at line 661 of file export_handler.cc.

Friends And Related Function Documentation

Member Data Documentation

ConfigMap ARDOUR::ExportHandler::config_map
private

Definition at line 136 of file export_handler.h.

int ARDOUR::ExportHandler::cue_indexnum
private

Definition at line 206 of file export_handler.h.

int ARDOUR::ExportHandler::cue_tracknum
private

Definition at line 205 of file export_handler.h.

ExportTimespanPtr ARDOUR::ExportHandler::current_timespan
private

Definition at line 148 of file export_handler.h.

ExportStatusPtr ARDOUR::ExportHandler::export_status
private

Definition at line 130 of file export_handler.h.

boost::shared_ptr<ExportGraphBuilder> ARDOUR::ExportHandler::graph_builder
private

Definition at line 129 of file export_handler.h.

bool ARDOUR::ExportHandler::normalizing
private

Definition at line 138 of file export_handler.h.

PBD::ScopedConnection ARDOUR::ExportHandler::process_connection
private

Definition at line 151 of file export_handler.h.

framepos_t ARDOUR::ExportHandler::process_position
private

Definition at line 152 of file export_handler.h.

Session& ARDOUR::ExportHandler::session
private

Definition at line 128 of file export_handler.h.

bool ARDOUR::ExportHandler::soundcloud_downloadable

Definition at line 121 of file export_handler.h.

bool ARDOUR::ExportHandler::soundcloud_make_public

Definition at line 119 of file export_handler.h.

bool ARDOUR::ExportHandler::soundcloud_open_page

Definition at line 120 of file export_handler.h.

std::string ARDOUR::ExportHandler::soundcloud_password

Definition at line 118 of file export_handler.h.

std::string ARDOUR::ExportHandler::soundcloud_username

Definition at line 117 of file export_handler.h.

PBD::Signal3<void, double, double, std::string> ARDOUR::ExportHandler::SoundcloudProgress

signal emitted when soundcloud export reports progress updates during upload. The parameters are total and current bytes downloaded, and the current filename

Definition at line 114 of file export_handler.h.

TimespanBounds ARDOUR::ExportHandler::timespan_bounds
private

Definition at line 149 of file export_handler.h.


The documentation for this class was generated from the following files: