From 5ee3e58718f65ef9eb62a1b90d424dac68e770ff Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 25 Jan 2007 17:42:19 +0000 Subject: fix import/embed of multichannel audiofiles, as per #1433 git-svn-id: svn://localhost/ardour2/trunk@1386 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/audiofilesource.h | 6 +++++- libs/ardour/ardour/coreaudiosource.h | 2 +- libs/ardour/ardour/sndfilesource.h | 4 ++-- libs/ardour/ardour/source_factory.h | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) (limited to 'libs/ardour/ardour') diff --git a/libs/ardour/ardour/audiofilesource.h b/libs/ardour/ardour/audiofilesource.h index 2133136e68..f91f78f6d9 100644 --- a/libs/ardour/ardour/audiofilesource.h +++ b/libs/ardour/ardour/audiofilesource.h @@ -101,6 +101,10 @@ class AudioFileSource : public AudioSource { bool destructive() const { return (_flags & Destructive); } virtual bool set_destructive (bool yn) { return false; } + Flag flags() const { return _flags; } + + void mark_immutable (); + /* this should really be protected, but C++ is getting stricter and creating slots from protected member functions is starting to cause issues. @@ -125,12 +129,12 @@ class AudioFileSource : public AudioSource { int init (string idstr, bool must_exist); - uint16_t channel; string _path; Flag _flags; string _take_id; int64_t timeline_position; bool file_is_new; + uint16_t channel; bool _is_embedded; static bool determine_embeddedness(string path); diff --git a/libs/ardour/ardour/coreaudiosource.h b/libs/ardour/ardour/coreaudiosource.h index bd69c78e18..63c50d7cfb 100644 --- a/libs/ardour/ardour/coreaudiosource.h +++ b/libs/ardour/ardour/coreaudiosource.h @@ -29,7 +29,7 @@ namespace ARDOUR { class CoreAudioSource : public AudioFileSource { public: CoreAudioSource (ARDOUR::Session&, const XMLNode&); - CoreAudioSource (ARDOUR::Session&, const string& path_plus_channel, Flag); + CoreAudioSource (ARDOUR::Session&, const string& path, int chn, Flag); ~CoreAudioSource (); float sample_rate() const; diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h index 1d07f6888d..a5000a4b63 100644 --- a/libs/ardour/ardour/sndfilesource.h +++ b/libs/ardour/ardour/sndfilesource.h @@ -31,7 +31,7 @@ class SndFileSource : public AudioFileSource { public: /* constructor to be called for existing external-to-session files */ - SndFileSource (Session&, std::string path, Flag flags); + SndFileSource (Session&, std::string path, int chn, Flag flags); /* constructor to be called for new in-session files */ @@ -78,7 +78,7 @@ class SndFileSource : public AudioFileSource { mutable float *interleave_buf; mutable nframes_t interleave_bufsize; - void init (string str); + void init (); int open(); void close(); int setup_broadcast_info (nframes_t when, struct tm&, time_t); diff --git a/libs/ardour/ardour/source_factory.h b/libs/ardour/ardour/source_factory.h index 6cb262a299..207015a253 100644 --- a/libs/ardour/ardour/source_factory.h +++ b/libs/ardour/ardour/source_factory.h @@ -22,7 +22,7 @@ class SourceFactory { static boost::shared_ptr create (Session&, const XMLNode& node); // MIDI sources will have to be hacked in here somehow - static boost::shared_ptr createReadable (Session&, std::string idstr, AudioFileSource::Flag flags, bool announce = true); + static boost::shared_ptr createReadable (Session&, std::string path, int chn, AudioFileSource::Flag flags, bool announce = true); static boost::shared_ptr createWritable (Session&, std::string name, bool destructive, nframes_t rate, bool announce = true); private: -- cgit v1.2.3