13
0
Commit Graph

39252 Commits

Author SHA1 Message Date
Mads Kiilerich
4f2b96dca8 faderport8: Better debug trace when not probing the midi ports
This would have helped former me when trying to use FaderPort with
PulseAudio backend.
2024-07-25 13:50:54 +02:00
Mads Kiilerich
8633e82891 commandline: Allow -D to be specified multiple times
Yes, -D takes a comma separated list, but it is still confusing and
unnecessary that the first -D options were silently ignored.
2024-07-25 13:48:38 +02:00
Mads Kiilerich
04b3cf980e commandline: Warn when -D is ignored in release mode 2024-07-25 13:36:39 +02:00
46715fec66 locations: extend API for first_mark_{before,after}_flagged to allow returning the found location
Also use newer C++ loop syntax for syntactic sugariness
2024-07-24 19:00:55 -06:00
0db79b8023
Close RouteGroup dialog when route is deleted
This fixes a crash when trying to interact with the
RouteGroup dialog after deleting the group
2024-07-24 23:21:12 +02:00
06962c7728
Yet another runtime free() API fix
See also 8c583f8e20
2024-07-24 19:23:50 +02:00
12e1a6f73d
Fix runtime error free()ing LV2 event buffers 2024-07-24 17:47:54 +02:00
3f8d0ddc3d faderport: fix SNAFU caused by switching to Mixbus-style use of user button
User stopped being a modifier but was still being treated as one.
2024-07-23 18:21:43 -06:00
c2329c4708
Unify package scripts with VBM 2024-07-24 02:02:54 +02:00
Mads Kiilerich
213812c31c
region: Drop superfluous setting of _type in Region constructor 2024-07-24 01:50:11 +02:00
Mads Kiilerich
ea242254d3
warnings: Remove redundant move in return statement
GCC 14 educates us:

	../libs/ardour/session.cc: In member function ‘std::vector<std::__cxx11::basic_string<char> > ARDOUR::Session::source_search_path(ARDOUR::DataType) const’:
	../libs/ardour/session.cc:6969:25: warning: redundant move in return statement [-Wredundant-move]
	 6969 |         return std::move(sp);
				|                ~~~~~~~~~^~~~
	../libs/ardour/session.cc:6969:25: note: remove ‘std::move’ call
2024-07-24 01:50:11 +02:00
Mads Kiilerich
0352ff8c5e
warnings: Remove redundant/illegal/undefined-behaviour template-id for constructor
GCC 14 educates us:

	In file included from ../libs/ardour/ardour/io.h:44,
									 from ../libs/ardour/ardour/route.h:50,
									 from ../libs/ardour/ardour/session.h:92,
									 from ../libs/ctrl-interface/midi_surface/midi_surface.cc:30:
	../libs/ardour/ardour/port_set.h:92:37: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
		 92 |                 iterator_base<PS,P>(PS& list, DataType type, size_t index)
				|                                     ^~
	../libs/ardour/ardour/port_set.h:92:37: note: remove the ‘< >’
2024-07-24 01:50:11 +02:00
3cb03d9564
Fix typo 2024-07-23 22:05:00 +02:00
50e5e3bd8f
Consistently ignore punch-in/out without punch-range 2024-07-23 18:56:26 +02:00
51030a9a40
Set punch sensitivity when loading session 2024-07-23 18:55:49 +02:00
Mads Kiilerich
74edf63d01
format: Apply some work-arounds for code that would confuse clang-format 2024-07-23 17:04:14 +02:00
Mads Kiilerich
f063bfef03
format: Improve header robustness against #include reordering 2024-07-23 17:03:56 +02:00
Mads Kiilerich
81ca475b10
format: Protect the special session_configuration_vars.h and its use of CONFIG_VARIABLE 2024-07-23 17:03:56 +02:00
853204e455
Ignore files generated by macOS packaging 2024-07-23 17:01:16 +02:00
9b6039c170
Remove debug message, improve comment 2024-07-23 16:56:25 +02:00
5f0b15d446
NO-OP: whitespace 2024-07-23 15:46:53 +02:00
Edgar Aichinger
787f5b2cc8
better translation for 2nd screen of new user wizard 2024-07-23 01:20:47 +02:00
607301ad5b LT: remove many elements from import dialog that are not appropriate for livetrax 2024-07-22 15:37:07 -06:00
181ba4db54 ytk: do not show filter combo box in filechooser if there is only 1 filter 2024-07-22 15:36:45 -06:00
bb8f6a3d66
Remove debug output 2024-07-22 20:28:45 +02:00
7567884111
Fix LV2 Atom sequence alignment #9750 2024-07-20 21:42:18 +02:00
8c583f8e20
Use 64bit alignment for LV2 event buffer #9748 2024-07-20 17:37:47 +02:00
cb5b955a74
Use C++ for LV2 event buffer
This will allow to throw fatal exceptions when malloc fails.
2024-07-20 17:37:09 +02:00
0bf42af59d Collect ctrl surface ports into single bundle
This prevents a crash on Windows (and optimized mac builds) in
~PortGroup() when a ctrl surface is disabled. Despite the bundle being a
shared_ptr, unloading the ctrl surface module (.dll, dylib), destroys
the shared_ptr<> (or rather the memory are where the shared_ptr is
stored). This later causes a segfault in ~shared_ptr<Bundle>
when the PortGroup is released.

