Commit graph

30510 commits

Author SHA1 Message Date
Paul Davis
1d33ed5aca MIDI bindings etc. should work while in draw mode, not just internal edit
The only real difference is in what the mouse does, so keys should work the same
2020-05-05 17:58:32 -06:00
Paul Davis
8dfb49f446 do not clear a MIDI region's note selection when drag-creating a note 2020-05-05 17:57:53 -06:00
Paul Davis
505bd41ad4 do not clear selection when clicking on canvas in internal mode 2020-05-05 14:10:54 -06:00
Len Ovens
feb689d220 Fix issue 8087 menu build when only one bus
If there is only one Foldback bus:
	the selection button still respond to left click.
	Any other click on the same button will need two
	clicks
2020-05-05 11:42:45 -07:00
Len Ovens
2df52979d4 The listen Button (Solo) has no function in Foldback remove 2020-05-05 09:21:50 -07:00
Robin Gareus
c75b2355c1
Fix potential malloc(0) issue 2020-05-05 17:13:18 +02:00
Paul Davis
a0f05e6dda updated libardour czech translations from pavel frich 2020-05-05 08:48:39 -06:00
Robin Gareus
f31f9a09da
Fix inactive track header label display
Since 8fced29372 introduced no_show_all(), the packed widgets
need to be explicitly displayed.
2020-05-05 04:30:24 +02:00
Paul Davis
350051569f remove empty API and usage
This went away when we added RTMidiBuffer. Getting data from MIDI playlists is now
completed in one pass, without note trackers
2020-05-04 18:54:40 -06:00
Paul Davis
9b070eefb1 fix note-tracking in Editor::write_one_track()
We need a MidiStateTracker to determine notes whose end is not reached
during the call to ::write_one_track(), so that we can resolve them
in the output (SMF) source. This required some changes to the ::export_stuff()
API for tracks.

In addition, we now take the source "lock" just once during ::write_one_track()
rather than every time we write. This isn't an integral part of the
note tracking, but fell out along the way.

