diff options
Diffstat (limited to 'libs/ardour/diskstream.cc')
-rw-r--r-- | libs/ardour/diskstream.cc | 87 |
1 files changed, 46 insertions, 41 deletions
diff --git a/libs/ardour/diskstream.cc b/libs/ardour/diskstream.cc index 94b68478d1..0e05ffabf4 100644 --- a/libs/ardour/diskstream.cc +++ b/libs/ardour/diskstream.cc @@ -29,7 +29,6 @@ #include <cstdlib> #include <ctime> #include <sys/stat.h> -#include <sys/mman.h> #include <glibmm/threads.h> @@ -281,17 +280,17 @@ Diskstream::set_align_choice (AlignChoice a, bool force) if ((a != _alignment_choice) || force) { _alignment_choice = a; - switch (_alignment_choice) { - case Automatic: - set_align_style_from_io (); - break; - case UseExistingMaterial: - set_align_style (ExistingMaterial); - break; - case UseCaptureTime: - set_align_style (CaptureTime); - break; - } + switch (_alignment_choice) { + case Automatic: + set_align_style_from_io (); + break; + case UseExistingMaterial: + set_align_style (ExistingMaterial); + break; + case UseCaptureTime: + set_align_style (CaptureTime); + break; + } } } @@ -438,7 +437,13 @@ Diskstream::set_name (const string& str) playlist()->set_name (str); SessionObject::set_name(str); } - return true; + return true; +} + +bool +Diskstream::set_write_source_name (const std::string& str) { + _write_source_name = str; + return true; } XMLNode& @@ -571,7 +576,7 @@ Diskstream::move_processor_automation (boost::weak_ptr<Processor> p, list< Evora set<Evoral::Parameter> const a = processor->what_can_be_automated (); - for (set<Evoral::Parameter>::iterator i = a.begin (); i != a.end (); ++i) { + for (set<Evoral::Parameter>::const_iterator i = a.begin (); i != a.end (); ++i) { boost::shared_ptr<AutomationList> al = processor->automation_control(*i)->alist(); XMLNode & before = al->get_state (); bool const things_moved = al->move_ranges (movements); @@ -594,27 +599,27 @@ Diskstream::check_record_status (framepos_t transport_frame, bool can_record) const int transport_rolling = 0x4; const int track_rec_enabled = 0x2; const int global_rec_enabled = 0x1; - const int fully_rec_enabled = (transport_rolling|track_rec_enabled|global_rec_enabled); + const int fully_rec_enabled = (transport_rolling|track_rec_enabled|global_rec_enabled); /* merge together the 3 factors that affect record status, and compute - what has changed. - */ + * what has changed. + */ rolling = _session.transport_speed() != 0.0f; - possibly_recording = (rolling << 2) | (record_enabled() << 1) | can_record; + possibly_recording = (rolling << 2) | ((int)record_enabled() << 1) | (int)can_record; change = possibly_recording ^ last_possibly_recording; if (possibly_recording == last_possibly_recording) { return; } - framecnt_t existing_material_offset = _session.worst_playback_latency(); + framecnt_t existing_material_offset = _session.worst_playback_latency(); - if (possibly_recording == fully_rec_enabled) { + if (possibly_recording == fully_rec_enabled) { - if (last_possibly_recording == fully_rec_enabled) { - return; - } + if (last_possibly_recording == fully_rec_enabled) { + return; + } capture_start_frame = _session.transport_frame(); first_recordable_frame = capture_start_frame + _capture_offset; @@ -637,32 +642,32 @@ Diskstream::check_record_status (framepos_t transport_frame, bool can_record) first_recordable_frame)); } - prepare_record_status (capture_start_frame); + prepare_record_status (capture_start_frame); - } else { + } else { - if (last_possibly_recording == fully_rec_enabled) { + if (last_possibly_recording == fully_rec_enabled) { - /* we were recording last time */ + /* we were recording last time */ - if (change & transport_rolling) { + if (change & transport_rolling) { - /* transport-change (stopped rolling): last_recordable_frame was set in ::prepare_to_stop(). We - had to set it there because we likely rolled past the stopping point to declick out, - and then backed up. - */ + /* transport-change (stopped rolling): last_recordable_frame was set in ::prepare_to_stop(). We + * had to set it there because we likely rolled past the stopping point to declick out, + * and then backed up. + */ - } else { - /* punch out */ + } else { + /* punch out */ - last_recordable_frame = _session.transport_frame() + _capture_offset; + last_recordable_frame = _session.transport_frame() + _capture_offset; - if (_alignment_style == ExistingMaterial) { - last_recordable_frame += existing_material_offset; - } - } - } - } + if (_alignment_style == ExistingMaterial) { + last_recordable_frame += existing_material_offset; + } + } + } + } last_possibly_recording = possibly_recording; } |