summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/ardour.h1
-rw-r--r--libs/ardour/ardour/audio_diskstream.h18
-rw-r--r--libs/ardour/ardour/audiofilesource.h2
-rw-r--r--libs/ardour/ardour/coreaudiosource.h2
-rw-r--r--libs/ardour/ardour/diskstream.h54
-rw-r--r--libs/ardour/ardour/midi_diskstream.h16
-rw-r--r--libs/ardour/ardour/midi_region.h16
-rwxr-xr-xlibs/ardour/ardour/public_diskstream.h18
-rw-r--r--libs/ardour/ardour/session.h22
-rw-r--r--libs/ardour/ardour/silentfilesource.h2
-rw-r--r--libs/ardour/ardour/slave.h12
-rw-r--r--libs/ardour/ardour/sndfilesource.h2
-rw-r--r--libs/ardour/ardour/source_factory.h2
-rw-r--r--libs/ardour/ardour/track.h18
-rw-r--r--libs/ardour/ardour/types.h14
15 files changed, 104 insertions, 95 deletions
diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h
index 02dc3ee150..1e94602839 100644
--- a/libs/ardour/ardour/ardour.h
+++ b/libs/ardour/ardour/ardour.h
@@ -46,7 +46,6 @@ namespace ARDOUR {
class AudioEngine;
- static const nframes_t max_frames = JACK_MAX_FRAMES;
extern PBD::Signal1<void,std::string> BootMessage;
int init (bool with_vst, bool try_optimization);
diff --git a/libs/ardour/ardour/audio_diskstream.h b/libs/ardour/ardour/audio_diskstream.h
index 7b7cdd7e3f..4106602b63 100644
--- a/libs/ardour/ardour/audio_diskstream.h
+++ b/libs/ardour/ardour/audio_diskstream.h
@@ -162,22 +162,22 @@ class AudioDiskstream : public Diskstream
void set_pending_overwrite(bool);
int overwrite_existing_buffers ();
void set_block_size (nframes_t);
- int internal_playback_seek (nframes_t distance);
- int can_internal_playback_seek (nframes_t distance);
+ int internal_playback_seek (framecnt_t distance);
+ int can_internal_playback_seek (framecnt_t distance);
int rename_write_sources ();
std::list<boost::shared_ptr<Source> > steal_write_sources();
void reset_write_sources (bool, bool force = false);
void non_realtime_input_change ();
- void non_realtime_locate (nframes_t location);
+ void non_realtime_locate (framepos_t location);
protected:
friend class Auditioner;
- int seek (nframes_t which_sample, bool complete_refill = false);
+ int seek (framepos_t which_sample, bool complete_refill = false);
protected:
friend class AudioTrack;
- int process (nframes_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input, bool& need_butler);
+ int process (framepos_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input, bool& need_butler);
bool commit (nframes_t nframes);
private:
@@ -233,12 +233,12 @@ class AudioDiskstream : public Diskstream
int do_refill_with_alloc ();
int read (Sample* buf, Sample* mixdown_buffer, float* gain_buffer,
- nframes_t& start, nframes_t cnt,
- ChannelInfo* channel_info, int channel, bool reversed);
+ framepos_t& start, nframes_t cnt,
+ ChannelInfo* channel_info, int channel, bool reversed);
void finish_capture (bool rec_monitors_input, boost::shared_ptr<ChannelList>);
void transport_stopped_wallclock (struct tm&, time_t, bool abort);
- void transport_looped (nframes_t transport_frame);
+ void transport_looped (framepos_t transport_frame);
void init ();
@@ -254,7 +254,7 @@ class AudioDiskstream : public Diskstream
int use_pending_capture_data (XMLNode& node);
void get_input_sources ();
- void prepare_record_status(nframes_t capture_start_frame);
+ void prepare_record_status(framepos_t capture_start_frame);
void set_align_style_from_io();
void setup_destructive_playlist ();
void use_destructive_playlist ();
diff --git a/libs/ardour/ardour/audiofilesource.h b/libs/ardour/ardour/audiofilesource.h
index 3aef900630..bd3d223fc1 100644
--- a/libs/ardour/ardour/audiofilesource.h
+++ b/libs/ardour/ardour/audiofilesource.h
@@ -64,7 +64,7 @@ public:
virtual void clear_capture_marks() {}
virtual bool one_of_several_channels () const { return false; }
- virtual int update_header (sframes_t when, struct tm&, time_t) = 0;
+ virtual int update_header (framepos_t when, struct tm&, time_t) = 0;
virtual int flush_header () = 0;
void mark_streaming_write_completed ();
diff --git a/libs/ardour/ardour/coreaudiosource.h b/libs/ardour/ardour/coreaudiosource.h
index 33a493b040..649c57c3ca 100644
--- a/libs/ardour/ardour/coreaudiosource.h
+++ b/libs/ardour/ardour/coreaudiosource.h
@@ -37,7 +37,7 @@ class CoreAudioSource : public AudioFileSource {
void set_path (const std::string& p);
float sample_rate() const;
- int update_header (sframes_t when, struct tm&, time_t);
+ int update_header (framepos_t when, struct tm&, time_t);
int flush_header () {return 0;};
void set_header_timeline_position () {};
diff --git a/libs/ardour/ardour/diskstream.h b/libs/ardour/ardour/diskstream.h
index 716cc13063..240448a78b 100644
--- a/libs/ardour/ardour/diskstream.h
+++ b/libs/ardour/ardour/diskstream.h
@@ -101,7 +101,7 @@ class Diskstream : public SessionObject, public PublicDiskstream
virtual void punch_out() {}
void non_realtime_set_speed ();
- virtual void non_realtime_locate (nframes_t /*location*/) {};
+ virtual void non_realtime_locate (framepos_t /*location*/) {};
virtual void playlist_modified ();
boost::shared_ptr<Playlist> playlist () { return _playlist; }
@@ -110,10 +110,10 @@ class Diskstream : public SessionObject, public PublicDiskstream
virtual int use_new_playlist () = 0;
virtual int use_copy_playlist () = 0;
- nframes_t current_capture_start() const { return capture_start_frame; }
- nframes_t current_capture_end() const { return capture_start_frame + capture_captured; }
- nframes_t get_capture_start_frame (uint32_t n=0);
- nframes_t get_captured_frames (uint32_t n=0);
+ framepos_t current_capture_start() const { return capture_start_frame; }
+ framepos_t current_capture_end() const { return capture_start_frame + capture_captured; }
+ framepos_t get_capture_start_frame (uint32_t n=0);
+ framecnt_t get_captured_frames (uint32_t n=0);
ChanCount n_channels() { return _n_channels; }
@@ -169,8 +169,8 @@ class Diskstream : public SessionObject, public PublicDiskstream
virtual void set_pending_overwrite (bool) = 0;
virtual int overwrite_existing_buffers () = 0;
- virtual int internal_playback_seek (nframes_t distance) = 0;
- virtual int can_internal_playback_seek (nframes_t distance) = 0;
+ virtual int internal_playback_seek (framecnt_t distance) = 0;
+ virtual int can_internal_playback_seek (framecnt_t distance) = 0;
virtual int rename_write_sources () = 0;
virtual void reset_write_sources (bool, bool force = false) = 0;
virtual void non_realtime_input_change () = 0;
@@ -180,12 +180,12 @@ class Diskstream : public SessionObject, public PublicDiskstream
protected:
friend class Auditioner;
- virtual int seek (nframes_t which_sample, bool complete_refill = false) = 0;
+ virtual int seek (framepos_t which_sample, bool complete_refill = false) = 0;
protected:
friend class Track;
- virtual int process (nframes_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input, bool& need_butler) = 0;
+ virtual int process (framepos_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input, bool& need_butler) = 0;
virtual bool commit (nframes_t nframes) = 0;
//private:
@@ -197,7 +197,7 @@ class Diskstream : public SessionObject, public PublicDiskstream
struct CaptureTransition {
TransitionType type;
- nframes_t capture_val; ///< The start or end file frame position
+ framepos_t capture_val; ///< The start or end file frame position
};
/* The two central butler operations */
@@ -211,11 +211,11 @@ class Diskstream : public SessionObject, public PublicDiskstream
virtual void playlist_ranges_moved (std::list< Evoral::RangeMove<framepos_t> > const &, bool);
virtual void transport_stopped_wallclock (struct tm&, time_t, bool abort) = 0;
- virtual void transport_looped (nframes_t transport_frame) = 0;
+ virtual void transport_looped (framepos_t transport_frame) = 0;
struct CaptureInfo {
- uint32_t start;
- uint32_t frames;
+ framepos_t start;
+ framecnt_t frames;
};
virtual int use_new_write_source (uint32_t n=0) = 0;
@@ -230,14 +230,14 @@ class Diskstream : public SessionObject, public PublicDiskstream
virtual int use_pending_capture_data (XMLNode& node) = 0;
- virtual void check_record_status (nframes_t transport_frame, nframes_t nframes, bool can_record);
- virtual void prepare_record_status (nframes_t /*capture_start_frame*/) {}
+ virtual void check_record_status (framepos_t transport_frame, nframes_t nframes, bool can_record);
+ virtual void prepare_record_status (framepos_t /*capture_start_frame*/) {}
virtual void set_align_style_from_io() {}
virtual void setup_destructive_playlist () {}
virtual void use_destructive_playlist () {}
virtual void prepare_to_stop (framepos_t pos);
- void calculate_record_range(OverlapType ot, sframes_t transport_frame, nframes_t nframes,
+ void calculate_record_range(OverlapType ot, framepos_t transport_frame, framecnt_t nframes,
nframes_t& rec_nframes, nframes_t& rec_offset);
static nframes_t disk_io_chunk_frames;
@@ -260,20 +260,20 @@ class Diskstream : public SessionObject, public PublicDiskstream
bool _seek_required;
bool force_refill;
- nframes_t capture_start_frame;
- nframes_t capture_captured;
+ framepos_t capture_start_frame;
+ framecnt_t capture_captured;
bool was_recording;
nframes_t adjust_capture_position;
nframes_t _capture_offset;
nframes_t _roll_delay;
- nframes_t first_recordable_frame;
- nframes_t last_recordable_frame;
+ framepos_t first_recordable_frame;
+ framepos_t last_recordable_frame;
int last_possibly_recording;
AlignStyle _alignment_style;
bool _scrubbing;
bool _slaved;
Location* loop_location;
- nframes_t overwrite_frame;
+ framepos_t overwrite_frame;
off_t overwrite_offset;
bool _pending_overwrite;
bool overwrite_queued;
@@ -284,9 +284,9 @@ class Diskstream : public SessionObject, public PublicDiskstream
double _speed;
double _target_speed;
- nframes_t file_frame;
- nframes_t playback_sample;
- nframes_t playback_distance;
+ framepos_t file_frame;
+ framepos_t playback_sample;
+ framecnt_t playback_distance;
uint32_t _read_data_count;
uint32_t _write_data_count;
@@ -297,9 +297,9 @@ class Diskstream : public SessionObject, public PublicDiskstream
Glib::Mutex state_lock;
- nframes_t scrub_start;
- nframes_t scrub_buffer_size;
- nframes_t scrub_offset;
+ framepos_t scrub_start;
+ nframes_t scrub_buffer_size;
+ nframes_t scrub_offset;
PBD::ScopedConnectionList playlist_connections;
diff --git a/libs/ardour/ardour/midi_diskstream.h b/libs/ardour/ardour/midi_diskstream.h
index 69c762823b..49a7525dc7 100644
--- a/libs/ardour/ardour/midi_diskstream.h
+++ b/libs/ardour/ardour/midi_diskstream.h
@@ -62,7 +62,7 @@ class MidiDiskstream : public Diskstream
float playback_buffer_load() const;
float capture_buffer_load() const;
- void get_playback(MidiBuffer& dst, nframes_t start, nframes_t end);
+ void get_playback(MidiBuffer& dst, framepos_t start, framepos_t end);
void set_record_enabled (bool yn);
@@ -119,23 +119,23 @@ class MidiDiskstream : public Diskstream
void set_pending_overwrite(bool);
int overwrite_existing_buffers ();
void set_block_size (nframes_t);
- int internal_playback_seek (nframes_t distance);
- int can_internal_playback_seek (nframes_t distance);
+ int internal_playback_seek (framecnt_t distance);
+ int can_internal_playback_seek (framecnt_t distance);
int rename_write_sources ();
std::list<boost::shared_ptr<Source> > steal_write_sources();
void reset_write_sources (bool, bool force = false);
void non_realtime_input_change ();
- void non_realtime_locate (nframes_t location);
+ void non_realtime_locate (framepos_t location);
static void set_readahead_frames(nframes_t frames_ahead) { midi_readahead = frames_ahead; }
protected:
- int seek (nframes_t which_sample, bool complete_refill = false);
+ int seek (framepos_t which_sample, bool complete_refill = false);
protected:
friend class MidiTrack;
- int process (nframes_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input, bool& need_butler);
+ int process (framepos_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input, bool& need_butler);
bool commit (nframes_t nframes);
static nframes_t midi_readahead;
@@ -147,11 +147,11 @@ class MidiDiskstream : public Diskstream
int do_refill_with_alloc();
- int read (nframes_t& start, nframes_t cnt, bool reversed);
+ int read (framepos_t& start, nframes_t cnt, bool reversed);
void finish_capture (bool rec_monitors_input);
void transport_stopped_wallclock (struct tm&, time_t, bool abort);
- void transport_looped (nframes_t transport_frame);
+ void transport_looped (framepos_t transport_frame);
void init ();
diff --git a/libs/ardour/ardour/midi_region.h b/libs/ardour/ardour/midi_region.h
index 0b62809fc3..a7a5fb3a82 100644
--- a/libs/ardour/ardour/midi_region.h
+++ b/libs/ardour/ardour/midi_region.h
@@ -36,6 +36,16 @@
class XMLNode;
namespace ARDOUR {
+ namespace Properties {
+ /* this is pseudo-property: nothing has this as an actual
+ property, but it allows us to signal changes to the
+ MidiModel used by the MidiRegion
+ */
+ extern PBD::PropertyDescriptor<void*> midi_data;
+ }
+}
+
+namespace ARDOUR {
class Route;
class Playlist;
@@ -48,6 +58,8 @@ template<typename T> class MidiRingBuffer;
class MidiRegion : public Region
{
public:
+ static void make_property_quarks ();
+
~MidiRegion();
boost::shared_ptr<MidiRegion> clone ();
@@ -109,6 +121,8 @@ class MidiRegion : public Region
NoteMode mode = Sustained,
MidiStateTracker* tracker = 0) const;
+ void register_properties ();
+
void recompute_at_start ();
void recompute_at_end ();
@@ -117,10 +131,12 @@ class MidiRegion : public Region
void switch_source(boost::shared_ptr<Source> source);
void model_changed ();
void model_automation_state_changed (Evoral::Parameter const &);
+ void model_contents_changed ();
std::set<Evoral::Parameter> _filtered_parameters; ///< parameters that we ask our source not to return when reading
PBD::ScopedConnection _model_connection;
PBD::ScopedConnection _source_connection;
+ PBD::ScopedConnection _model_contents_connection;
};
} /* namespace ARDOUR */
diff --git a/libs/ardour/ardour/public_diskstream.h b/libs/ardour/ardour/public_diskstream.h
index e0cf9ef7fa..de6b3dcb55 100755
--- a/libs/ardour/ardour/public_diskstream.h
+++ b/libs/ardour/ardour/public_diskstream.h
@@ -46,17 +46,17 @@ public:
virtual uint32_t read_data_count() const = 0;
virtual uint32_t write_data_count() const = 0;
virtual void set_pending_overwrite (bool) = 0;
- virtual int seek (nframes_t, bool complete_refill = false) = 0;
+ virtual int seek (framepos_t, bool complete_refill = false) = 0;
virtual bool hidden () const = 0;
- virtual int can_internal_playback_seek (nframes_t) = 0;
- virtual int internal_playback_seek (nframes_t) = 0;
+ virtual int can_internal_playback_seek (framepos_t) = 0;
+ virtual int internal_playback_seek (framepos_t) = 0;
virtual void non_realtime_input_change () = 0;
- virtual void non_realtime_locate (nframes_t) = 0;
+ virtual void non_realtime_locate (framepos_t) = 0;
virtual void non_realtime_set_speed () = 0;
virtual int overwrite_existing_buffers () = 0;
- virtual nframes_t get_captured_frames (uint32_t n = 0) = 0;
+ virtual framecnt_t get_captured_frames (uint32_t n = 0) = 0;
virtual int set_loop (Location *) = 0;
- virtual void transport_looped (nframes_t) = 0;
+ virtual void transport_looped (framepos_t) = 0;
virtual bool realtime_set_speed (double, bool) = 0;
virtual void transport_stopped_wallclock (struct tm &, time_t, bool) = 0;
virtual bool pending_overwrite () const = 0;
@@ -64,10 +64,10 @@ public:
virtual void prepare_to_stop (framepos_t) = 0;
virtual void set_slaved (bool) = 0;
virtual ChanCount n_channels () = 0;
- virtual nframes_t get_capture_start_frame (uint32_t n = 0) = 0;
+ virtual framepos_t get_capture_start_frame (uint32_t n = 0) = 0;
virtual AlignStyle alignment_style () const = 0;
- virtual nframes_t current_capture_start () const = 0;
- virtual nframes_t current_capture_end () const = 0;
+ virtual framepos_t current_capture_start () const = 0;
+ virtual framepos_t current_capture_end () const = 0;
virtual void playlist_modified () = 0;
virtual int use_playlist (boost::shared_ptr<Playlist>) = 0;
virtual void set_align_style (AlignStyle) = 0;
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index db7a59b76d..315ad887ae 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -311,9 +311,9 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
int wipe ();
- std::pair<nframes_t, nframes_t> get_extent () const;
- nframes_t current_end_frame () const;
- nframes_t current_start_frame () const;
+ std::pair<framepos_t, framepos_t> get_extent () const;
+ framepos_t current_end_frame () const;
+ framepos_t current_start_frame () const;
/// "actual" sample rate of session, set by current audioengine rate, pullup/down etc.
nframes_t frame_rate() const { return _current_frame_rate; }
/// "native" sample rate of session, regardless of current audioengine rate, pullup/down etc
@@ -447,14 +447,14 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void sync_time_vars();
void bbt_time (nframes_t when, BBT_Time&);
- void timecode_to_sample(Timecode::Time& timecode, nframes_t& sample, bool use_offset, bool use_subframes) const;
- void sample_to_timecode(nframes_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const;
+ void timecode_to_sample(Timecode::Time& timecode, framepos_t& sample, bool use_offset, bool use_subframes) const;
+ void sample_to_timecode(framepos_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const;
void timecode_time (Timecode::Time &);
void timecode_time (nframes_t when, Timecode::Time&);
void timecode_time_subframes (nframes_t when, Timecode::Time&);
void timecode_duration (nframes_t, Timecode::Time&) const;
- void timecode_duration_string (char *, nframes_t) const;
+ void timecode_duration_string (char *, framecnt_t) const;
void set_timecode_offset (nframes_t);
nframes_t timecode_offset () const { return _timecode_offset; }
@@ -629,7 +629,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
/* s/w "RAID" management */
- nframes_t available_capture_duration();
+ framecnt_t available_capture_duration();
/* I/O bundles */
@@ -1048,15 +1048,15 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void enable_record ();
- void increment_transport_position (uint32_t val) {
- if (max_frames - val < _transport_frame) {
- _transport_frame = max_frames;
+ void increment_transport_position (framecnt_t val) {
+ if (max_framepos - val < _transport_frame) {
+ _transport_frame = max_framepos;
} else {
_transport_frame += val;
}
}
- void decrement_transport_position (uint32_t val) {
+ void decrement_transport_position (framecnt_t val) {
if (val < _transport_frame) {
_transport_frame -= val;
} else {
diff --git a/libs/ardour/ardour/silentfilesource.h b/libs/ardour/ardour/silentfilesource.h
index 23128c4025..d24aa9d136 100644
--- a/libs/ardour/ardour/silentfilesource.h
+++ b/libs/ardour/ardour/silentfilesource.h
@@ -27,7 +27,7 @@ namespace ARDOUR {
class SilentFileSource : public AudioFileSource {
public:
- int update_header (sframes_t /*when*/, struct tm&, time_t) { return 0; }
+ int update_header (framepos_t /*when*/, struct tm&, time_t) { return 0; }
int flush_header () { return 0; }
float sample_rate () const { return _sample_rate; }
diff --git a/libs/ardour/ardour/slave.h b/libs/ardour/ardour/slave.h
index d2b0e49c45..111564cc23 100644
--- a/libs/ardour/ardour/slave.h
+++ b/libs/ardour/ardour/slave.h
@@ -249,13 +249,13 @@ class MTC_Slave : public Slave {
static const int frame_tolerance;
SafeTime current;
- nframes_t mtc_frame; /* current time */
- nframes_t last_inbound_frame; /* when we got it; audio clocked */
+ framepos_t mtc_frame; /* current time */
+ framepos_t last_inbound_frame; /* when we got it; audio clocked */
MIDI::byte last_mtc_fps_byte;
- nframes64_t window_begin;
- nframes64_t window_end;
- nframes64_t last_mtc_timestamp;
- nframes64_t last_mtc_frame;
+ framepos_t window_begin;
+ framepos_t window_end;
+ framepos_t last_mtc_timestamp;
+ framepos_t last_mtc_frame;
bool did_reset_tc_format;
TimecodeFormat saved_tc_format;
size_t speed_accumulator_size;
diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h
index 59dd603236..06e329a74b 100644
--- a/libs/ardour/ardour/sndfilesource.h
+++ b/libs/ardour/ardour/sndfilesource.h
@@ -44,7 +44,7 @@ class SndFileSource : public AudioFileSource {
~SndFileSource ();
float sample_rate () const;
- int update_header (sframes_t when, struct tm&, time_t);
+ int update_header (framepos_t when, struct tm&, time_t);
int flush_header ();
nframes64_t natural_position () const;
diff --git a/libs/ardour/ardour/source_factory.h b/libs/ardour/ardour/source_factory.h
index c32b96ae97..14d0de5f4d 100644
--- a/libs/ardour/ardour/source_factory.h
+++ b/libs/ardour/ardour/source_factory.h
@@ -41,7 +41,7 @@ class SourceFactory {
static boost::shared_ptr<Source> create (Session&, const XMLNode& node, bool async = false);
static boost::shared_ptr<Source> createSilent (Session&, const XMLNode& node,
- nframes_t nframes, float sample_rate);
+ framecnt_t nframes, float sample_rate);
static boost::shared_ptr<Source> createReadable (DataType type, Session&,
const std::string& path,
diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h
index dfdc409659..38d36ea5d0 100644
--- a/libs/ardour/ardour/track.h
+++ b/libs/ardour/ardour/track.h
@@ -114,17 +114,17 @@ class Track : public Route, public PublicDiskstream
uint32_t read_data_count() const;
uint32_t write_data_count() const;
void set_pending_overwrite (bool);
- int seek (nframes_t, bool complete_refill = false);
+ int seek (framepos_t, bool complete_refill = false);
bool hidden () const;
- int can_internal_playback_seek (nframes_t);
- int internal_playback_seek (nframes_t);
+ int can_internal_playback_seek (framepos_t);
+ int internal_playback_seek (framepos_t);
void non_realtime_input_change ();
- void non_realtime_locate (nframes_t);
+ void non_realtime_locate (framepos_t);
void non_realtime_set_speed ();
int overwrite_existing_buffers ();
- nframes_t get_captured_frames (uint32_t n = 0);
+ framecnt_t get_captured_frames (uint32_t n = 0);
int set_loop (Location *);
- void transport_looped (nframes_t);
+ void transport_looped (framepos_t);
bool realtime_set_speed (double, bool);
void transport_stopped_wallclock (struct tm &, time_t, bool);
bool pending_overwrite () const;
@@ -132,10 +132,10 @@ class Track : public Route, public PublicDiskstream
void prepare_to_stop (framepos_t);
void set_slaved (bool);
ChanCount n_channels ();
- nframes_t get_capture_start_frame (uint32_t n = 0);
+ framepos_t get_capture_start_frame (uint32_t n = 0);
AlignStyle alignment_style () const;
- nframes_t current_capture_start () const;
- nframes_t current_capture_end () const;
+ framepos_t current_capture_start () const;
+ framepos_t current_capture_end () const;
void playlist_modified ();
int use_playlist (boost::shared_ptr<Playlist>);
void set_align_style (AlignStyle);
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index 435cf8d416..f91b67bb5a 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -20,14 +20,11 @@
#ifndef __ardour_types_h__
#define __ardour_types_h__
-#ifndef __STDC_FORMAT_MACROS
-#define __STDC_FORMAT_MACROS /* PRI<foo>; C++ requires explicit requesting of these */
-#endif
-
#include <istream>
#include <vector>
#include <boost/shared_ptr.hpp>
#include <sys/types.h>
+#include <stdint.h>
#include <inttypes.h>
#include <jack/types.h>
@@ -58,12 +55,6 @@ namespace ARDOUR {
typedef uint32_t nframes_t;
typedef int64_t nframes64_t;
-
- /** "Session frames", frames relative to the session timeline.
- * Everything related to transport position etc. should be of this type.
- * We might want to make this a compile time option for 32-bitters who
- * don't want to pay for extremely long session times they don't need...
- */
typedef int64_t sframes_t;
typedef int64_t framepos_t;
/* any offset from a framepos_t, measured in audio frames */
@@ -71,6 +62,9 @@ namespace ARDOUR {
/* any count of audio frames */
typedef int64_t framecnt_t;
+ static const framepos_t max_framepos = INT64_MAX;
+ static const framecnt_t max_framecnt = INT64_MAX;
+
struct IOChange {
enum Type {