Remove old destructive API (non layered is a dynamic mode) 2/2
authorRobin Gareus <robin@gareus.org>
Fri, 18 Aug 2017 19:12:45 +0000 (21:12 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 18 Aug 2017 19:12:45 +0000 (21:12 +0200)
13 files changed:
libs/ardour/ardour/audio_diskstream.h
libs/ardour/ardour/audio_track.h
libs/ardour/ardour/diskstream.h
libs/ardour/ardour/midi_diskstream.h
libs/ardour/ardour/sndfilesource.h
libs/ardour/ardour/source.h
libs/ardour/ardour/track.h
libs/ardour/audio_diskstream.cc
libs/ardour/audio_track.cc
libs/ardour/auditioner.cc
libs/ardour/midi_diskstream.cc
libs/ardour/midi_track.cc
libs/ardour/sndfilesource.cc

index a0799aabde31faa5a02f44c82455cc97af2bc0b8..21541c6fb8a184bd30ad82393d7f2f518dd780c7 100644 (file)
@@ -74,11 +74,6 @@ 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); }
 
index 28e42cd4f3594ca82856e8195ccc622399654694..7103825daf31e60a904dc5b2442a7e7667938bbb 100644 (file)
@@ -37,11 +37,6 @@ 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);
 
index 404aceec5e9075e78df1d3bdbf71974d8ca12926..ea8e44a0adc94b1d39deeece5adff73c0f60c684 100644 (file)
@@ -109,11 +109,6 @@ 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; }
index 4f91a30ca92e72b2e0cd9618e08d4ab2f65eef51..ff66222d02f28d6d4a6f5ee165543839e9453162 100644 (file)
@@ -91,10 +91,6 @@ 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);
 
        /** Emitted when some MIDI data has been received for recording.
index 850a32a557c75e7f23308cac5386eb5c77e0e8d5..0130765123e79bd0a20347a23a24c357a7632ff6 100644 (file)
@@ -67,10 +67,6 @@ 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; }
 
index 71595592fb86f91f23427bcb081371d4658d5b29..275fe7c11aa80b0c8911160c8e5eb6e085bf96f8 100644 (file)
@@ -82,9 +82,7 @@ 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;
index a347bdf8879ad3595e5ac81e4483dc83cb4866f8..b67e9d970a44e7e1e450f23fc17d23f49c2245a8 100644 (file)
@@ -58,11 +58,6 @@ 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; }
 
index 40195e58a172e71fb5128eb0b48a63ee76cc3c9e..3e50b175737bece1fc4a3d6f204c2c31b108714b 100644 (file)
@@ -394,12 +394,8 @@ 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 */
@@ -2387,122 +2383,6 @@ AudioDiskstream::use_pending_capture_data (XMLNode& node)
        return 0;
 }
 
-#ifdef XXX_OLD_DESTRUCTIVE_API_XXX
-int
-AudioDiskstream::set_non_layered (bool yn)
-{
-       if (yn != non_layered()) {
-
-               if (yn) {
-                       _flags = Flag (_flags | NonLayered);
-               } else {
-                       _flags = Flag (_flags & ~NonLayered);
-               }
-       }
-
-       return 0;
-}
-
-int
-AudioDiskstream::set_destructive (bool yn)
-{
-       if (yn != destructive()) {
-
-               if (yn) {
-                       bool bounce_ignored;
-                       /* requestor should already have checked this and
-                          bounced if necessary and desired
-                       */
-                       if (!can_become_destructive (bounce_ignored)) {
-                               return -1;
-                       }
-                       _flags = Flag (_flags | Destructive);
-                       use_destructive_playlist ();
-               } else {
-                       _flags = Flag (_flags & ~Destructive);
-                       reset_write_sources (true, true);
-               }
-       }
-
-       return 0;
-}
-
-bool
-AudioDiskstream::can_become_destructive (bool& requires_bounce) const
-{
-       if (Profile->get_trx()) {
-               return false;
-       }
-
-       if (!_playlist) {
-               requires_bounce = false;
-               return false;
-       }
-
-       /* if no regions are present: easy */
-
-       if (_playlist->n_regions() == 0) {
-               requires_bounce = false;
-               return true;
-       }
-
-       /* is there only one region ? */
-
-       if (_playlist->n_regions() != 1) {
-               requires_bounce = true;
-               return false;
-       }
-
-       boost::shared_ptr<Region> first;
-       {
-               const RegionList& rl (_playlist->region_list_property().rlist());
-               assert((rl.size() == 1));
-               first = rl.front();
-
-       }
-
-       if (!first) {
-               requires_bounce = false;
-               return true;
-       }
-
-       /* do the source(s) for the region cover the session start position ? */
-
-       if (first->position() != _session.current_start_frame()) {
-               // what is the idea here?  why start() ??
-               if (first->start() > _session.current_start_frame()) {
-                       requires_bounce = true;
-                       return false;
-               }
-       }
-
-       /* currently RouteTimeAxisView::set_track_mode does not
-        * implement bounce. Existing regions cannot be converted.
-        *
-        * so let's make sure this region is already set up
-        * as tape-track (spanning the complete range)
-        */
-       if (first->length() != max_framepos - first->position()) {
-               requires_bounce = true;
-               return false;
-       }
-
-       /* is the source used by only 1 playlist ? */
-
-       boost::shared_ptr<AudioRegion> afirst = boost::dynamic_pointer_cast<AudioRegion> (first);
-
-       assert (afirst);
-
-       if (_session.playlists->source_use_count (afirst->source()) > 1) {
-               requires_bounce = true;
-               return false;
-       }
-
-       requires_bounce = false;
-       return true;
-}
-#endif
-
 void
 AudioDiskstream::adjust_playback_buffering ()
 {
index 5a51a77ebc73d9671c8f151669ca3b4c491c8c94..ef0f3f0dabc359f961d8eac446a1f7d7a1865f6c 100644 (file)
@@ -83,14 +83,6 @@ 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) {
 
@@ -113,48 +105,6 @@ AudioTrack::audio_diskstream() const
        return boost::dynamic_pointer_cast<AudioDiskstream>(_diskstream);
 }
 
