diff options
author | Roy Vegard Ovesen <roy.vegard.ovesen@gmail.com> | 2013-03-30 19:12:31 +0100 |
---|---|---|
committer | Roy Vegard Ovesen <roy.vegard.ovesen@gmail.com> | 2013-03-31 03:59:10 +0200 |
commit | 81a343ff7f1e456210d85b918e4a2979e73204d9 (patch) | |
tree | d03a81667b1e7de2a9ff24d7a2374a78598ab88a | |
parent | 43b94f7aa72ae3017672242a026af21421c08c1a (diff) |
Make sure every imported file is copied to the session path
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/sfdb_ui.cc | 5 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 3 | ||||
-rw-r--r-- | libs/ardour/session.cc | 1 |
4 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index edd57251b2..3d148a9735 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -682,6 +682,9 @@ ARDOUR_UI::startup () exit (1); } + if (_session && nsm) { + _session->set_nsm_state( true ); + } use_config (); goto_editor_window (); diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc index 3383cf3ff9..8916a53971 100644 --- a/gtk2_ardour/sfdb_ui.cc +++ b/gtk2_ardour/sfdb_ui.cc @@ -1339,8 +1339,9 @@ SoundFileOmega::reset_options () src_combo.set_sensitive (false); } - /* We must copy MIDI files or those from Freesound */ - bool const must_copy = have_a_midi_file || notebook.get_current_page() == 2; + /* We must copy MIDI files or those from Freesound + * or any file if we are under nsm control */ + bool const must_copy = _session->get_nsm_state() || have_a_midi_file || notebook.get_current_page() == 2; if (Config->get_only_copy_imported_files()) { diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index cb7f0ee015..f0a2fd1189 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -392,6 +392,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi void rename_state (std::string old_name, std::string new_name); void remove_pending_capture_state (); int rename (const std::string&); + bool get_nsm_state () const { return _under_nsm_control; } + void set_nsm_state (bool state) { _under_nsm_control = state; } PBD::Signal1<void,std::string> StateSaved; PBD::Signal0<void> StateReady; @@ -925,6 +927,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi uint32_t _solo_isolated_cnt; bool _writable; bool _was_seamless; + bool _under_nsm_control; void initialize_latencies (); void set_worst_io_latencies (); diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 75303251d8..0e03efa945 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -133,6 +133,7 @@ Session::Session (AudioEngine &eng, : _engine (eng) , _target_transport_speed (0.0) , _requested_return_frame (-1) + , _under_nsm_control (false) , _session_dir (new SessionDirectory(fullpath)) , state_tree (0) , _state_of_the_state (Clean) |