13
0
Commit Graph

29583 Commits

Author SHA1 Message Date
b9cb306e8b use shared_ptr to manage backend port lifetimes (Pulse,ALSA,Dummy,JACK)
JACK is not yet finished.

Changes also include minor reformatting and a spelling correction (latecies to latencies)
2020-04-07 13:23:49 -06:00
1eb98316a3
Rename KeyboardLayout to PianoKeyBindings
This is to prevent polluting the global namespace with a
symbol name that is likely to cause conflicts.
2020-04-07 18:40:04 +02:00
d4d57c844f
Styleguide #12 avoid get_ for accessors 2020-04-07 18:30:34 +02:00
Nil Geisweiller
7ffaae77a7
Rename KeyboardLayout::set_keyboard_layout to set_layout
Since the class indicates that it is a keyboard layout, no need to over
load the name with it.
2020-04-07 18:26:45 +02:00
Nil Geisweiller
104d37e5a2
Move keyboard layout in its own class 2020-04-07 18:26:45 +02:00
2377927fc1
NO-OP: whitespace 2020-04-07 16:20:53 +02:00
91a213427e
Remove unused variable 2020-04-07 16:05:47 +02:00
ebf26ddc9b
NO-OP: whitespace 2020-04-07 15:59:18 +02:00
3cd2ad85af
Fix restoring custom MIDNAM #7984 2020-04-07 14:16:53 +02:00
4420f95026
Further tweak ambiguous latency check
Ignore latency of async ports (Virtual Keyboard in particular),
and only consider ardour's own ports.
2020-04-07 13:32:28 +02:00
1ee6b63299
Expose Port::flags() to Lua 2020-04-07 13:27:49 +02:00
eeb62c99fb
Fix typo in API name (2/2) 2020-04-07 04:07:34 +02:00
5e2eb230bc
Fix typo in API name (1/2) 2020-04-07 04:07:31 +02:00
2932337a32
Fix ambiguous latency check
Only compare playback latency, delaylines in tracks do not
push back the capture latency to the source.
The delayline on tracks sits in between disk-writer and disk-reader,
delaying input to align with the disk-reader.

