summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-01-25 17:42:19 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-01-25 17:42:19 +0000
commit5ee3e58718f65ef9eb62a1b90d424dac68e770ff (patch)
tree10c4b9215d32e108878141124b07f6320f7d70e3 /libs/ardour/ardour
parent1c61d4007a2fb3b6ea1a84ced86338cb65a66363 (diff)
fix import/embed of multichannel audiofiles, as per #1433
git-svn-id: svn://localhost/ardour2/trunk@1386 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/audiofilesource.h6
-rw-r--r--libs/ardour/ardour/coreaudiosource.h2
-rw-r--r--libs/ardour/ardour/sndfilesource.h4
-rw-r--r--libs/ardour/ardour/source_factory.h2
4 files changed, 9 insertions, 5 deletions
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<Source> create (Session&, const XMLNode& node);
// MIDI sources will have to be hacked in here somehow
- static boost::shared_ptr<Source> createReadable (Session&, std::string idstr, AudioFileSource::Flag flags, bool announce = true);
+ static boost::shared_ptr<Source> createReadable (Session&, std::string path, int chn, AudioFileSource::Flag flags, bool announce = true);
static boost::shared_ptr<Source> createWritable (Session&, std::string name, bool destructive, nframes_t rate, bool announce = true);
private: