Paul Davis
06dc00546f
fix plural forms
2025-11-17 17:37:04 -07:00
Paul Davis
1b0aeef8be
when using cue page pianoroll record length dropdown, show active value
2025-11-17 16:05:03 -07:00
Paul Davis
6dfca90b8e
fix illegal MIDI event message during import
...
This happens when reimporting a MIDI file taken from Ardour, which
has sequencer specific data (namely, note-IDs). In that case
SMF::read_event() returns zero to indicate a meta event that we
should or could be interested in. For import, we are not interested,
hence the ignored_note_id variable
2025-11-17 16:05:03 -07:00
Paul Davis
65332e603b
libsmf: speed up ridiculous design of smf_save()
...
This would realloc a buffer for every event, making it absurdly slow for
large MIDI files (say, 10k events). Use the somewhat standard heuristic
of doubling the requested allocation every time we need to increase the size.
This results in a speedup of 40-100x when saving SMF to disk
2025-11-17 16:05:03 -07:00
Paul Davis
662d1b9e46
NO-OP: fix commented printf of MIDI data
2025-11-17 16:05:03 -07:00
Paul Davis
2c7841777b
Evoral: more useful output if there's an illega MIDI event sent to SMF or Sequence
2025-11-17 16:05:03 -07:00
Robin Gareus
30e1567e23
Add ComboBox like active API to ArdourDropdown
2025-11-17 23:57:01 +01:00
Paul Davis
a0302bd7fc
MidiView: fix display of out-of-range live (recording) notes
...
This involves better handling of note range changes, and also a renaming of
member variables to better reflect their function.
It adds _finished_live_notes to hold notes that were recorded live but have
ended, since these also need to be updated as zooming or note range changes
2025-11-17 11:07:18 -07:00
Paul Davis
68c69fb89d
MidiViewBackground: make ::maybe_apply_note_range() return bool
...
Just like ::apply_note_range, to indicate if the range was
actually changed.
2025-11-17 11:07:18 -07:00
Paul Davis
9e9afef527
NO-OP: correct comment description of a value
2025-11-17 11:07:18 -07:00
Aleksandr Prokudin
e01184ada0
Make the PDC option in the application bar items list consistent with the rest
2025-11-17 10:21:44 +01:00
Paul Davis
1e6d75d781
MidiBuffer: make ::write() return an error code if ::insert_event() fails
2025-11-16 14:03:11 -07:00
Paul Davis
6e58f6e2c8
NO-OP: space for function decl
2025-11-16 14:03:11 -07:00
Paul Davis
1fcc09ca84
NO-OP: space for function decl
2025-11-16 14:03:11 -07:00
Paul Davis
493a136d43
MidiBuffer: print an error if ::push_back() fails
2025-11-16 14:03:11 -07:00
Paul Davis
66f18a065e
MIDI diskwriter: at least pretend to catch errors when pushing to MidiRingBuffer
2025-11-16 14:03:11 -07:00
Paul Davis
cc3981643a
NO_OP: spaces for function call
2025-11-16 14:03:11 -07:00
Paul Davis
8baf7fbab2
NO-OP: comment formatting
2025-11-16 14:03:11 -07:00
Paul Davis
ec9120ab05
NO-OP: change variable name and better alignment
2025-11-16 14:03:11 -07:00
Paul Davis
67a09c19c8
NO-OP: spaces for function calls
2025-11-16 14:03:11 -07:00
Paul Davis
21a4501e47
MIDI: fix major error in computing delta times for SMFSource::append_event_samples()
...
timecnt_t constructor is: (distance, position); this code was not computing the
distance between the new event and _last_ev_time_samples.
2025-11-16 14:03:11 -07:00
Paul Davis
637e59a14f
SMFSource: auto-ify a knarly container iteration
2025-11-16 14:03:11 -07:00
Paul Davis
33d6d5a330
MidiView: no reason to suspend note range changes until after _active_note check
2025-11-16 14:03:11 -07:00
Paul Davis
1c09bb88be
prevent unnecessary calls to MidiViewBackground::maybe_extent_note_range()
...
When building a MidiView from a Model, we call ::add_note() for every note, and
there is no reason to be adjusting the note range each and every time, since it
potentially a slightly expensive operation.
2025-11-16 14:03:11 -07:00
Paul Davis
695ca40b23
missing initialization for MidiView member in copy constructor
2025-11-16 14:03:11 -07:00
Paul Davis
015890f16c
slight optimization for MidiView::extend_active_notes()
2025-11-16 14:03:11 -07:00
Paul Davis
e2cea58876
in MidiView::view_changed(), don't update existing events unless zoom has changed
2025-11-16 14:03:11 -07:00
Paul Davis
b14859fc46
NO-OP: add comment
2025-11-16 14:03:11 -07:00
Paul Davis
87a1f602d2
NO-OP: add detail to a comment
2025-11-16 14:03:11 -07:00
Paul Davis
e5ef93821c
NO-OP: remove inaccurate comment
2025-11-16 14:03:11 -07:00
31core
f22b269b7d
Improve Simple Chinese translation in gtk2_ardour/po/zh.po.
2025-11-16 18:30:46 +01:00
Robin Gareus
03d5411843
Allow to load partial state
2025-11-15 16:44:43 +01:00
Robin Gareus
f2a267675c
Allow to uniquely identify sessions
...
This is in preparation to allow merging sessions, or importing
partial state, and particularly different versions of the same
session where PBD::Ids may match.
2025-11-15 16:44:43 +01:00
Aleksandr Prokudin
b6cca7afce
Update Russian translation
2025-11-15 14:54:23 +01:00
Aleksandr Prokudin
92ad1368e8
Fix the title case in a user-visible message
2025-11-15 14:52:20 +01:00
Aleksandr Prokudin
f26994c747
Remove the X to make a user-visible message translatable
2025-11-15 14:18:33 +01:00
Aleksandr Prokudin
bc78ac183f
Add ellipsis, because this action opens a dialog
2025-11-15 13:57:34 +01:00
Aleksandr Prokudin
1886490f4f
Bark is a reference to a real person, so use title case
2025-11-15 13:35:24 +01:00
Aleksandr Prokudin
fee513a5c4
Fix a typo in a user-visible message
2025-11-15 13:18:35 +01:00
Aleksandr Prokudin
a2ce111eb6
Mark user-visible messages for translation
2025-11-15 12:34:23 +01:00
Robin Gareus
04b180cc79
Remove unused cycles/cycle-timer
2025-11-14 17:43:51 +01:00
Robin Gareus
fa319ffda2
FIX SNAFU with MIDI pending overwrite
2025-11-14 17:35:30 +01:00
EZ4Stephen
8ca2d12198
Change to ytk wscript, to work slightly better with MSVC
...
Replace obj.ldflags = '-l... with obj.lib = ['... to work for both MinGW and MSVC.
Also, obj.linkflags = ['-Wl,--export-all-symbols'] only happens for MinGW.
(Previously, both lines were ignored by MSVC.
2025-11-14 00:21:11 +01:00
Paul Davis
637d99167a
SessionDialog: remove explicit button press handling
...
This is not needed since ArdourButton + related action takes care of it
2025-11-13 09:56:24 -07:00
Robin Gareus
7bb7f21ae0
Refine condition for auto opening instrument plugin UI
2025-11-13 02:03:13 +01:00
Robin Gareus
5960ad2e0f
Fix additional for loop iterators that were lost in auto-fication
...
see also c469c33bc4
2025-11-13 01:56:39 +01:00
Robin Gareus
2bf4fd1796
Don't show empty GUI if instrument plugin has no custom view
2025-11-13 00:35:06 +01:00
Robin Gareus
aae94e859f
Add preference to opt-out of auto showing instrument plugin GUIs
2025-11-13 00:07:39 +01:00
Paul Davis
143bca4a6d
SessionDialog: move NEW button to the bottom
...
This creates a default focus chain that allows easy access to all 3
buttons before traversing other focusable widgets in the dialog
2025-11-12 16:02:12 -07:00
Paul Davis
bbf2920f7f
SessionDialog: associate actions with buttons
...
This allows SPACE to activate the button
2025-11-12 15:41:01 -07:00