#include <gtkmm2ext/window_title.h>
#include <ardour/session.h>
+#include <ardour/session_directory.h>
#include <ardour/audioplaylist.h>
#include <ardour/audioregion.h>
#include <ardour/audio_diskstream.h>
Editor::add_external_audio_action (ImportMode mode)
{
nframes_t& pos = edit_cursor->current_frame;
- AudioTrack* track = 0;
+ boost::shared_ptr<AudioTrack> track;
if (!selection->tracks.empty()) {
AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*>(selection->tracks.front());
}
}
- bring_in_external_audio (mode, track, pos, false);
+ bring_in_external_audio (mode, track.get(), pos, false);
}
void
/* import thread finished - see if we should build a new track */
if (!import_status.new_regions.empty()) {
- boost::shared_ptr<AudioRegion> region (import_status.new_regions.front());
+ boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion>(import_status.new_regions.front());
finish_bringing_in_audio (region, region->n_channels(), region->n_channels(), track, pos, mode);
}
ustring path = *p;
/* lets see if we can link it into the session */
-
- linked_path = session->sound_dir();
- linked_path += '/';
- linked_path += Glib::path_get_basename (path);
+
+ sys::path tmp = session->session_directory().sound_path();
+
+ tmp /= Glib::path_get_basename(path);
+ linked_path = tmp.to_string();
if (link (path.c_str(), linked_path.c_str()) == 0) {
if ((s = session->source_by_path_and_channel (path, n)) == 0) {
source = boost::dynamic_pointer_cast<AudioFileSource> (SourceFactory::createReadable
- (*session, path, n,
+ (DataType::AUDIO, *session, path, n,
(mode == ImportAsTapeTrack ?
AudioFileSource::Destructive :
AudioFileSource::Flag (0))));
Region::Flag (Region::DefaultFlags|Region::WholeFile|Region::External)));
if (Config->get_output_auto_connect() & AutoConnectMaster) {
- output_chan = (session->master_out() ? session->master_out()->n_inputs() : input_chan);
+ output_chan = (session->master_out() ? session->master_out()->n_inputs().n_audio() : input_chan);
} else {
output_chan = input_chan;
}