Furthermore tracks may be connected to different inputs,
even though those inputs are usually from the same hardware
device, capture latency of those ports can differ.
2020-04-07 04:06:02 +02:00
e95d33502f
NO-OP: whitespace 2020-04-07 04:02:52 +02:00
b5ca7d352a
Atomically reset peak meters #7465 2020-04-07 03:58:31 +02:00
f24cabe9e9
Fix rotary control knob mapping
This fixes an issue with Foldback strips pan controls being inverted.
2020-04-07 00:37:30 +02:00
2991d74da5
GUI: follow LatencyUpdated signal handler, prevent duplicate updates 2020-04-07 00:14:09 +02:00
aa2ddb5ea2
API change: LatencyUpdated(), indicate playback/capture 2020-04-07 00:10:29 +02:00
21b2ffbae6
Indicate ambiguous latency in the GUI 2020-04-07 00:09:38 +02:00
ad0c5f1a1c
NO-OP: whitespace 2020-04-06 23:45:36 +02:00
597837022a
Add method to check for ambiguous port latency 2020-04-06 23:45:20 +02:00
6c6bea26ad
Fix Linux installer - #7977
ldd may not print errors to stderr (Debian GLIBC 2.28-10 doesn't),
and hence the current check did nothing on debian and derivative
systems. While on other GNU/Linux distros (e.g. openSuSe),
other errors do show up (e.g. checking session-utils shell script
-> "not a dynamic executable")

This explicitly checks for missing libraries hopefully in a
distro independent way.
2020-04-05 23:53:50 +02:00
55854e3797 Add foldback busses to OSC GUI 2020-04-05 14:45:18 -07:00
df8c000810 OSC: support foldback busses 2020-04-05 14:10:50 -07:00
fbc48bdf34
Fix end vs. length bug when creating regions - #7978
set_length() includes the end.
A Region starting at 0 and ending at 0, has a length of 1
(think counting fence-posts, or video-frames).
2020-04-05 20:24:11 +02:00
14a2a50e93
Simplify snap-to magnetic distance calc 2020-04-05 20:24:11 +02:00
6b9bdbf0ff
NO-OP: cleanup snap-to code, mostly whitespace 2020-04-05 20:24:11 +02:00
Johannes Mueller
3a2f0e40cf Fix crash when adding tracks from a5 route templates
Ardour5 route templates seem not to have a in the root node playlist
property. Ardour generally relies on that Track::playlist() always returns a
valid playlist. Thus we need to create a playlist even if we don't have a
playlist property in the route template's root node.
2020-04-05 19:07:28 +02:00
Johannes Mueller
605b3d83a8 Fix #7971: Adjust paths of template archive entries exported on MacOS
... on Ardour5.

On MacOS g_dir_make_tmp() does not return the canonical path. Thus, exported
template archives end up with wrong entry paths. This has been fixed by
e52bdc55ad for exporting templates. However, template archives that have been
exported on Ardour5 are not affected by the fix. Therefor we need a workaround
for the case we are importing legacy template archives from Ardour5.
2020-04-05 16:34:48 +02:00
Johannes Mueller
c74cc2675e Extend FileArchive to import archive entries individually
This is needed primarily for a workaround for #7971. When importing a template
that has been exported on Ardour5 on MacOS we need to fix the paths of the
archive entries.

Later we can use this functionality also to handle imported templates if
templates with the same name already exist.

This commit only adds methods and members to FileArchive, it does not modify
anything to make regressions unlikely. This, however, leads to some duplicated
code. Eventually we should consolidate this a bit.
2020-04-05 16:34:48 +02:00
419af82645
Revert "replace use of gdk_pixmap_unref() with g_object_unref"
This reverts commit fdf0db02a0.

Even though `gdk_pixmap_unref` is deprecated, it is the correct way
to free `gdk_pixmap_new` objects.
This fixes a memory leak and glib warning:
GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

PS. Eventually this pixmap should be replaced by a cairo surface.
2020-04-05 00:59:54 +02:00
e52bdc55ad Fix template export on MacOS
By default Apple uses a private TMP folder.

g_dir_make_tmp() returns `/var/folders/...` while the real
absolute path is `/private/var/folders/...`.
This caused a problem when the tmp-prefix is chopped off when building
the archive.
2020-04-05 00:10:41 +02:00
bb925ea151 Editor-mixer-strip: fix intermittent crash if we try to set up gui before set_route() is called (amends d2032d) 2020-04-04 12:03:45 -05:00
d2032df2e5 Fix for Editor-mixer-strip: polarity buttons were not updating with route selection changes. 2020-04-04 10:54:33 -05:00
0ecf1e40ea add Editor-level action to toggle track layer display 2020-04-03 18:54:51 -06:00
c2b026831c yes, RouteTimeAxisView::set_layer_display() really never applies to the selection 2020-04-03 18:54:51 -06:00
743fbaf7bf change implementation of layer display menu items and handlers
The menu items no longer ever apply to the selection, because there will be an Editor-level
action to change things "globally"
2020-04-03 18:54:51 -06:00
d1e55ff5b7 add RouteTimeAxis::toggle_layer_display() 2020-04-03 18:54:51 -06:00
1c53e73599 add two new ptr-to-menu-item, and remove an unused one, for RouteTimeAxis 2020-04-03 18:54:51 -06:00
ac6bd95e3a move automation menu to under View in main menu 2020-04-03 18:54:51 -06:00
a6d1890168
NO-OP: whitespace 2020-04-04 01:48:31 +02:00
4e005540c6
Update PatchChange when instrument/midnam changes 2020-04-04 01:48:30 +02:00
d0a116b2ae
Forward instrument MIDNAM changed signal 2020-04-04 01:48:30 +02:00
096d23fcc2 change text describing relayout after UI scaling change 2020-04-03 14:31:51 -06:00
8a1f1a3005 remove border around ATAV controls table (looks better with new theme) 2020-04-03 14:25:32 -06:00
626d97b13a a better solution for automation axis name labels 2020-04-03 14:25:13 -06:00
be2322ef2b set size request for automation lane name label, to prevent it from changing tracker header width 2020-04-03 14:11:14 -06:00
f26dd1f13d add automation item to top level edit menu 2020-04-03 13:28:58 -06:00
9ca9aa8ae1 add new Editor method to toggle all existing automation
Applies to selected tracks if non-empty; all tracks otherwise
2020-04-03 13:28:58 -06:00