View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010351 | ardour | bugs | public | 2026-05-20 14:39 | 2026-07-02 16:44 |
| Reporter | magiclen0810 | Assigned To | |||
| Priority | high | Severity | crash | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | Ubuntu | OS | Linux | OS Version | (any) |
| Product Version | 9.5 | ||||
| Summary | 0010351: Segfault when importing a MIDI file with "Use MIDI Tempo Map" enabled | ||||
| Description | Importing the attached .mid file with the "Use MIDI Tempo Map" option checked crashes Ardour with SIGSEGV. Unchecking that option lets the import complete normally, so it's specifically the tempo-map path. Same crash on 9.2 and 9.5 (official linux x86_64 binaries from ardour.org), so it doesn't look like a 9.5 regression. The file is a SMF type 1 with 6 tempo events (ranging from 0000069:0000052 to 84 BPM) and 4 time-signature events. The first time signature in the file is 1/4 at tick 0, followed by 4/4 — that's the most unusual thing about the file and might be what's tripping the importer up, but I haven't bisected. | ||||
| Steps To Reproduce | 1. Start Ardour 9.5 with any session (new or existing). 2. Session > Import Audio/MIDI files... and pick the attached Second_Run_-_Vanilla_mood.mid. 3. In the import dialog, tick "Use MIDI Tempo Map". 4. Click Import. Ardour segfaults. Drag-and-drop import with the same option set crashes the same way. Without "Use MIDI Tempo Map", import works fine. | ||||
| Additional Information | OS: Linux (x86_64) Ardour: 9.5.0 (official binary, /opt/Ardour-9.5.0). Also reproduces on 9.2. CPU: Intel(R) Core(TM) Ultra 9 285K The full stderr is attached as ardour-stderr.txt. The tempo map gets fully constructed and dumped ("final map" + the point list print out), then the segfault happens immediately after — so it looks like the crash is downstream of the map construction itself, possibly when the map is being applied or the import session is being committed. Last lines before the crash: 0x64cd07a0db70 P@36892019548/179:1916/46|1|1916 BarTime Tempo Meter ------------ [1] 39642 segmentation fault (core dumped) /opt/Ardour-9.5.0/bin/ardour9 No backtrace — I haven't rebuilt with debug symbols, sorry. | ||||
| Tags | crash, Import, Midi, tempo-map | ||||
|
|
|
|
|
I tested Ardour 9.7. The situation was the same. |
|
|
Noticed this too on 9.7. |
|
|
I was about to open a new issue, as it was happening to me on 9.2 and 9.7 as well, so just commenting in order to stay in the loop for updates. |
|
|
In case you need a debug trace, please do let me know. |
|
|
Not sure if it can help, but I ran ardour9 with -g and captured the output of bt, when trying to import the MIDI file magiclen0810 shared in a new session. A few "optimized out" for some of the variables, so I wonder how helpful this will be, but just in case, here it is. ardour9-tempo-gdb.txt (16,495 bytes)
CB
TempoMapCutBuffer @ 0x55556cf1e3e0
Tempos:
0x55556cf1e490 84 1/4 notes per minute (201600081 sc-per-1/4) P@0/0:0/1|1|0
0x55556cf1e590 84 1/4 notes per minute (201600081 sc-per-1/4) P@201600081/1:0/2|1|0
0x55556cf1e690 84 1/4 notes per minute (201600081 sc-per-1/4) P@32457613041/161:0/42|1|0
0x55556cf1e790 84 1/4 notes per minute (201600081 sc-per-1/4) P@33667213527/167:0/43|1|0
0x55556cf1e890 84 1/4 notes per minute (201600081 sc-per-1/4) P@34675213932/172:0/44|2|0
0x55556cf1e920 76.0002 1/4 notes per minute (222820577 sc-per-1/4) P@34876814013/173:0/44|3|0
0x55556cf1e9b0 67.9998 1/4 notes per minute (249036157 sc-per-1/4) P@35099634590/174:0/44|4|0
0x55556cf1ea40 52.3075 1/4 notes per minute (323746779 sc-per-1/4) P@35348670747/175:0/45|1|0
0x55556cf1ead0 67.9998 1/4 notes per minute (249036157 sc-per-1/4) P@36642983391/178:1916/45|4|1916
Meters:
0x55556cf1e520 1/4 P@0/0:0/1|1|0
0x55556cf1e620 4/4 P@201600081/1:0/2|1|0
0x55556cf1e720 6/4 P@32457613041/161:0/42|1|0
0x55556cf1e820 4/4 P@33667213527/167:0/43|1|0
final map
TEMPO MAP @ 0x5555567b40e0:
... tempos...
0x55556cf1e2e0 84 1/4 notes per minute (201600081 sc-per-1/4) P@0/0:0/1|1|0
0x55556cf1ec80 84 1/4 notes per minute (201600081 sc-per-1/4) P@201600081/1:0/2|1|0
0x55556cf1ed80 84 1/4 notes per minute (201600081 sc-per-1/4) P@32457613041/161:0/42|1|0
0x55556cf1ee80 84 1/4 notes per minute (201600081 sc-per-1/4) P@33667213527/167:0/43|1|0
0x55555710d7e0 84 1/4 notes per minute (201600081 sc-per-1/4) P@34675213932/172:0/44|2|0
0x55555710d870 76.0002 1/4 notes per minute (222820577 sc-per-1/4) P@34876814013/173:0/44|3|0
0x55555710d900 67.9998 1/4 notes per minute (249036157 sc-per-1/4) P@35099634590/174:0/44|4|0
0x55555710d990 52.3075 1/4 notes per minute (323746779 sc-per-1/4) P@35348670747/175:0/45|1|0
0x55555710da20 67.9998 1/4 notes per minute (249036157 sc-per-1/4) P@36642983391/178:1916/45|4|1916
0x55556cf7a698 120 1/4 notes per minute (141120000 sc-per-1/4) P@36892019548/179:1916/46|1|1916
... meters...
0x55556cf1e370 1/4 P@0/0:0/1|1|0
0x55556cf1ed10 4/4 P@201600081/1:0/2|1|0
0x55556cf1ee10 6/4 P@32457613041/161:0/42|1|0
0x55556cf1ef10 4/4 P@33667213527/167:0/43|1|0
0x55556cf7a720 4/4 P@36892019548/179:1916/46|1|1916
... bartimes...
0x55556cf7a660 MP <import @ P@36892019548/179:1916/46|1|1916 120 1/4 notes per minute (141120000 sc-per-1/4) 4/4
... all points ...
0x55556cf1e328 P@0/0:0/1|1|0 Tempo
0x55556cf1e390 P@0/0:0/1|1|0 Meter
0x55556cf1ed30 P@201600081/1:0/2|1|0 Meter
0x55556cf1ecc8 P@201600081/1:0/2|1|0 Tempo
0x55556cf1ee30 P@32457613041/161:0/42|1|0 Meter
0x55556cf1edc8 P@32457613041/161:0/42|1|0 Tempo
0x55556cf1ef30 P@33667213527/167:0/43|1|0 Meter
0x55556cf1eec8 P@33667213527/167:0/43|1|0 Tempo
0x55555710d828 P@34675213932/172:0/44|2|0 Tempo
0x55555710d8b8 P@34876814013/173:0/44|3|0 Tempo
0x55555710d948 P@35099634590/174:0/44|4|0 Tempo
0x55555710d9d8 P@35348670747/175:0/45|1|0 Tempo
0x55555710da68 P@36642983391/178:1916/45|4|1916 Tempo
0x55556cf7a6e0 P@36892019548/179:1916/46|1|1916 BarTime Tempo Meter
------------
[New Thread 0x7fffc34dfec0 (LWP 187043)]
paths done, cancel = 0
[Thread 0x7fffc34dfec0 (LWP 187043) exited]
Thread 1 "ArdourGUI" received signal SIGSEGV, Segmentation fault.
Downloading source file /usr/src/debug/ardour9-9.7.0-1.fc43.x86_64/build/../libs/temporal/tempo.cc
0x00007ffff7e9aee5 in Temporal::TempoMetric::TempoMetric (
this=<optimized out>, t=..., m=..., this=<optimized out>, t=..., m=...)
at ../libs/temporal/tempo.cc:786
786 _reftime = _tempo->map().reftime (t, m);
Missing rpms, try: dnf --enablerepo='*debug*' install ladspa-debuginfo-1.17-8.fc43.x86_64
(gdb) bt
#0 0x00007ffff7e9aee5 in Temporal::TempoMetric::TempoMetric
(this=this@entry=0x7fffffffa4c0, t=..., m=..., this=<optimized out>, t=<optimized out>, m=<optimized out>) at ../libs/temporal/tempo.cc:786
#1 0x00007ffff7eac0ce in Temporal::TempoMap::metric_at
(this=this@entry=0x5555567b40e0, bbt=..., can_match=can_match@entry=true)
at ../libs/temporal/tempo.cc:4258
#2 0x0000555555bb0cc7 in Temporal::TempoMap::round_to_bar
(this=0x5555567b40e0, bbt=...) at ../libs/temporal/temporal/tempo.h:972
#3 MiniTimeline::render (this=0x55555e207448, ctx=<optimized out>)
at ../gtk2_ardour/mini_timeline.cc:612
#4 0x00007ffff6df912e in CairoWidget::on_expose_event
(this=0x55555e207448, ev=0x7fffffffad50)
at ../libs/gtkmm2ext/cairo_widget.cc:212
#5 0x00007ffff6af3001 in Gtk::Widget_Class::expose_event_callback
(self=0x55555f56a6d0 [gtkmm__GtkEventBox], p0=0x7fffffffad50)
at ../libs/tk/ytkmm/widget.cc:4596
#11 0x00007ffff5e1a5e3 in <emit signal 'expose-event' on instance 0x55555f56a6d0 [gtkmm__GtkEventBox]>
(instance=instance@entry=0x55555f56a6d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3598
#6 0x00007ffff66e0666 in gtk_marshal_BOOLEAN__POINTER
(closure=0x555556ec4c90, return_value=0x7fffffffa880, param_values=0x7fffffffa910, marshal_data=<optimized out>, invocation_hint=<optimized out>, n_param_values=<optimized out>) at ../libs/tk/ytk/gtkmarshal.c:121
#7 0x00007ffff5df9c3c in g_closure_invoke
(closure=0x555556ec4c90, return_value=0x7fffffffa880, n_param_values=2, param_values=0x7fffffffa910, invocation_hint=0x7fffffffa860)
at ../gobject/gclosure.c:916
#8 0x00007ffff5e18771 in signal_emit_unlocked_R
(node=node@entry=0x7fffffffaa40, detail=detail@entry=0, instance=instance@entry=0x55555f56a6d0, emission_return=emission_return@entry=0x7fffffffaac0, instance_and_params=instance_and_params@entry=0x7fffffffa910)
at ../gobject/gsignal.c:3943
#9 0x00007ffff5e19a8c in signal_emit_valist_unlocked
(instance=instance@entry=0x55555f56a6d0, signal_id=signal_id@entry=41, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffaba0)
at ../gobject/gsignal.c:3548
#10 0x00007ffff5e1a528 in g_signal_emit_valist
(instance=0x55555f56a6d0, signal_id=41, detail=0, var_args=0x7fffffffaba0)
at ../gobject/gsignal.c:3278
#12 0x00007ffff681d93d in gtk_widget_event_internal
(widget=0x55555f56a6d0 [gtkmm__GtkEventBox], event=0x7fffffffad50)
at ../libs/tk/ytk/gtkwidget.c:5058
#13 0x00007ffff66ea16c in IA__gtk_main_do_event (event=0x7fffffffad50)
at ../libs/tk/ytk/gtkmain.c:1579
#14 0x00007ffff656d141 in _gdk_window_process_updates_recurse
(window=0x55556c0803f0 [GdkWindow], expose_region=<optimized out>)
at ../libs/tk/ydk/gdkwindow.c:5491
#15 _gdk_window_process_updates_recurse
(window=window@entry=0x55556c0803f0 [GdkWindow], expose_region=expose_region@entry=0x55555f401130) at ../libs/tk/ydk/gdkwindow.c:5406
#16 0x00007ffff656cfd7 in _gdk_window_process_updates_recurse
(window=0x555558318cb0 [GdkWindow], expose_region=<optimized out>)
at ../libs/tk/ydk/gdkwindow.c:5455
#17 _gdk_window_process_updates_recurse
(window=window@entry=0x555558318cb0 [GdkWindow], expose_region=expose_region@entry=0x55556c6d0bb0) at ../libs/tk/ydk/gdkwindow.c:5406
#18 0x00007ffff656cfd7 in _gdk_window_process_updates_recurse
(window=0x555558318b30 [GdkWindow], expose_region=<optimized out>)
at ../libs/tk/ydk/gdkwindow.c:5455
#19 _gdk_window_process_updates_recurse
(window=window@entry=0x555558318b30 [GdkWindow], expose_region=expose_region@entry=0x5555570e0d90) at ../libs/tk/ydk/gdkwindow.c:5406
#20 0x00007ffff656cfd7 in _gdk_window_process_updates_recurse
(window=0x55555d3ea600 [GdkWindow], expose_region=<optimized out>)
at ../libs/tk/ydk/gdkwindow.c:5455
#21 _gdk_window_process_updates_recurse
(window=0x55555d3ea600 [GdkWindow], expose_region=0x55555e787030)
at ../libs/tk/ydk/gdkwindow.c:5406
#22 0x00007ffff6573aa8 in gdk_window_process_updates_internal
(window=0x55555d3ea600 [GdkWindow]) at ../libs/tk/ydk/gdkwindow.c:5658
#23 0x00007ffff6574071 in IA__gdk_window_process_all_updates ()
at ../libs/tk/ydk/gdkwindow.c:5764
#24 0x00007ffff6660c21 in gtk_container_idle_sizer (data=<optimized out>)
at ../libs/tk/ytk/gtkcontainer.c:1360
#25 0x00007ffff65455ad in gdk_threads_dispatch (data=data@entry=0x55556cea98d0)
at ../libs/tk/ydk/gdk.c:535
#26 0x00007ffff6280acd in g_idle_dispatch
(source=0x55556c7d4e40, callback=0x7ffff6545570 <gdk_threads_dispatch>, user_data=0x55556cea98d0) at ../glib/gmain.c:6466
#27 0x00007ffff627a363 in g_main_dispatch (context=0x5555568b9c20)
at ../glib/gmain.c:3565
#28 g_main_context_dispatch_unlocked (context=0x5555568b9c20)
at ../glib/gmain.c:4425
#29 0x00007ffff62832b8 in g_main_context_iterate_unlocked
(context=context@entry=0x5555568b9c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
#30 0x00007ffff6283463 in g_main_context_iteration (context=0x5555568b9c20,
context@entry=0x0, may_block=may_block@entry=1) at ../glib/gmain.c:4556
#31 0x00007ffff66e4955 in IA__gtk_main_iteration ()
at ../libs/tk/ytk/gtkmain.c:1309
#32 0x00005555558b24b0 in Editor::import_sndfiles(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, Editing::ImportDisposition, Editing::ImportMode, ARDOUR::SrcQuality, Temporal::timepos_t&, int, int, std::shared_ptr<ARDOUR::Track>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, std::shared_ptr<ARDOUR::PluginInfo>) [clone .constprop.0]
(this=this@entry=0x55555e1fb000, paths=std::vector of length 1, capacity 1 = {...}, disposition=disposition@entry=Editing::ImportDistinctFiles, mode=mode@entry=Editing::ImportAsTrack, quality=quality@entry=ARDOUR::SrcBest, pos=..., target_regions=<optimized out>, target_tracks=<optimized out>, track=<optimized out>, pgroup_id=<optimized out>, with_markers=<optimized out>, instrument=Python Exception <class 'gdb.error'>: value has been optimized out
, replace=<optimized out>) at ../gtk2_ardour/editor_audio_import.cc:582
#33 0x00005555558ba0df in Editor::do_import
(this=this@entry=0x55555e1fb000, paths=std::vector of length 1, capacity 1 = {...}, disposition=disposition@entry=Editing::ImportDistinctFiles, mode=mode@entry=Editing::ImportAsTrack, quality=quality@entry=ARDOUR::SrcBest, midi_track_name_source=midi_track_name_source@entry=ARDOUR::SMFTrackNumber, smf_tempo_disposition=ARDOUR::SMFTempoUse, pos=..., instrument=std::shared_ptr<ARDOUR::PluginInfo> (use count 12, weak count 1) = {...}, track=std::shared_ptr<ARDOUR::Track> (empty) = {...}, with_markers=false) at ../gtk2_ardour/editor_audio_import.cc:424
#34 0x0000555555ebda62 in SoundFileOmega::do_something
(this=0x55556cd43450, action=<optimized out>)
at ../gtk2_ardour/sfdb_ui.cc:2260
#35 0x00007ffff619e494 in sigc::slot0<void>::operator() (this=0x55556ce03be8)
at /usr/include/sigc++-2.0/sigc++/functors/slot.h:540
#36 Glib::SignalProxyNormal::slot0_void_callback
(self=<optimized out>, data=0x55556ce03be0)
at ../glib/glibmm/signalproxy.cc:103
#41 0x00007ffff5e1a5e3 in <emit signal 'clicked' on instance 0x55556cde8450 [gtkmm__GtkButton]>
(instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3598
#37 0x00007ffff5df9c3c in g_closure_invoke
(closure=0x55556ce0d450, return_value=0x0, n_param_values=1, param_values=0x7fffffffbbb0, invocation_hint=0x7fffffffbb00) at ../gobject/gclosure.c:916
#38 0x00007ffff5e18855 in signal_emit_unlocked_R
(node=node@entry=0x7fffffffbcc0, detail=detail@entry=0, instance=instance@entry=0x55556cde8450, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffbbb0) at ../gobject/gsignal.c:3976
#39 0x00007ffff5e1a2b6 in signal_emit_valist_unlocked
(instance=instance@entry=0x55556cde8450, signal_id=signal_id@entry=126, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffbe20)
at ../gobject/gsignal.c:3535
#40 0x00007ffff5e1a528 in g_signal_emit_valist
(instance=0x55556cde8450, signal_id=126, detail=0, var_args=0x7fffffffbe20)
at ../gobject/gsignal.c:3278
#42 0x00007ffff66361b9 in gtk_real_button_released
(button=0x55556cde8450 [gtkmm__GtkButton])
at ../libs/tk/ytk/gtkbutton.c:1712
#43 gtk_real_button_released (button=0x55556cde8450 [gtkmm__GtkButton])
at ../libs/tk/ytk/gtkbutton.c:1702
#48 0x00007ffff5e1a5e3 in <emit signal 'released' on instance 0x55556cde8450 [gtkmm__GtkButton]>
(instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3598
#44 0x00007ffff5df9c3c in g_closure_invoke
(closure=0x555556ee7050, return_value=0x0, n_param_values=1, param_values=0x7fffffffc130, invocation_hint=0x7fffffffc080) at ../gobject/gclosure.c:916
#45 0x00007ffff5e183b1 in signal_emit_unlocked_R
(node=node@entry=0x7fffffffc240, detail=detail@entry=0, instance=instance@entry=0x55556cde8450, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffc130) at ../gobject/gsignal.c:3736
#46 0x00007ffff5e1a2b6 in signal_emit_valist_unlocked
(instance=instance@entry=0x55556cde8450, signal_id=signal_id@entry=125, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffc3a0)
at ../gobject/gsignal.c:3535
#47 0x00007ffff5e1a528 in g_signal_emit_valist
(instance=0x55556cde8450, signal_id=125, detail=0, var_args=0x7fffffffc3a0)
at ../gobject/gsignal.c:3278
#49 0x00007ffff6634f59 in gtk_button_button_release
(widget=<optimized out>, event=<optimized out>)
at ../libs/tk/ytk/gtkbutton.c:1604
#55 0x00007ffff5e1a5e3 in <emit signal 'button-release-event' on instance 0x55556cde8450 [gtkmm__GtkButton]>
(instance=instance@entry=0x55556cde8450, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3598
#50 0x00007ffff66e0666 in gtk_marshal_BOOLEAN__POINTER
(closure=0x555556ec2380, return_value=0x7fffffffc650, param_values=0x7fffffffc6e0, marshal_data=<optimized out>, invocation_hint=<optimized out>, n_param_values=<optimized out>) at ../libs/tk/ytk/gtkmarshal.c:121
#51 0x00007ffff5df9c3c in g_closure_invoke
(closure=0x555556ec2380, return_value=0x7fffffffc650, n_param_values=2, param_values=0x7fffffffc6e0, invocation_hint=0x7fffffffc630)
at ../gobject/gclosure.c:916
#52 0x00007ffff5e18771 in signal_emit_unlocked_R
(node=node@entry=0x7fffffffc810, detail=detail@entry=0, instance=instance@entry=0x55556cde8450, emission_return=emission_return@entry=0x7fffffffc890, instance_and_params=instance_and_params@entry=0x7fffffffc6e0)
at ../gobject/gsignal.c:3943
#53 0x00007ffff5e19a8c in signal_emit_valist_unlocked
(instance=instance@entry=0x55556cde8450, signal_id=signal_id@entry=34, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffc970)
at ../gobject/gsignal.c:3548
#54 0x00007ffff5e1a528 in g_signal_emit_valist
(instance=0x55556cde8450, signal_id=34, detail=0, var_args=0x7fffffffc970)
at ../gobject/gsignal.c:3278
#56 0x00007ffff681d93d in gtk_widget_event_internal
(widget=0x55556cde8450 [gtkmm__GtkButton], event=0x55555e786bc0)
at ../libs/tk/ytk/gtkwidget.c:5058
#57 0x00007ffff66e53eb in IA__gtk_propagate_event
(widget=0x55556cde8450 [gtkmm__GtkButton], event=0x55555e786bc0)
at ../libs/tk/ytk/gtkmain.c:2465
#58 IA__gtk_propagate_event (widget=<optimized out>, event=0x55555e786bc0)
at ../libs/tk/ytk/gtkmain.c:2402
#59 0x00007ffff66e9ecb in IA__gtk_main_do_event (event=0x55555e786bc0)
at ../libs/tk/ytk/gtkmain.c:1654
#60 0x00007ffff65977a8 in gdk_event_dispatch
(source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../libs/tk/ydk/x11/gdkevents-x11.c:2541
#61 0x00007ffff627a363 in g_main_dispatch (context=0x5555568b9c20)
at ../glib/gmain.c:3565
#62 g_main_context_dispatch_unlocked (context=0x5555568b9c20)
at ../glib/gmain.c:4425
#63 0x00007ffff62832b8 in g_main_context_iterate_unlocked
(context=0x5555568b9c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
#64 0x00007ffff628355f in g_main_loop_run (loop=0x555559c79300)
at ../glib/gmain.c:4695
#65 0x00007ffff66e93c1 in IA__gtk_main () at ../libs/tk/ytk/gtkmain.c:1221
#66 0x00007ffff6e0d734 in Gtkmm2ext::UI::run
(this=this@entry=0x555556e73a10, old_receiver=...)
at ../libs/gtkmm2ext/gtk_ui.cc:319
#67 0x00005555556adee2 in main (argc=<optimized out>, argv=<optimized out>)
at ../gtk2_ardour/main.cc:471
(gdb)
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-05-20 14:39 | magiclen0810 | New Issue | |
| 2026-05-20 14:39 | magiclen0810 | Tag Attached: crash | |
| 2026-05-20 14:39 | magiclen0810 | Tag Attached: Import | |
| 2026-05-20 14:39 | magiclen0810 | Tag Attached: Midi | |
| 2026-05-20 14:39 | magiclen0810 | Tag Attached: tempo-map | |
| 2026-05-20 14:39 | magiclen0810 | File Added: Second Run - Vanilla mood.mid | |
| 2026-06-09 13:48 | magiclen0810 | Note Added: 0030484 | |
| 2026-06-12 11:49 | ppqn | Note Added: 0030489 | |
| 2026-06-25 16:57 | lminiero | Note Added: 0030554 | |
| 2026-06-25 16:58 | lminiero | Note Added: 0030555 | |
| 2026-07-02 16:44 | lminiero | Note Added: 0030569 | |
| 2026-07-02 16:44 | lminiero | File Added: ardour9-tempo-gdb.txt |