summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-11-13 17:56:43 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-11-13 17:56:43 +0000
commit55a85aa2a906d56818a35172594762a637d85f6d (patch)
tree7dabbfa40faeef7988136449e2620c6a9d254319 /libs/ardour/ardour
parent3984be057b79345185adb1192d82b0e7725337b8 (diff)
display timecode from BWF etc in SF browser; accels for windows now work (misspelling in ardour.bindings); use hide icon in automation tracks
git-svn-id: svn://localhost/ardour2/trunk@1125 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/audiofilesource.h5
-rw-r--r--libs/ardour/ardour/coreaudiosource.h2
-rw-r--r--libs/ardour/ardour/destructive_filesource.h2
-rw-r--r--libs/ardour/ardour/sndfilesource.h6
4 files changed, 11 insertions, 4 deletions
diff --git a/libs/ardour/ardour/audiofilesource.h b/libs/ardour/ardour/audiofilesource.h
index 728432db81..66cc240770 100644
--- a/libs/ardour/ardour/audiofilesource.h
+++ b/libs/ardour/ardour/audiofilesource.h
@@ -31,6 +31,7 @@ struct SoundFileInfo {
uint16_t channels;
int64_t length;
std::string format_name;
+ int64_t timecode;
};
class AudioFileSource : public AudioSource {
@@ -126,7 +127,7 @@ class AudioFileSource : public AudioSource {
string _path;
Flag _flags;
string _take_id;
- uint64_t timeline_position;
+ int64_t timeline_position;
bool file_is_new;
bool _is_embedded;
@@ -141,7 +142,7 @@ class AudioFileSource : public AudioSource {
static uint64_t header_position_offset;
- virtual void set_timeline_position (nframes_t pos);
+ virtual void set_timeline_position (int64_t pos);
virtual void set_header_timeline_position () = 0;
bool find (std::string path, bool must_exist, bool& is_new);
diff --git a/libs/ardour/ardour/coreaudiosource.h b/libs/ardour/ardour/coreaudiosource.h
index 5f54d01f5d..bd69c78e18 100644
--- a/libs/ardour/ardour/coreaudiosource.h
+++ b/libs/ardour/ardour/coreaudiosource.h
@@ -38,6 +38,8 @@ class CoreAudioSource : public AudioFileSource {
int flush_header () {return 0;};
void set_header_timeline_position () {};
+ static int get_soundfile_info (string path, SoundFileInfo& _info, string& error_msg);
+
protected:
nframes_t read_unlocked (Sample *dst, nframes_t start, nframes_t cnt) const;
nframes_t write_unlocked (Sample *dst, nframes_t cnt) { return 0; }
diff --git a/libs/ardour/ardour/destructive_filesource.h b/libs/ardour/ardour/destructive_filesource.h
index d2cae73ddf..2e6f5d0e57 100644
--- a/libs/ardour/ardour/destructive_filesource.h
+++ b/libs/ardour/ardour/destructive_filesource.h
@@ -68,7 +68,7 @@ class DestructiveFileSource : public SndFileSource {
void init ();
nframes_t crossfade (Sample* data, nframes_t cnt, int dir);
- void set_timeline_position (nframes_t);
+ void set_timeline_position (int64_t);
};
}
diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h
index 66d5c1b0d1..1d07f6888d 100644
--- a/libs/ardour/ardour/sndfilesource.h
+++ b/libs/ardour/ardour/sndfilesource.h
@@ -60,6 +60,8 @@ class SndFileSource : public AudioFileSource {
static void setup_standard_crossfades (nframes_t sample_rate);
static const AudioFileSource::Flag default_writable_flags;
+ static int get_soundfile_info (string path, SoundFileInfo& _info, string& error_msg);
+
protected:
void set_header_timeline_position ();
@@ -96,10 +98,12 @@ class SndFileSource : public AudioFileSource {
Sample* xfade_buf;
nframes_t crossfade (Sample* data, nframes_t cnt, int dir);
- void set_timeline_position (nframes_t);
+ void set_timeline_position (int64_t);
nframes_t destructive_write_unlocked (Sample *dst, nframes_t cnt);
nframes_t nondestructive_write_unlocked (Sample *dst, nframes_t cnt);
void handle_header_position_change ();
+
+ static int64_t get_timecode_info (SNDFILE* sf, SF_BROADCAST_INFO* binfo, bool& exists);
};
} // namespace ARDOUR