7b4aaeb5cd
Remove unused code
2021-01-22 05:20:31 +01:00
959f83244e
Fix ArdourButton text-align when button size grows
...
This is mainly relevant when the button is placed inside a
Gtk::SizeGroup.
2021-01-21 02:19:06 +01:00
cbd2cc7b2e
Enable FMA support for windows 64bit
2021-01-20 14:23:53 +01:00
5ff330bd7e
fix thinko when in ParameterDescriptor::from_interface() for toggled parameters
2021-01-19 13:05:12 -07:00
7a536524db
no need to compute x-axis coordinate when adding an automation event
2021-01-19 13:04:34 -07:00
7cf435a876
deselect everything when the first MIDI note is selected
...
See comments in code for more information
2021-01-18 16:07:20 -07:00
6bd12a4e83
clearing note selection in internal edit mode also deselects regions
2021-01-18 16:07:20 -07:00
8386874a03
OSC: Allow to specify marker name #8543
...
Patch from atsampson
2021-01-18 23:36:35 +01:00
983c577945
Fix send panner when copying sends
...
* Unlinked panners now retain their state during copy/paste.
* Linked send panners can no longer override parent route panning
* Unlinked panner state is retained across link/unlink.
2021-01-18 18:58:10 +01:00
9c06f693e9
Fix mp3 and video-export (ffmpeg/ffprobe detection)
...
A call to `transcoder_exe (unused, unused)` passes the same
string reference for `ffmpeg` and `ffprobe`. If this happens
during the first call of this function, the path for the latter
is cached for both external tools.
2021-01-18 17:21:26 +01:00
528cf92ed5
Hide "Midi Through" on Linux only
...
Note HAVE_ALSA is mandatory for Linux builds, even when only
using JACK.
2021-01-18 16:16:25 +01:00
c02169a6c8
Micro-optimization: pre-calculate pan-law
...
powf() is very expensive to call, and as long as the pan-law
is fixed, there is no need to re-calculate coefficient scale
factor on every update.
2021-01-18 16:14:16 +01:00
31691a6ad4
Fix Aux-send copy/paste
...
* Create new IDs
* Allow to link with route's panner
2021-01-18 16:07:31 +01:00
1fc8b55314
Fix Intel/AMD FMA mix_buffers_with_gain()
...
_mm256_fmadd_ps (a, b, c) performs (a * b + c)
2021-01-18 16:07:21 +01:00
097e5a7145
Implement dynamic input port meters
...
This is a revision of the initial API 8ba7df9105
, to
address issues with dynamica ports (fa791ae9cc
).
* Group meter + scope/monitor per port (atomic access)
* Use shared pointer to allow access while ports change
* Use RCU to update port map
* Add/remove ports without clearing the map
* Add signal to notify GUI about Input Port changes
2021-01-18 03:18:21 +01:00
c5b986f420
ALSA: set pretty port names for audio I/O
2021-01-18 03:18:21 +01:00
edd3179fbf
VKeybd: show pretty-name in port-connector
...
This follows a special case in PortGroupList::gather().
The Virtual Keyboard is an Ardour owned async terminal port,
that is in a session bundle (not a UserBundle).
See also 728d2a3771
and 559ffcff63
2021-01-18 03:18:21 +01:00
e49adb55c0
Fix MidiPortOptions Preferences
...
* Show Treeview again if it was hidden
* Hide heading(s) and table when no ports are available
* Fix memory leak, unmanaged OptionEditorHeading
* remove unused members
2021-01-18 03:18:20 +01:00
0b0339f089
Re-implement MidiPortOptions with new API
2021-01-18 03:18:20 +01:00
bbb6851468
Subscribe to pretty-port name changes (surfaces)
2021-01-18 03:18:20 +01:00
b2c4e71a45
Subscribe to pretty-port name changes (GUI)
2021-01-18 03:18:20 +01:00
21e66216be
Separate user-set pretty-names from hardware I/O names
...
This allow to restore original engine port-names as set
by the backend. ALSA MIDI, CoreAudio, CoreMIDI and PortAudio
drivers can provide human readable physical port names for
some devices.
2021-01-18 03:18:20 +01:00
01502c6805
Allow to set pretty name for all port
2021-01-18 03:18:20 +01:00
a04a2bd0be
Prepare for API change, MidiPortOptions::setup_midi_port_view
2021-01-18 03:18:20 +01:00
0890b638b9
ptformat: Update to upstream 232ba25
2021-01-17 13:19:54 +11:00
ec5a809f54
pt import: Fix crash with bringing in material
...
Hopefully the weird pt import crash is now gone!
2021-01-17 13:19:54 +11:00
772512a62d
pt import: Correct the log warning message when at least one audio file failed to load
2021-01-17 13:19:54 +11:00
2645ab2e73
pt import: Fix import -> cancel -> import by clearing status
2021-01-17 13:19:54 +11:00
5d0de7e037
pt import: Fix progress bar to span the whole import
2021-01-17 13:19:54 +11:00
ea8b855b4a
pt import: Clean up track naming
2021-01-17 13:19:54 +11:00
12d62cd16e
pt import: Fix race condition/threading, don't call new_audio_track() in bg thread
2021-01-17 13:19:54 +11:00
a307cc602c
remove duplicate initialization of PBD::DEBUG::Selection
2021-01-14 11:25:29 -07:00
21822a45fb
Remove duplicate rdfs label in a-comp
2021-01-14 18:35:07 +01:00
0c81ba33d2
JACK latency compensation for newly created tracks #8472
...
Ardour native backends trigger a latency-callback when ports_changed.
This was lost for JACK when the shared port engine was implemented.
2021-01-14 03:22:25 +01:00
350938b68e
Fix crash at exit when EngineDialog shows some page other than 1st
...
#1 std::operator==<char> (__lhs=<error reading variable: Cannot access memory at address 0x801f0f1f>) at /usr/include/c++/8/bits/basic_string.h:6058
#2 EngineControl::get_matching_state at ../gtk2_ardour/engine_dialog.cc:1874
#3 EngineControl::get_saved_state_for_currently_displayed_backend_and_device() at ../gtk2_ardour/engine_dialog.cc:1893
#4 EngineControl::post_push() at ../gtk2_ardour/engine_dialog.cc:2655
#5 EngineControl::push_state_to_backend(bool) at ../gtk2_ardour/engine_dialog.cc:2643
#6 EngineControl::on_switch_page(_GtkNotebookPage*, unsigned int) (this=0x55bc43fd4d40, page_num=1) at ../gtk2_ardour/engine_dialog.cc:2988
[...]
#20 () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#21 g_object_run_dispose () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 Gtk::VBox::~VBox() () at /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#23 EngineControl::~EngineControl() (this=0x55bc43fd4d40, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../gtk2_ardour/engine_dialog.cc:73
2021-01-14 01:54:43 +01:00
fa791ae9cc
Static input port meters, ignore dynamic ports for now
...
Hotplugging devices will need to be special-cased.
Currently there is no API to notify the PortManager about
hotplugged devices.
2021-01-14 01:54:40 +01:00
c803911873
Sort input port signal meters by port name
2021-01-11 00:07:08 +01:00
John Emmas
6c1dea8df2
Add/remove source(s) in our MSVC project (libardour)
2021-01-10 18:45:25 +00:00
344d163875
Use libc++/clang on OSX 10.10.x
2021-01-10 14:05:09 +01:00
7ef55225a0
Plug a tiny memory leak
2021-01-09 20:18:12 +01:00
36d2b4ea2e
Fix C++11ism
2021-01-09 05:18:50 +01:00
9b1a2e6dba
Indicate that plugin-window MIDI keyboard is not recorded
2021-01-08 22:50:53 +01:00
0257804c57
Fix default track name patterns, remove additional space
2021-01-08 22:50:50 +01:00
5974e61854
Add option to skip MIDI track input auto-connect
2021-01-08 22:50:45 +01:00
038307fef6
Allow Lua bindings up to 11 args
2021-01-08 22:50:37 +01:00
44528f4fd0
Fix editor summary exposure rectangle
...
Rectangle uses position and width, not coordinate pairs.
2021-01-08 18:39:57 +01:00
aecd84e7fd
Update session extents calculation
...
* Expose API via Public Editor
* Skip hidden tracks in calculation
* Use a single call to query playlist extents.
This way the playlist read-lock is needed at most once per track
which speeds up calculation.
2021-01-08 18:39:57 +01:00
548db7a9a4
NO-OP: code formatting and cleanup, thanks clang-format
2021-01-08 18:39:57 +01:00
e644cb4577
Do not hold RegionWriteLock while emitting signals
...
Various playlist operations can change region-properties
which results in Region::send_change being emitted while
the Playlist::RegionWriteLock is held.
This can result in recursive lock and/or deadlocks or crashes. e.g.
Insert time -> Playlist::shift -> Region::RegionPropertyChanged
-> EditorSummary::set_background_dirty -> Editor::session_gui_extents
-> Playlist::get_extent -> read-lock is taken after write-lock.
2021-01-08 18:39:57 +01:00
ba123dfe87
Cache playlist extents
...
Calculating the extents iterates over all regions which
can be expensive. Ardour's GUI calls this periodically to
calculate session_gui_extents().
2021-01-08 18:39:56 +01:00