Commit Graph

31235 Commits

Author SHA1 Message Date
Paul Davis
99817e1170 change grid display when grid is bars
All lines are shown, all lines are numbered, all have same visual density
2021-01-22 09:52:42 -07:00
Robin Gareus
8426bb3aaf ALSA: explicitly list millisecond buffer-sizes 2021-01-22 16:07:33 +01:00
Robin Gareus
0b97175d49 ALSA: fall back to nearest available buffer-size
The warning "samples per period does not match." never triggered.
Previously not being able to set the requested buffersize was a
fatal error.

This adds support for soundcards that only support msec.
e.g. recent HDA Intel via SOF (Sound Open Firmware)
2021-01-22 16:07:29 +01:00
Robin Gareus
cff58bd9da ALSA: Fix slave device lookup 2021-01-22 16:07:24 +01:00
Robin Gareus
b9966cf69d Fix implicit Vkeybd MIDI meta-data 2021-01-22 05:20:36 +01:00
Robin Gareus
7b4aaeb5cd Remove unused code 2021-01-22 05:20:31 +01:00
Robin Gareus
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
Robin Gareus
cbd2cc7b2e Enable FMA support for windows 64bit 2021-01-20 14:23:53 +01:00
Paul Davis
5ff330bd7e fix thinko when in ParameterDescriptor::from_interface() for toggled parameters 2021-01-19 13:05:12 -07:00
Paul Davis
7a536524db no need to compute x-axis coordinate when adding an automation event 2021-01-19 13:04:34 -07:00
Paul Davis
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
Paul Davis
6bd12a4e83 clearing note selection in internal edit mode also deselects regions 2021-01-18 16:07:20 -07:00
Robin Gareus
8386874a03 OSC: Allow to specify marker name #8543
Patch from atsampson
2021-01-18 23:36:35 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
31691a6ad4 Fix Aux-send copy/paste
* Create new IDs
* Allow to link with route's panner
2021-01-18 16:07:31 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
c5b986f420 ALSA: set pretty port names for audio I/O 2021-01-18 03:18:21 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
0b0339f089 Re-implement MidiPortOptions with new API 2021-01-18 03:18:20 +01:00
Robin Gareus
bbb6851468 Subscribe to pretty-port name changes (surfaces) 2021-01-18 03:18:20 +01:00
Robin Gareus
b2c4e71a45 Subscribe to pretty-port name changes (GUI) 2021-01-18 03:18:20 +01:00
Robin Gareus
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
Robin Gareus
01502c6805 Allow to set pretty name for all port 2021-01-18 03:18:20 +01:00
Robin Gareus
a04a2bd0be Prepare for API change, MidiPortOptions::setup_midi_port_view 2021-01-18 03:18:20 +01:00
Damien Zammit
0890b638b9 ptformat: Update to upstream 232ba25 2021-01-17 13:19:54 +11:00
Damien Zammit
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
Damien Zammit
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
Damien Zammit
2645ab2e73 pt import: Fix import -> cancel -> import by clearing status 2021-01-17 13:19:54 +11:00
Damien Zammit
5d0de7e037 pt import: Fix progress bar to span the whole import 2021-01-17 13:19:54 +11:00
Damien Zammit
ea8b855b4a pt import: Clean up track naming 2021-01-17 13:19:54 +11:00
Damien Zammit
12d62cd16e pt import: Fix race condition/threading, don't call new_audio_track() in bg thread 2021-01-17 13:19:54 +11:00
Paul Davis
a307cc602c remove duplicate initialization of PBD::DEBUG::Selection 2021-01-14 11:25:29 -07:00
Robin Gareus
21822a45fb Remove duplicate rdfs label in a-comp 2021-01-14 18:35:07 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
344d163875 Use libc++/clang on OSX 10.10.x 2021-01-10 14:05:09 +01:00
Robin Gareus
7ef55225a0 Plug a tiny memory leak 2021-01-09 20:18:12 +01:00
Robin Gareus
36d2b4ea2e Fix C++11ism 2021-01-09 05:18:50 +01:00
Robin Gareus
9b1a2e6dba Indicate that plugin-window MIDI keyboard is not recorded 2021-01-08 22:50:53 +01:00
Robin Gareus
0257804c57 Fix default track name patterns, remove additional space 2021-01-08 22:50:50 +01:00
Robin Gareus
5974e61854 Add option to skip MIDI track input auto-connect 2021-01-08 22:50:45 +01:00
Robin Gareus
038307fef6 Allow Lua bindings up to 11 args 2021-01-08 22:50:37 +01:00