summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Vegard Ovesen <roy.vegard.ovesen@gmail.com>2013-03-30 19:12:31 +0100
committerRoy Vegard Ovesen <roy.vegard.ovesen@gmail.com>2013-03-31 03:59:10 +0200
commit81a343ff7f1e456210d85b918e4a2979e73204d9 (patch)
treed03a81667b1e7de2a9ff24d7a2374a78598ab88a
parent43b94f7aa72ae3017672242a026af21421c08c1a (diff)
Make sure every imported file is copied to the session path
-rw-r--r--gtk2_ardour/ardour_ui.cc3
-rw-r--r--gtk2_ardour/sfdb_ui.cc5
-rw-r--r--libs/ardour/ardour/session.h3
-rw-r--r--libs/ardour/session.cc1
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)