void clear (bool with_signals=true);
- nframes_t read (Sample *dst, Sample *mixdown, float *gain_buffer, nframes_t start, nframes_t cnt, uint32_t chan_n=0);
+ framecnt_t read (Sample *dst, Sample *mixdown, float *gain_buffer, framepos_t start, framecnt_t cnt, uint32_t chan_n=0);
int set_state (const XMLNode&, int version);
PBD::Signal1<void,boost::shared_ptr<Region> > Invalidated;
- bool covers (framecnt_t frame) const {
+ bool covers (framepos_t frame) const {
return _position <= frame && frame < _position + _length;
}
virtual void set_pending_overwrite (bool) = 0;
virtual int seek (framepos_t, bool complete_refill = false) = 0;
virtual bool hidden () const = 0;
- virtual int can_internal_playback_seek (framepos_t) = 0;
- virtual int internal_playback_seek (framepos_t) = 0;
+ virtual int can_internal_playback_seek (framecnt_t) = 0;
+ virtual int internal_playback_seek (framecnt_t) = 0;
virtual void non_realtime_input_change () = 0;
virtual void non_realtime_locate (framepos_t) = 0;
virtual void non_realtime_set_speed () = 0;
void queue_event (SessionEvent*);
- void request_roll_at_and_return (nframes_t start, nframes_t return_to);
- void request_bounded_roll (nframes_t start, nframes_t end);
+ void request_roll_at_and_return (framepos_t start, framepos_t return_to);
+ void request_bounded_roll (framepos_t start, framepos_t end);
void request_stop (bool abort = false, bool clear_state = false);
- void request_locate (nframes_t frame, bool with_roll = false);
+ void request_locate (framepos_t frame, bool with_roll = false);
void request_play_loop (bool yn, bool leave_rolling = false);
bool get_play_loop () const { return play_loop; }
}
};
-ARDOUR::nframes_t
-AudioPlaylist::read (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, nframes_t start,
- nframes_t cnt, unsigned chan_n)
+ARDOUR::framecnt_t
+AudioPlaylist::read (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, framepos_t start,
+ framecnt_t cnt, unsigned chan_n)
{
- nframes_t ret = cnt;
- nframes_t end;
- nframes_t read_frames;
- nframes_t skip_frames;
+ framecnt_t ret = cnt;
/* optimizing this memset() away involves a lot of conditionals
that may well cause more of a hit due to cache misses
Glib::RecMutex::Lock rm (region_lock);
- end = start + cnt - 1;
- read_frames = 0;
- skip_frames = 0;
+ framepos_t const end = start + cnt - 1;
+ framecnt_t read_frames = 0;
+ framecnt_t skip_frames = 0;
_read_data_count = 0;
_read_data_count = 0;
}
void
-Session::request_locate (nframes_t target_frame, bool with_roll)
+Session::request_locate (framepos_t target_frame, bool with_roll)
{
SessionEvent *ev = new SessionEvent (with_roll ? SessionEvent::LocateRoll : SessionEvent::Locate, SessionEvent::Add, SessionEvent::Immediate, target_frame, 0, false);
DEBUG_TRACE (DEBUG::Transport, string_compose ("Request locate to %1\n", target_frame));
}
void
-Session::request_bounded_roll (nframes_t start, nframes_t end)
+Session::request_bounded_roll (framepos_t start, framepos_t end)
{
AudioRange ar (start, end, 0);
list<AudioRange> lar;
request_play_range (&lar, true);
}
void
-Session::request_roll_at_and_return (nframes_t start, nframes_t return_to)
+Session::request_roll_at_and_return (framepos_t start, framepos_t return_to)
{
SessionEvent *ev = new SessionEvent (SessionEvent::LocateRollLocate, SessionEvent::Add, SessionEvent::Immediate, return_to, 1.0);
ev->target2_frame = start;
#include "i18n.h"
using namespace ARDOUR;
-using ARDOUR::nframes_t;
PBD::Signal2<void,std::string,std::string> BasicUI::AccessAction;
void
BasicUI::add_marker ()
{
- nframes_t when = session->audible_frame();
+ framepos_t when = session->audible_frame();
session->locations()->add (new Location (*session, when, when, _("unnamed"), Location::IsMark));
}
}
}
-nframes_t
+framepos_t
BasicUI::transport_frame ()
{
return session->transport_frame();
}
void
-BasicUI::locate (nframes_t where, bool roll_after_locate)
+BasicUI::locate (framepos_t where, bool roll_after_locate)
{
session->request_locate (where, roll_after_locate);
}
return session->transport_locked ();
}
-nframes_t
+ARDOUR::framecnt_t
BasicUI::timecode_frames_per_hour ()
{
return session->timecode_frames_per_hour ();
}
void
-BasicUI::timecode_time (nframes_t where, Timecode::Time& timecode)
+BasicUI::timecode_time (framepos_t where, Timecode::Time& timecode)
{
session->timecode_time (where, *((Timecode::Time *) &timecode));
}
void
-BasicUI::timecode_to_sample (Timecode::Time& timecode, int64_t& sample, bool use_offset, bool use_subframes) const
+BasicUI::timecode_to_sample (Timecode::Time& timecode, framepos_t & sample, bool use_offset, bool use_subframes) const
{
session->timecode_to_sample (*((Timecode::Time*)&timecode), sample, use_offset, use_subframes);
}
void
-BasicUI::sample_to_timecode (int64_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const
+BasicUI::sample_to_timecode (framepos_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const
{
session->sample_to_timecode (sample, *((Timecode::Time*)&timecode), use_offset, use_subframes);
}
#include "pbd/signals.h"
+#include "ardour/types.h"
+
#include <jack/types.h>
#include "control_protocol/timecode.h"
void set_transport_speed (double speed);
double get_transport_speed ();
- jack_nframes_t transport_frame ();
- void locate (jack_nframes_t frame, bool play = false);
+ ARDOUR::framepos_t transport_frame ();
+ void locate (ARDOUR::framepos_t frame, bool play = false);
bool locating ();
bool locked ();
void rec_enable_toggle ();
void toggle_all_rec_enables ();
- jack_nframes_t timecode_frames_per_hour ();
+ ARDOUR::framecnt_t timecode_frames_per_hour ();
- void timecode_time (jack_nframes_t where, Timecode::Time&);
- void timecode_to_sample (Timecode::Time& timecode, int64_t& sample, bool use_offset, bool use_subframes) const;
- void sample_to_timecode (int64_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const;
+ void timecode_time (framepos_t where, Timecode::Time&);
+ 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;
protected:
BasicUI ();