-#ifdef XXX_OLD_DESTRUCTIVE_API_XXX
-int
-AudioTrack::set_mode (TrackMode m)
-{
-       if (m != _mode) {
-
-               if (!Profile->get_trx() && _diskstream->set_destructive (m == Destructive)) {
-                       return -1;
-               }
-
-               _diskstream->set_non_layered (m == NonLayered);
-               _mode = m;
-
-               TrackModeChanged (); /* EMIT SIGNAL */
-       }
-
-       return 0;
-}
-
-bool
-AudioTrack::can_use_mode (TrackMode m, bool& bounce_required)
-{
-       switch (m) {
-       case NonLayered:
-       case Normal:
-               bounce_required = false;
-               return true;
-
-       case Destructive:
-               if (Profile->get_trx()) {
-                       return false;
-               } else {
-                       return _diskstream->can_become_destructive (bounce_required);
-               }
-               break;
-
-       default:
-               return false;
-       }
-}
-#endif
-
 int
 AudioTrack::deprecated_use_diskstream_connections ()
 {
index f2122cef276ec29a0ad14dca056da63617d1b755..85fa4cce31b832084a241aa24c810f8a30db406e 100644 (file)
@@ -337,14 +337,6 @@ 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);
 
index 148881bc70e3729134d49317d46fd1e8f56277f6..3263fb02dbd46c03e22a3682a589134ee89748a8 100644 (file)
@@ -289,16 +289,6 @@ MidiDiskstream::use_copy_playlist ()
        }
 }
 
-#ifdef XXX_OLD_DESTRUCTIVE_API_XXX
-/** Overloaded from parent to die horribly
- */
-int
-MidiDiskstream::set_destructive (bool yn)
-{
-       return yn ? -1 : 0;
-}
-#endif
-
 void
 MidiDiskstream::set_note_mode (NoteMode m)
 {
index a24015735b961823e73268f500c288d23c80cb8a..2c588e973c31d58c6a932e1a7c0f8c9059554f69 100644 (file)
@@ -140,13 +140,6 @@ 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 ();
index 89b497a2483470178a4e42872aae5a307c4f7fd9..7436263cc3addc2c1be6d2a48b6a0f1d9f16524c 100644 (file)
@@ -837,27 +837,6 @@ SndFileSource::natural_position() const
        return _timeline_position;
 }
 
-#ifdef XXX_OLD_DESTRUCTIVE_API_XXX
-bool
-SndFileSource::set_destructive (bool yn)
-{
-       if (yn) {
-               _flags = Flag (_flags | Writable | Destructive);
-               if (!xfade_buf) {
-                       xfade_buf = new Sample[xfade_frames];
-               }
-               clear_capture_marks ();
-               _timeline_position = header_position_offset;
-       } else {
-               _flags = Flag (_flags & ~Destructive);
-               _timeline_position = 0;
-               /* leave xfade buf alone in case we need it again later */
-       }
-
-       return true;
-}
-#endif
-
 void
 SndFileSource::clear_capture_marks ()
 {