Ok, looks like a left over from a recent procedure port.
I have some local build issues atm and its late, so here's a patch you can try,
but I can't test it just now.
Let me know if that helps.
On 28.11.2016 18:44, Stefan Westerfeld wrote:
> Hi!
>
> It appears that midi import is broken somehow, I just experienced this crash:
>
> (beast-0.10.1:24158): BSE-WARNING **: no such method "create-song" of item
> "BseProject::Untitled.bse"
> bseitem.cc:1013: beast-0.10.1[24162] CRITICAL: assertion failed: BSE_IS_ITEM
> (object)
> bseitem.cc:783: beast-0.10.1[24162] CRITICAL: assertion failed: BSE_IS_ITEM
> (item)
>
> Thread 2 "beast-0.10.1" received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fffea6e6700 (LWP 24162)]
> bse_midi_file_setup_song () at bsemidifile.cc:327
> 327 Bse::SongImpl &song = *bsong->as<Bse::SongImpl*>();
> (gdb) bt
> #0 0x00007ffff6553e3e in bse_midi_file_setup_song(BseMidiFile*, BseSong*) ()
> at bsemidifile.cc:327
> #1 0x00007ffff649eb57 in
> Bse::ProjectImpl::import_midi_file(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) () at
> bseproject.cc:1145
> #2 0x00007ffff6508398 in __aida_call__Project__import_midi_file() () at
> bseserverapi.cc:4809
> #3 0x00007ffff5c13764 in Rapicorn::Aida::ServerConnectionImpl::dispatch() ()
> at rcore/aida.cc:2354
> #4 0x00007ffff6412657 in Bse::AidaGlibSourceImpl::glib_dispatch(_GSource*,
> int (*)(void*), void*) () at bsestartup.cc:114
> #5 0x00007ffff6412657 in Bse::AidaGlibSourceImpl::glib_dispatch(_GSource*,
> int (*)(void*), void*) () at bsestartup.cc:85
> #6 0x00007ffff691a1a7 in g_main_context_dispatch (context=0x7fffe40008c0) at
> /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3154
> #7 0x00007ffff691a1a7 in g_main_context_dispatch
> (context=context@entry=0x7fffe40008c0) at
> /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3769
> #8 0x00007ffff691a400 in g_main_context_iterate
> (context=context@entry=0x7fffe40008c0, block=block@entry=1,
> dispatch=dispatch@entry=1, self=<optimized out>)
> at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3840
> #9 0x00007ffff691a4ac in g_main_context_iteration (context=0x7fffe40008c0,
> may_block=1) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3901
> #10 0x00007ffff646229c in bse_main_loop_thread() () at bsemain.cc:253
> #11 0x00007ffff4d3fc80 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> #12 0x00007ffff57b870a in start_thread (arg=0x7fffea6e6700) at
> pthread_create.c:333
> #13 0x00007ffff44a582d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
>
> when trying to import a midi file after startup.
>
> Cu... Stefan
>
--
Yours sincerely,
Tim Janik
https://testbit.eu/timj/
Free software author.
diff --git bse/bseproject.cc bse/bseproject.cc
index ef9d37f..52c1b43 100644
--- bse/bseproject.cc
+++ bse/bseproject.cc
@@ -1138,9 +1138,8 @@ ProjectImpl::import_midi_file (const String &file_name)
BseSong *song = bse_project_get_song (self);
if (!song)
{
- gchar *basename = g_path_get_basename (file_name.c_str());
- bse_item_exec (self, "create-song", basename, &song);
- g_free (basename);
+ SongIfaceP song_iface = create_song (Path::basename (file_name));
+ song = song_iface->as<BseSong*>();
}
bse_midi_file_setup_song (smf, song);
bse_item_undo_close (ustack);
_______________________________________________
beast mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/beast