Commit graph

41629 commits

Author SHA1 Message Date
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
Paul Davis
e7f0234c38 SessionDialog: create actions 2025-11-12 15:38:30 -07:00
Paul Davis
2301f7c55a SessionDialog: add methods that can be used in Actions for new/recent/open 2025-11-12 15:25:29 -07:00
Paul Davis
39d069a6a2 session dialog buttons can focus, to allow tab navigation 2025-11-12 15:01:05 -07:00
Paul Davis
e97d1d3d3f (maybe) fix MIDI consolidation issues
Stay in BeatTime, not audio time.
2025-11-12 14:24:21 -07:00
Paul Davis
5d08e01b10 show instrument plugin GUIs when new tracks/busses with instruments are added
If multiple tracks are added, we only show the GUI for the first one
2025-11-12 12:31:34 -07:00
Paul Davis
d479ca55d6 a single auto-fication 2025-11-12 12:31:34 -07:00
Paul Davis
f895bc2cd9 new Session signal to indicate that instrument tracks/busses were added and are configured
Existing code sent RouteAdded() before the instrument plugin(s) were added. Rather than risk changing code
ordering, just emit a 2nd signal to notify (the GUI) that new instrument tracks/busses were added
2025-11-12 12:31:34 -07:00
Paul Davis
c469c33bc4 auto-ify libs/ardour/route.cc iterating over processors
Because there's nothing else to do on a Wednesday morning
2025-11-12 12:31:34 -07:00
Robin Gareus
d088e9c17c
Remove gtk2-ardour eyedropper special case 2025-11-12 14:57:58 +01:00
Robin Gareus
a7e557ad65
Hide colorpicker eyedropper on platforms where it does not work 2025-11-12 14:57:53 +01:00
Robin Gareus
224e5ec163
When Ardour is running, there is at least 1 CPU core available 2025-11-12 02:22:26 +01:00
Robin Gareus
ac0bbfb481
Fix class/struct mismatch 2025-11-12 02:22:23 +01:00
Paul Davis
e50032ecb5 for debug builds, show stacktrace for TempoMap::fetch_condition() failure 2025-11-11 14:35:55 -07:00
Paul Davis
de151f2e8e auto-fication 2025-11-11 13:02:25 -07:00
Paul Davis
f932e4bf15 UndoTransaction: do not delete a Command when handling its DropReferences signal 2025-11-11 13:01:50 -07:00
Paul Davis
decb945300 simpler assert 2025-11-11 13:01:50 -07:00
Paul Davis
751dea75d3 use drop_and_kill() when connecting Commands to their dependents 2025-11-11 13:01:50 -07:00
Paul Davis
210f58ddb7 add Destructible::drop_and_kill()
This should be used when a Destructible-derived object needs to be
deleted. Handlers of the DropReferences signal should not responsible for
deleting the Destructible, since that would happen in the middle of signal
emission.

Instead, emit the DropReferences signal, then delete the Destructible.
2025-11-11 13:01:50 -07:00
Paul Davis
a1d5294af5 use nullptr not zero 2025-11-11 13:01:50 -07:00