mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-23 07:06:23 +01:00
Fix split channel export (which was broken during export refactoring)
Possibly fixes bug #3052 Also clarify some comments which weren't quite clear :) git-svn-id: svn://localhost/ardour2/branches/3.0@6808 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
14b0ca31bc
commit
a743d20dce
5 changed files with 55 additions and 3 deletions
|
|
@ -73,6 +73,33 @@ ExportGraphBuilder::reset ()
|
|||
|
||||
void
|
||||
ExportGraphBuilder::add_config (FileSpec const & config)
|
||||
{
|
||||
if (!config.channel_config->get_split ()) {
|
||||
add_split_config (config);
|
||||
return;
|
||||
}
|
||||
|
||||
// Split channel configurations are split into several channel configurations,
|
||||
// each corresponding to a file, at this stage
|
||||
typedef std::list<boost::shared_ptr<ExportChannelConfiguration> > ConfigList;
|
||||
ConfigList file_configs;
|
||||
config.channel_config->configurations_for_files (file_configs);
|
||||
|
||||
unsigned chan = 1;
|
||||
for (ConfigList::iterator it = file_configs.begin(); it != file_configs.end(); ++it, ++chan) {
|
||||
FileSpec copy = config;
|
||||
copy.channel_config = *it;
|
||||
|
||||
copy.filename.reset (new ExportFilename (*copy.filename));
|
||||
copy.filename->include_channel = true;
|
||||
copy.filename->set_channel (chan);
|
||||
|
||||
add_split_config (copy);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ExportGraphBuilder::add_split_config (FileSpec const & config)
|
||||
{
|
||||
for (ChannelConfigList::iterator it = channel_configs.begin(); it != channel_configs.end(); ++it) {
|
||||
if (*it == config) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue