*/
typedef int64_t frameoffset_t;
- /* Any count of audio frames.
+ /* Any count of audio frames.
Assumed to be positive but not enforced.
*/
typedef int64_t framecnt_t;
OverlapEnd, // overlap begins within and covers end
OverlapExternal // overlap extends to (at least) begin+end
};
-
- ARDOUR::OverlapType coverage (framepos_t sa, framepos_t ea,
- framepos_t sb, framepos_t eb);
- /* policies for inserting/pasting material where overlaps
- might be an issue.
- */
+ ARDOUR::OverlapType coverage (framepos_t sa, framepos_t ea,
+ framepos_t sb, framepos_t eb);
- enum InsertMergePolicy {
- InsertMergeReject, // no overlaps allowed
- InsertMergeRelax, // we just don't care about overlaps
- InsertMergeReplace, // replace old with new
- InsertMergeTruncateExisting, // shorten existing to avoid overlap
- InsertMergeTruncateAddition, // shorten new to avoid overlap
- InsertMergeExtend // extend new (or old) to the range of old+new
- };
+ /* policies for inserting/pasting material where overlaps
+ might be an issue.
+ */
+
+ enum InsertMergePolicy {
+ InsertMergeReject, // no overlaps allowed
+ InsertMergeRelax, // we just don't care about overlaps
+ InsertMergeReplace, // replace old with new
+ InsertMergeTruncateExisting, // shorten existing to avoid overlap
+ InsertMergeTruncateAddition, // shorten new to avoid overlap
+ InsertMergeExtend // extend new (or old) to the range of old+new
+ };
/** See evoral/Parameter.hpp
*/
ExistingMaterial
};
+ enum AlignChoice {
+ UseCaptureTime,
+ UseExistingMaterial,
+ Automatic
+ };
+
enum MeterPoint {
MeterInput,
MeterPreFader,
MeterPostFader,
- MeterOutput,
+ MeterOutput,
MeterCustom
};
};
AnyTime() { type = Frames; frames = 0; }
-
+
bool operator== (AnyTime const & other) const {
if (type != other.type) { return false; }
-
+
switch (type) {
case Timecode:
return timecode == other.timecode;
case Seconds:
return seconds == other.seconds;
}
+ return false; // get rid of warning
}
-
+
bool not_zero() const
{
switch (type) {
case Seconds:
return seconds != 0;
}
+
+ /* NOTREACHED */
+ assert (false);
+ return false;
}
};
ExternalMonitoring
};
+ enum MonitorChoice {
+ MonitorAuto = 0,
+ MonitorInput = 0x1,
+ MonitorDisk = 0x2,
+ MonitorCue = 0x4,
+ };
+
+ enum MonitorState {
+ MonitoringSilence = 0x1,
+ MonitoringInput = 0x2,
+ MonitoringDisk = 0x4,
+ };
+
enum PFLPosition {
/** PFL signals come from before pre-fader processors */
PFLFromBeforeProcessors,
struct InterThreadInfo {
InterThreadInfo () : done (false), cancel (false), progress (0), thread (0) {}
-
+
volatile bool done;
volatile bool cancel;
volatile float progress;
AudioUnit,
LADSPA,
LV2,
- VST
+ VST,
+ LXVST,
};
enum RunContext {
typedef std::list<framepos_t> AnalysisFeatureList;
- typedef std::list<boost::shared_ptr<Route> > RouteList;
+ typedef std::list<boost::shared_ptr<Route> > RouteList;
+ typedef std::list<boost::weak_ptr <Route> > WeakRouteList;
class Bundle;
typedef std::vector<boost::shared_ptr<Bundle> > BundleList;
bool meter_visibly_changed;
};
- struct BusProfile {
- AutoConnectOption input_ac; /* override the RC config for input auto-connection */
- AutoConnectOption output_ac; /* override the RC config for output auto-connection */
- uint32_t master_out_channels; /* how many channels for the master bus */
- uint32_t requested_physical_in; /* now many of the available physical inputs to consider usable */
- uint32_t requested_physical_out; /* now many of the available physical inputs to consider usable */
- };
+ struct BusProfile {
+ AutoConnectOption input_ac; /* override the RC config for input auto-connection */
+ AutoConnectOption output_ac; /* override the RC config for output auto-connection */
+ uint32_t master_out_channels; /* how many channels for the master bus */
+ uint32_t requested_physical_in; /* now many of the available physical inputs to consider usable */
+ uint32_t requested_physical_out; /* now many of the available physical inputs to consider usable */
+ };
enum FadeShape {
FadeLinear,
static inline ARDOUR::framepos_t
session_frame_to_track_frame (ARDOUR::framepos_t session_frame, double speed)
{
- return (ARDOUR::framepos_t)( (double)session_frame * speed );
+ return (ARDOUR::framepos_t) ((long double) session_frame * (long double) speed);
}
static inline ARDOUR::framepos_t
track_frame_to_session_frame (ARDOUR::framepos_t track_frame, double speed)
{
- return (ARDOUR::framepos_t)( (double)track_frame / speed );
+ return (ARDOUR::framepos_t) ((long double) track_frame / (long double) speed);
}
/* for now, break the rules and use "using" to make this "global" */