It is also much nicer to have all the ctrl surface grouped into a common
Bundle, rather than having a lot of bundles each with a single unnamed
port.
2024-07-18 18:39:34 +02:00
2cdfdc9212 Prevent minimizing Dialog Windows on macOS
This works around an issue with some embedded plugin windows not being
properly restored when the window is restored after being minimized. It
also prevents zooming (full-screen) display of dialog windows.

Also recent macOS allows to maximize Windows even if they are not
supposed to be resizable (also causing issues with some plugins).
2024-07-18 17:57:52 +02:00
7c311761c2 Update Russian translation 2024-07-17 22:15:20 +02:00
f2ceaecc4d
Fix Lua script to use new API from 0a01acc86a 2024-07-17 18:38:04 +02:00
cd3c65fbda
The return of the tempo-map cut/copy section warning
see also 964600b9bd.
2024-07-17 17:58:25 +02:00
e175410f54 midi surfaces fixes (partially for PR #898)
1. do more to ensure that we do not call MidiSurface::begin_using_device()
multiple times without ::stop_using_device() in between. This reduces the risk
of duplicate signal handler connections being made (it might even eliminate it).

2. Notify all control surfaces when MIDI connectivity is established AND
disestablished. This gives them a chance to update their notion of their
current connection state. This can be important with JACK across zombification,
but also likely across backend stop&start.

These changes currntly only impact classes derived from MidiSurface but
something equivalent is required for all control surfaces
2024-07-16 11:12:41 -06:00
f8f6c89136 fix a likely logic error in GtkMenu handling of enter events
On macOS popping up a menu with a position function that leads the menu to be
under the mouse pointer generates the same initial set of enter events as on
linux, but this is then followed  by some leave events and then a repeat of the
same set of enter events.

this exposes what appears to be a logic error in gtk_menu_enter_notify().

Nonlinear enter events (i.e. where the menu pops up under the mouse, so the
mouse was never actually moved into the menu's window) should not cause a reset
of priv->seen_item_enter. This value, when true, is used to force the next
received button release event to be handle as an menu activation event. This
should only happen when the mouse has actually been moved by the user into the
menu (as already indicated in existing comments). The value has this effect by,
on the next enter event for a menu item, if already set, forcing
menu->activate_time to zero, which in turn will cause menu activation on button
up/release.

This bug doesn't appear on Linux (or Windows) because the event sequence
associated with a menu popup is different. The lack of another set of enter
events means that menu->activate_time is never reset, and so the behavior is as
expected.

This change makes the setting of priv->seen_item_enter be idempotent with
respect to non-linear enter events, which I believe is the intended behavior.
2024-07-15 11:09:59 -06:00
bd5e85780a
Hide region peak cursor when mouse leaves regions or canvas
Previously the cursor remained visible when moving the mouse
out of the canvas area.
2024-07-15 15:34:26 +02:00
b50477e608
Exclude monitor gain from mixer scenes 2024-07-15 00:43:51 +02:00
0ea7e80aa6
Implement paste to region gain/fx automation 2024-07-12 18:26:25 +02:00
5401f2c3eb ifdef out modified-with check (intended for livetrax) 2024-07-11 19:10:14 -06:00
eeccb813bb remove unused local variable 2024-07-11 19:10:14 -06:00
68ebcc36a9 show a dedicated message dialog for WrongProgram exceptions 2024-07-11 19:10:14 -06:00
54f810f90e throw WrongProgram exception if session was modified with incompatible app 2024-07-11 19:10:14 -06:00
4212e23e77 make "modified-with" a session member 2024-07-11 19:10:13 -06:00
9b1a56febf Add guard points when drawing freehand automation 2024-07-12 00:48:14 +02:00
5a647cd84a Fix guard point logic for editor_add_ordered API.
Previously the code was too simple and potentially added points out of
order, leading to automation jumping back in time.
2024-07-12 00:45:37 +02:00
cooltehno
a1d317be98
Create captain_light-ardour.colors
Hello Paul, Robin! Maybe you will be interested in new "Captain Light" theme! :)
https://vimeo.com/977749209
2024-07-11 23:09:32 +02:00
Edgar Aichinger
0f654ebde4
update german translation 2024-07-11 23:04:34 +02:00
fa6fbbf810
Fix ctrl surface shutdown sequence
Tear down GUI before stopping event loop, this fixes
a crash on windows (and perhaps a rare crash on other OS).
2024-07-11 19:19:21 +02:00
676b372ac5
FP8: tear down GUI before terminating event loop
This fixes an issue on Windows, where UI::run can dispatch
a signal that ends up via cross-thread channel at the surfaces'
BaseUI::request_handler. causing a segfault.
2024-07-11 18:10:39 +02:00
c3d90f415c
Fix fader/trim automation after locate
First see 31c6f66d9b and 5cb6e1046b.

It worked previously due to `AutomationControl::get_value`
evaluating automation, which was removed in 5cb6e1046b
in favor of properly using latency compensated evaluation.

However due to 31c6f66d9b, fader and trim automation were
never evaluated on locate, only during playback via
`Amp::setup_gain_automation`.

This fixes a case where gain is incorrect after a locate.
The amp still has the gain from before the locate, and when starting
playback ramps to the new gain.
2024-07-10 19:26:02 +02:00