diff options
author | Robin Gareus <robin@gareus.org> | 2016-12-12 19:44:03 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-12-17 02:43:42 +0100 |
commit | 8ba7e8f4ef6231c04d7833206690a7a291798c61 (patch) | |
tree | 95ed1565c8b80016f5b418ab36413a805f708e0d /libs/ardour | |
parent | 85e4b1d98ff72afe8b3acaf38e9c269749093207 (diff) |
Hide/remove per-track record-mode in favor of global setting.
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/audio_diskstream.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/audio_track.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/diskstream.h | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_diskstream.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/session_configuration_vars.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/sndfilesource.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/source.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/track.h | 2 | ||||
-rw-r--r-- | libs/ardour/audio_diskstream.cc | 8 | ||||
-rw-r--r-- | libs/ardour/audio_track.cc | 4 | ||||
-rw-r--r-- | libs/ardour/auditioner.cc | 2 | ||||
-rw-r--r-- | libs/ardour/diskstream.cc | 6 | ||||
-rw-r--r-- | libs/ardour/midi_diskstream.cc | 2 | ||||
-rw-r--r-- | libs/ardour/midi_track.cc | 2 | ||||
-rw-r--r-- | libs/ardour/sndfilesource.cc | 2 |
15 files changed, 42 insertions, 1 deletions
diff --git a/libs/ardour/ardour/audio_diskstream.h b/libs/ardour/ardour/audio_diskstream.h index 21a1789468..a0799aabde 100644 --- a/libs/ardour/ardour/audio_diskstream.h +++ b/libs/ardour/ardour/audio_diskstream.h @@ -74,9 +74,11 @@ class LIBARDOUR_API AudioDiskstream : public Diskstream void set_record_enabled (bool yn); void set_record_safe (bool yn); +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX int set_destructive (bool yn); int set_non_layered (bool yn); bool can_become_destructive (bool& requires_bounce) const; +#endif boost::shared_ptr<AudioPlaylist> audio_playlist () { return boost::dynamic_pointer_cast<AudioPlaylist>(_playlist); } diff --git a/libs/ardour/ardour/audio_track.h b/libs/ardour/ardour/audio_track.h index d80042a252..28e42cd4f3 100644 --- a/libs/ardour/ardour/audio_track.h +++ b/libs/ardour/ardour/audio_track.h @@ -37,8 +37,10 @@ class LIBARDOUR_API AudioTrack : public Track AudioTrack (Session&, std::string name, TrackMode m = Normal); ~AudioTrack (); +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX int set_mode (TrackMode m); bool can_use_mode (TrackMode m, bool& bounce_required); +#endif int roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, int declick, bool& need_butler); diff --git a/libs/ardour/ardour/diskstream.h b/libs/ardour/ardour/diskstream.h index e51f8c3ef1..404aceec5e 100644 --- a/libs/ardour/ardour/diskstream.h +++ b/libs/ardour/ardour/diskstream.h @@ -109,13 +109,15 @@ class LIBARDOUR_API Diskstream : public SessionObject, public PublicDiskstream virtual void set_record_safe (bool yn) = 0; bool destructive() const { return _flags & Destructive; } +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX virtual int set_destructive (bool /*yn*/) { return -1; } virtual int set_non_layered (bool /*yn*/) { return -1; } virtual bool can_become_destructive (bool& /*requires_bounce*/) const { return false; } +#endif bool hidden() const { return _flags & Hidden; } bool recordable() const { return _flags & Recordable; } - bool non_layered() const { return _flags & NonLayered; } + bool non_layered() const; // { return _flags & NonLayered; } bool reversed() const { return _actual_speed < 0.0f; } double speed() const { return _visible_speed; } diff --git a/libs/ardour/ardour/midi_diskstream.h b/libs/ardour/ardour/midi_diskstream.h index 45f01763d8..4f91a30ca9 100644 --- a/libs/ardour/ardour/midi_diskstream.h +++ b/libs/ardour/ardour/midi_diskstream.h @@ -91,7 +91,9 @@ class LIBARDOUR_API MidiDiskstream : public Diskstream boost::shared_ptr<SMFSource> write_source () { return _write_source; } +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX int set_destructive (bool yn); // doom! +#endif void set_note_mode (NoteMode m); diff --git a/libs/ardour/ardour/session_configuration_vars.h b/libs/ardour/ardour/session_configuration_vars.h index 6c4bc3fb54..6e7ab3a279 100644 --- a/libs/ardour/ardour/session_configuration_vars.h +++ b/libs/ardour/ardour/session_configuration_vars.h @@ -36,6 +36,7 @@ CONFIG_VARIABLE (bool, auto_return, "auto-return", false) CONFIG_VARIABLE (bool, auto_input, "auto-input", true) CONFIG_VARIABLE (bool, punch_in, "punch-in", false) CONFIG_VARIABLE (bool, punch_out, "punch-out", false) +CONFIG_VARIABLE (bool, layered_record_mode, "layered-record-mode", false) CONFIG_VARIABLE (uint32_t, subframes_per_frame, "subframes-per-frame", 100) CONFIG_VARIABLE (Timecode::TimecodeFormat, timecode_format, "timecode-format", Timecode::timecode_30) CONFIG_VARIABLE_SPECIAL(std::string, raid_path, "raid-path", "", PBD::path_expand) diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h index 5aa11814fb..850a32a557 100644 --- a/libs/ardour/ardour/sndfilesource.h +++ b/libs/ardour/ardour/sndfilesource.h @@ -67,7 +67,9 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource { void mark_capture_end (); void clear_capture_marks(); +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX bool set_destructive (bool yn); +#endif bool one_of_several_channels () const; uint32_t channel_count () const { return _info.channels; } diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h index eb204715a1..71595592fb 100644 --- a/libs/ardour/ardour/source.h +++ b/libs/ardour/ardour/source.h @@ -82,7 +82,9 @@ class LIBARDOUR_API Source : public SessionObject bool destructive() const { return (_flags & Destructive); } bool writable () const; +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX virtual bool set_destructive (bool /*yn*/) { return false; } +#endif virtual bool length_mutable() const { return false; } static PBD::Signal1<void,Source*> SourceCreated; diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h index 243d40faf0..65f38e6fc0 100644 --- a/libs/ardour/ardour/track.h +++ b/libs/ardour/ardour/track.h @@ -56,9 +56,11 @@ class LIBARDOUR_API Track : public Route, public Recordable, public PublicDiskst void resync_track_name (); TrackMode mode () const { return _mode; } +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX virtual int set_mode (TrackMode /*m*/) { return false; } virtual bool can_use_mode (TrackMode /*m*/, bool& /*bounce_required*/) { return false; } PBD::Signal0<void> TrackModeChanged; +#endif boost::shared_ptr<MonitorControl> monitoring_control() const { return _monitoring_control; } diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc index 53ab63961d..267338228a 100644 --- a/libs/ardour/audio_diskstream.cc +++ b/libs/ardour/audio_diskstream.cc @@ -361,6 +361,7 @@ AudioDiskstream::use_destructive_playlist () { const RegionList& rl (_playlist->region_list_property().rlist()); if (rl.size() > 0) { + /* this can happen when dragging a region onto a tape track */ assert((rl.size() == 1)); rp = rl.front(); } @@ -392,7 +393,12 @@ AudioDiskstream::use_destructive_playlist () /* this might be false if we switched modes, so force it */ +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX (*chan)->write_source->set_destructive (true); +#else + // should be set when creating the source or loading the state + assert ((*chan)->write_source->destructive()); +#endif } /* the source list will never be reset for a destructive track */ @@ -2384,6 +2390,7 @@ AudioDiskstream::use_pending_capture_data (XMLNode& node) return 0; } +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX int AudioDiskstream::set_non_layered (bool yn) { @@ -2497,6 +2504,7 @@ AudioDiskstream::can_become_destructive (bool& requires_bounce) const requires_bounce = false; return true; } +#endif void AudioDiskstream::adjust_playback_buffering () diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc index 3a653a0efe..f0303dbd36 100644 --- a/libs/ardour/audio_track.cc +++ b/libs/ardour/audio_track.cc @@ -82,12 +82,14 @@ AudioTrack::set_diskstream (boost::shared_ptr<Diskstream> ds) Track::set_diskstream (ds); _diskstream->set_track (this); +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX if (Profile->get_trx()) { _diskstream->set_destructive (false); } else { _diskstream->set_destructive (_mode == Destructive); } _diskstream->set_non_layered (_mode == NonLayered); +#endif if (audio_diskstream()->deprecated_io_node) { @@ -110,6 +112,7 @@ AudioTrack::audio_diskstream() const return boost::dynamic_pointer_cast<AudioDiskstream>(_diskstream); } +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX int AudioTrack::set_mode (TrackMode m) { @@ -149,6 +152,7 @@ AudioTrack::can_use_mode (TrackMode m, bool& bounce_required) return false; } } +#endif int AudioTrack::deprecated_use_diskstream_connections () diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc index aa81c3aa92..272e243e1c 100644 --- a/libs/ardour/auditioner.cc +++ b/libs/ardour/auditioner.cc @@ -332,12 +332,14 @@ Auditioner::set_diskstream (boost::shared_ptr<Diskstream> ds) Track::set_diskstream (ds); _diskstream->set_track (this); +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX if (Profile->get_trx()) { _diskstream->set_destructive (false); } else { _diskstream->set_destructive (_mode == Destructive); } _diskstream->set_non_layered (_mode == NonLayered); +#endif _diskstream->set_record_enabled (false); _diskstream->request_input_monitoring (false); diff --git a/libs/ardour/diskstream.cc b/libs/ardour/diskstream.cc index a81c1e473d..d95fa109db 100644 --- a/libs/ardour/diskstream.cc +++ b/libs/ardour/diskstream.cc @@ -148,6 +148,12 @@ Diskstream::~Diskstream () delete deprecated_io_node; } +bool +Diskstream::non_layered () const +{ + return _session.config.get_layered_record_mode(); +} + void Diskstream::set_track (Track* t) { diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc index 675d1db0bf..13c0cdd9e8 100644 --- a/libs/ardour/midi_diskstream.cc +++ b/libs/ardour/midi_diskstream.cc @@ -288,6 +288,7 @@ MidiDiskstream::use_copy_playlist () } } +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX /** Overloaded from parent to die horribly */ int @@ -295,6 +296,7 @@ MidiDiskstream::set_destructive (bool yn) { return yn ? -1 : 0; } +#endif void MidiDiskstream::set_note_mode (NoteMode m) diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index c5433347a0..a4c14e4f62 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -139,11 +139,13 @@ MidiTrack::set_diskstream (boost::shared_ptr<Diskstream> ds) mds->reset_tracker (); _diskstream->set_track (this); +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX if (Profile->get_trx()) { _diskstream->set_destructive (false); } else { _diskstream->set_destructive (_mode == Destructive); } +#endif _diskstream->set_record_enabled (false); _diskstream_data_recorded_connection.disconnect (); diff --git a/libs/ardour/sndfilesource.cc b/libs/ardour/sndfilesource.cc index 008325dab1..54b9a0135c 100644 --- a/libs/ardour/sndfilesource.cc +++ b/libs/ardour/sndfilesource.cc @@ -799,6 +799,7 @@ SndFileSource::natural_position() const return _timeline_position; } +#ifdef XXX_OLD_DESTRUCTIVE_API_XXX bool SndFileSource::set_destructive (bool yn) { @@ -817,6 +818,7 @@ SndFileSource::set_destructive (bool yn) return true; } +#endif void SndFileSource::clear_capture_marks () |