Finally, note that although we use a vector to handle MIDI "sources" here,
it is expected that there is only 1 MIDI source at present. Leave vectors in
place since it is possible that ::write_one_track() could be modified
in the future to change that.
2020-05-04 18:48:17 -06:00
Paul Davis
7644168536 add some (commented/ifdef'ed) debugging for RTMidiBuffer::read() 2020-05-04 18:48:17 -06:00
Paul Davis
47e83d2799 no need for return value 2020-05-04 18:48:17 -06:00
Paul Davis
3ac96d3b24 add explanatory comment 2020-05-04 18:48:17 -06:00
Paul Davis
447b473a1d slight better warning/debug message for a stuck note to-be-deleted 2020-05-04 18:48:17 -06:00
Paul Davis
f6496524a4 fix thinko in MidiRegionView::add_to_selection()
The existing code isn't wrong, but inefficient. If the selection is empty,
then this is necessarily the first note, and cannot be present in the
selection. So, don't search the std::set<> and then insert, just insert.
2020-05-04 18:48:17 -06:00
Paul Davis
520ccd8ff2 use RTMidiBuffer API correctly when reading for MidiTrack::export_stuff() 2020-05-04 18:48:17 -06:00
Robin Gareus
4508d5bab1
Set de-click reason monitor vs. start/stop.
Previously use-monitor-fades was unused in A6, and transition
between monitoring states used the use-transport-fades preference.
2020-05-04 21:51:53 +02:00
Robin Gareus
a6f95b21fc
Fix alignment and de-click when monitoring changes while playing
Previously it was possible that
 * declick_out = true,
 * target_gain == 0, cur_gain != 0 (fade out active)
 * speed != 0, disk_samples_to_consume > 0.

So the disk-reader advanced the playback_sample, but since
declick_out is active, the read from the ringbuffer was not committed.
2020-05-04 21:48:47 +02:00
Robin Gareus
744b85679b
Tweak plugin-manager default window width #8079 2020-05-04 18:20:57 +02:00
Robin Gareus
acb8f9eb28
Scale plugin-manager default window size #8079 2020-05-03 20:50:52 +02:00
Robin Gareus
d387a6d664
Fix a compiler warning std::abs vs fabsf 2020-05-03 20:48:40 +02:00
Robin Gareus
a47fac7638
Fix MIDNAM model (MMA > Generic) fallback 2020-05-03 20:48:06 +02:00
Robin Gareus
27f26f5cfd
Cont'd work on ALSA nperiods (amend 2326fb163) 2020-05-03 00:19:56 +02:00
Paul Davis
11ec81f4c2 more improvements in visual representation of selected MIDI notes during (and not during) internal editing 2020-05-01 22:28:21 -06:00
Paul Davis
8556560eca change design of MidiRegionView::add_to_selection() so that the rubber-band select works again
Adding the first note trigged Editor::set_selected_midi_region_view() which cleared
the (newly added to) selection
2020-05-01 22:27:50 -06:00
Paul Davis
044be53616 attempt to properly manage MIDI note display of selected status
Whether to display the selected outline depends on BOTH whether the note is
selected, and whether we are in an internal editing mode.
2020-05-01 17:39:13 -06:00
Paul Davis
13c0145890 move virtual method from region_view.h to region_view.cc
It cannot be inlined anyway, so nothing gained by the header file presence
2020-05-01 17:39:13 -06:00
Paul Davis
575c818482 when a MIDI region has a note selected with none previously, cancel existing MIDI region/note selection 2020-05-01 17:39:13 -06:00
Robin Gareus
2326fb1638
ALSA: only read/clear user-requested nperiods before snd_pcm_start
This should fix excessive latency with the RayDay that
has a fixed buffersize of 16384 samples.
2020-05-01 23:17:31 +02:00
Paul Davis
b258ad792e force provision of "menu-name" for all WindowProxy objects, and thus Tabbables
Actions for hide/show/attach/detach tabbables use hard-coded names which are not
translated. Using Tabbable/WindowProxy::name() to lookup the action will fail,
since the name can be translated. This changes just removes the option to not
provide a menu-name when creating these objects, and uses the name menu-name
when looking up an action by name
2020-05-01 14:33:47 -06:00
Robin Gareus
51795d2e11
Fix contents-drag (ignore snap) #8073
The "new" snap-to-visual-grid mechanism is not useful for
Contents-trim. That would require a relative grid.
2020-05-01 22:12:39 +02:00
Paul Davis
0486fe3e7d set LC_ALL from macOS locale so that setlocale(2) will work 2020-05-01 12:32:38 -06:00
Paul Davis
6479a1c9d5 fix apple use of - instead of _ in language identifiers; only set LANGUAGE if the language preferences are translatable 2020-05-01 12:31:52 -06:00
Paul Davis
b2a8616ef8 notice if macOS user has en_US as primary language 2020-05-01 12:30:46 -06:00
Paul Davis
033838c242 remove hard to understand and incorrect comment sentence 2020-05-01 12:29:24 -06:00
Paul Davis
ad2af5123d tell stdout if setlocale(2) fails 2020-05-01 12:28:52 -06:00
Paul Davis
eda909067b remove unusued SAE build target from osx_build 2020-05-01 12:28:09 -06:00
Paul Davis
25f873917f make with-NLS be the default for Mac builds
It already was for mixbus, but not for ardour
2020-05-01 12:22:29 -06:00
Robin Gareus
e424fdc197
Prototype an A/B x-fade plugin 2020-04-30 21:30:04 +02:00
Paul Davis
1e814d2573 remove debug output 2020-04-30 13:13:48 -06:00
Paul Davis
106315071a update other .po files 2020-04-30 13:03:46 -06:00
Paul Davis
2c56762b98 fix context-providing translation for de_DE where the context string had been left in the the translation 2020-04-30 13:03:25 -06:00
Paul Davis
b95cd280f1 use PROGRAM_NAME to name GUI thread 2020-04-30 11:03:49 -06:00
Paul Davis
70da4ad893 fix 52b9066511 (incorrect logic). Restores audio playback from disk 2020-04-30 10:36:01 -06:00
Robin Gareus
68cb914959
Set Arodur's main thread name to include "Ardour"
This is helpful when debugging by PID (adevices.sh most notably),
just "gui" is not usually helpful.
2020-04-30 18:24:22 +02:00
Robin Gareus
8fa0049d28
ALSA: set start threshold to zero 2020-04-30 04:16:17 +02:00
Robin Gareus
11f68a02cd
Another step towards nperiod fixes for the RayDay 2020-04-30 02:05:14 +02:00
Paul Davis
e9e4792a99 only activate MIDI editing bindings if in actual internal edit mode.
Draw mode does not as internal editing for these purposes
2020-04-29 16:27:27 -06:00
Robin Gareus
d7072eda01
Update script menu in the wake of 95932f92de 2020-04-30 00:24:22 +02:00
Robin Gareus
3a6a9cfa6c
Tweak ALSA nperiod setting, fallback to nearest
This is mainly for RME RayDAT that has a fixed buffersize of 16k:

  dev_name : hw:HDSPMxc2f6c5,0
  channels : 36
  min_rate : 32000
  max_rate : 192000
  min_bufz : 16384
  max_bufz : 16384
  min_nper : 4
  max_nper : 512

However nperiod configuration determines the effective latency
regardless.

This is similar to https://github.com/jackaudio/jack1/blob/master/drivers/alsa/alsa_driver.c#L476-L486
2020-04-29 23:56:24 +02:00