13
0
Commit Graph

25658 Commits

Author SHA1 Message Date
057fd9259e FP8: add mode to reset gain to unity
Re-selecting the most recently selected (blinkig select button) strip
returns gain to unity (0dB)
2017-09-09 21:46:26 +02:00
b5e1eb7538 Migrate PC dialog to RouteUI, midnam handing to RTAV.
This allows to to bring up the PC dialog from Editor/Editor-Mixer & Mixer
for both MIDI Tracks as well as MIDI Busses.
2017-09-09 18:25:36 +02:00
9e2251a619 Prepare PatchChangeWidget for Midi-Busses (use instrument-plugin) 2017-09-09 18:23:34 +02:00
ba2114644d Only emit InstrumentInfo::Changed() on actual change
Ignore plugin re-order, meter-pos changes and other cases where
Route calls reset_instrument_info()
2017-09-09 18:21:06 +02:00
b9f2a2ab3f Fix signal-emission order (first re/set instrument info) 2017-09-09 18:21:00 +02:00
5637bdd29b Prepare for singleton patch-selector per midi-track UI (mixer, editor,..) 2017-09-09 18:20:36 +02:00
d11f43eeb5 GenericPluginUI: tweak MIDI patch select layout 2017-09-09 13:29:28 +02:00
ec6a85f921 GenericUI: subscribe to property changes before querying values
Fixes displaying the initial/current filename/path for plugins that have
a LV2:Patch path property.
2017-09-09 04:39:10 +02:00
2513343204 GUI part of LV2 midnam race condition fix
..and support for midnam patches on MIDI Busses.
2017-09-09 03:08:46 +02:00
7872e4033f LV2/midnam tweaks - fix race conditions
* Emit signal once midnam was actually updated
* only re-read midnam if was it changed. This allows idempotent calls to
  read_midnam() - from the same thread.

At session-load a synth-plugin may load a soundfont in the background
and emit midnam_update() after the synth was initialized but before the
GUI thread connects to the signal. By making the call idempotent the
GUI can call read_midnam() after connecting to the signal to catch up.
2017-09-09 03:08:46 +02:00
b43fd4ad0e GenericPluginUI: send MIDI to plugin if it's not on a MIDI track 2017-09-09 03:08:46 +02:00
2ca3009143 Allow to send MIDI data directly to a plugin 2017-09-09 03:08:46 +02:00
483ad807ce fix crashing thinko in push2 code 2017-09-08 18:36:26 -04:00
f095cb75fa Fixup key-release events for plugin-uis 2017-09-08 23:35:00 +02:00
746665e89c Add a PianoKeyboard to GenericUI (on a MIDI track) 2017-09-08 23:35:00 +02:00
64be124fe0 PluginUI: only show "Reset" & Automation buttons if there are any controls 2017-09-08 23:35:00 +02:00
aa11cb96b3 Experimental GenericPluginUI MIDI patch select. 2017-09-08 23:35:00 +02:00
c3e8cdb418 PatchChange Dialog: update title & refresh midnam on change 2017-09-08 23:35:00 +02:00
b7227415ad a-fluidsynth mark session as modified if .sf2 changes 2017-09-08 23:35:00 +02:00
ba7bbd1d51 a-fluidsynth: implement LV2_BANKPATCH__notify 2017-09-08 23:35:00 +02:00
e452ba0fe1 Add LV2 extension to notify host about midi-bank/pgm state. 2017-09-08 23:35:00 +02:00
8bc2bf0155 Non-numeric Properties are not automatable
Fixes a crash, when the Generic-UI tries to access the AutomationList
of LV2 URID or String Properties.
2017-09-08 23:35:00 +02:00
4459761f4d Patch select: button theme-ing 2017-09-08 11:15:02 -05:00
1166538433 Patch select: apply conventions for context menus. 2017-09-08 11:09:26 -05:00
a3fd0bc34b Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour) 2017-09-08 10:18:25 +01:00
ee88a6e2a4 Various Patch Select Dialog tweaks
* send PGM change when bank changes
* only set Program button text as needed
* prperly escape mnemonics
2017-09-08 04:58:25 +02:00
e15d9202a5 Emit Changed() signal when MIDI bank/pgm changes 2017-09-08 04:35:06 +02:00
32bec8c8b1 Add Pianokeyboard + Velocity Control to PC Dialog 2017-09-08 04:32:43 +02:00
a34764ec9f Patch Change Audition 2017-09-08 02:20:53 +02:00
6376730093 Rework Patch-Change/Select Dialog 2017-09-08 02:19:31 +02:00
187748874c Fix a -Wsign-compare 2017-09-07 06:08:31 +02:00
6654c53760 Fix bumping .mid file name (snapshots & playlist copy)
When forking regions, copying playlists or saving snapshots we do not
have a reference to the track and cannot use the track's name as basis
for the new filename like Editor::fork_region() does.
A cloned midi region's name is based on the original region name.

