a shot in the dark to work-around windows file-import limit.
When importing to new tracks, newly created tracks are selected Editor::track_selection_changed() -> SoundFileOmega::reset() -> SoundFileOmega::reset_options() -> check_info() fails -> Glib::signal_idle() error message. it is unclear why check_info would fail in this case since it worked in the first place.. best guess: a concurrency issue opening the file.
This commit is contained in:
parent
5f7ae1294e
commit
f50a87e408
@ -1293,6 +1293,11 @@ SoundFileOmega::reset_options_noret ()
|
||||
bool
|
||||
SoundFileOmega::reset_options ()
|
||||
{
|
||||
if (_import_active) {
|
||||
_reset_post_import = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
vector<string> paths = get_paths ();
|
||||
|
||||
if (paths.empty()) {
|
||||
@ -1664,6 +1669,8 @@ SoundFileOmega::SoundFileOmega (string title, ARDOUR::Session* s,
|
||||
, copy_files_btn ( _("Copy files to session"))
|
||||
, selected_audio_track_cnt (selected_audio_tracks)
|
||||
, selected_midi_track_cnt (selected_midi_tracks)
|
||||
, _import_active (false)
|
||||
, _reset_post_import (false)
|
||||
{
|
||||
VBox* vbox;
|
||||
HBox* hbox;
|
||||
@ -1977,10 +1984,19 @@ SoundFileOmega::do_something (int action)
|
||||
|
||||
SrcQuality quality = get_src_quality();
|
||||
|
||||
_import_active = true;
|
||||
|
||||
if (copy_files_btn.get_active()) {
|
||||
PublicEditor::instance().do_import (paths, chns, mode, quality, where, instrument);
|
||||
} else {
|
||||
PublicEditor::instance().do_embed (paths, chns, mode, where, instrument);
|
||||
}
|
||||
|
||||
_import_active = false;
|
||||
|
||||
if (_reset_post_import) {
|
||||
_reset_post_import = false;
|
||||
reset_options ();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -321,6 +321,9 @@ class SoundFileOmega : public SoundFileBrowser
|
||||
void where_combo_changed ();
|
||||
|
||||
void do_something (int action);
|
||||
|
||||
bool _import_active;
|
||||
bool _reset_post_import;
|
||||
};
|
||||
|
||||
#endif // __ardour_sfdb_ui_h__
|
||||
|
Loading…
Reference in New Issue
Block a user