This prevents endless addition "name-1-1-1-1-1-1-1-1.mid", adding
to the region's basename.
2017-09-07 06:05:26 +02:00
40edbb9519 Remove "How to Apply These Terms" part from the license.
This part of the complete GPL text is aimed at developers not end-users.
2017-09-07 05:59:53 +02:00
8b5553c977 Deploy dynamically loaded NSS libs with OSX bundles 2017-09-07 00:45:29 +02:00
5d0b00589c Fix the Unicode workaround in wscript
The previous code was supposed to ensure VERSION and PROGRAM_VERSION
were *not* Unicode objects since though they are the correct type to
represent strings in Python 2, too many libraries have strange issues
dealing with them, and UnicodeErrors can creep in with implicit
conversions from/to Unicode objects.

But in fact it did exactly the contrary since str.decode() always
returns Unicode objects, whose type corresponds to the str class in
Python 3. Fix it so that in both Python 2 and 3 the constants are
eventually instances of str.
2017-09-03 20:39:10 +02:00
bfb62d2cb3 Fix headers of .po files so they conform to the template 2017-09-02 16:42:08 +02:00
511216a587 Disable ArdourHTTP debug 2017-09-01 00:36:19 +02:00
841bbca773 print debugging for macOS/curl issues 2017-08-31 20:45:51 +02:00
db7ae81f07 Call curl_global_init() exactly only once (2/2) 2017-08-31 20:08:54 +02:00
e544934780 Call curl_global_init() exactly only once (1/2) 2017-08-31 20:08:47 +02:00
720292696a Fix ArdourHTTP error reporting 2017-08-31 19:21:43 +02:00
e10c162efb Fix C++11'ism 2017-08-30 23:10:26 +02:00
7033b34a65 Ensure a plugin generic UI doesn't exceed screen width
Do that by wrapping the packed controls box in a ScrolledWindow and
making it request the same width than the box but capped to 90% of the
screen width.

Also, when the box width exceeds the maximum value, try again with
one-letter automation buttons in case the reduced width avoids showing a
scroll bar.
2017-08-30 20:11:17 +02:00
03f77792dd Remove over-protection
The queued resize will only happen trigger a size-request when the
widget is realized, and on_size_request() calls ensure_layout().

Moreover, this over protection meant that sometimes a resize wasn't
noticed by the button containers.
2017-08-30 20:11:17 +02:00
f52f23b12d Fix scope in 4c077010a 2017-08-30 18:01:17 +02:00
d11d8b8a96 Catch new exception in other places. 2017-08-30 17:53:31 +02:00
3d9a0a1f98 Don't use API definition as namespace & fix whitespace 2017-08-30 17:53:08 +02:00
4c077010ad Don't create empty description nodes.
Other places e.g. Route::save_as_template(), Session::save_template()
don't to that either.
2017-08-30 17:45:34 +02:00
1f6c54a2f0 Gracefully handle templates that lack contents in their description or created_with node. 2017-08-30 10:23:34 -05:00
7d88091229 Avoid assert() when loading xml: Throw an XMLerror if attribute_value fails. 2017-08-30 10:23:34 -05:00