13
0
Commit Graph

11884 Commits

Author SHA1 Message Date
ae0dcdc0c5 Fix various tooltip markup (ampersand) entity-escape:
* track/port names
* plugin-names
* MIDI patch-names
2017-09-14 19:23:37 +02:00
315792b215 Fix patch-change auto-audition 2017-09-14 19:23:37 +02:00
339c64180e Fix crash when hiding multiple tracks
Editor::hide_track_in_display() -> EditorRoutes::hide_track_in_display()
and ensuing calls to sync the treeview may modify the selection
(de-select hidden tracks) and invalidate selection->tracks
2017-09-11 18:30:32 +02:00
3c81351413 Mixbus needs to show Created-With on the recent sessions list 2017-09-10 15:33:12 -05: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
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
b43fd4ad0e GenericPluginUI: send MIDI to plugin if it's not on a MIDI track 2017-09-09 03:08:46 +02: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
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
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
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
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
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
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
f52f23b12d Fix scope in 4c077010a 2017-08-30 18:01:17 +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
86222360a3 Change the autostate button width of all controls 2017-08-30 16:09:19 +02:00
f72c819035 Use small Astate buttons for plugins with many controls
The generic plugin UI uses spelled-out automation state buttons for
controls, which is good for readability and usability, but some plugins
have a very big amount of controls which means we need a lot of columns.

For those plugins, prefer one-letter automation states, to save width.
2017-08-29 12:06:33 +02:00
1b561446b8 GenericUI: rationalize Autostate button sizing
When there was a knobtable in the ControlUI, the behavior of the
automation state button changed by displaying one-char state as in track
headers. Factor out that logic to depend on a new boolean property of
the ControlUI, which should be set with set_short_autostate().

This regroups sizing logic in a single place and avoids future
discrepancies between the actual caption and the size allocated for it,
when several use-cases for smaller buttons are added.
2017-08-29 12:06:33 +02:00
6d0b009995 Refactor update_io_button
Check, in order, if the io is connected to another Ardour route, then a
user bundle, then some physical ports with simple configuration, and
lastly another client.

Before, Routes were considered connected as long as every io port
connected to that route, even if the channel order was mixed or worse if
all ports were connected to the same channel. Now Routes and Bundles are
considered connected if they are exclusively connected, in the right
order, to all their ports with matching datatype.
2017-08-28 19:43:28 +02:00
7d553eea80 Editor zoom: add 2hour and 24hour zoom limits. 2017-08-27 10:25:09 -05:00
7e300c93f2 Editor zooming: right-click on summary -> context menu -> reset to session extents. 2017-08-26 23:32:02 -05:00
631629b8e7 Editor zoom: add zoom_to_extents() 2017-08-26 23:06:29 -05:00
1c145ccfc3 Editor zooming: Config preference to define how much zooming will be easily allowed beyond the session_ui_extents() 2017-08-26 22:44:58 -05:00
49765f8897 Editor zooming:
Add config setting for playhead-scroll-speed.
Default to 100% for now, but for new users we might later default it to something slower.
If you want to scroll quickly, it is preferred to zoom out first, then scroll.
2017-08-26 22:44:58 -05:00
71d9ea7270 Editor zooming: Tweak the Summary to stop at right edge, use session_gui_extents(). 2017-08-26 22:44:58 -05:00
901432f030 Editor zooming: refactor zoom-limiting code into editor::session_gui_extents. 2017-08-26 22:44:58 -05:00
9b87279eca Editor zooming:
New function session_gui_extents() reports the extents of all playlists.
  ToDo: include region playlists, when they become available.
also:  slow-down autoscroll (ToDo:  make a config variable for this)
2017-08-26 22:44:58 -05:00
e9f4c5fc1c Editor zooming: Initialize leftmost_frame, for sessions that start at high timecodes. 2017-08-26 22:44:58 -05:00
8c556fcbdc Fix too restrictive Lua sandbox
Don't limit the environment when evaluating bytecode (factory function).
2017-08-26 15:42:14 +02:00
b25b99216c Fix a compiler problem when building 'gtk2_ardour/template_dialog.cc' with MSVC
When setting up the 'TemplatesImported' signal, these 2 calls appear in the c'tor for class TemplateDialog:-

	boost::bind (&RouteTemplateManager::init, route_tm)
	boost::bind (&SessionTemplateManager::init, session_tm)

However - '&RouteTemplateManager::init' and '&SessionTemplateManager::init' are in fact the address of the same function. This seems to be causing a problem, either for boost::bind, or MSVC (or both).

In earlier builds they were 2 separate functions. So let's put them back that way (since the current code actually crashes the compiler!!)
2017-08-26 13:07:45 +01:00
5aeb5f0c7d Remove unneeded test
The for loop will not be executed if |port_connections| is empty, no
need to check beforehand.
2017-08-25 21:35:18 +02:00
e7473c4c52 Track Templates: tweaks to MIDI Bus description text. 2017-08-24 21:21:38 -05:00
0e9dab6aab Allow to send immediate PC messages without closing the dialog.
Perhaps every change should trigger a PC (without "Apply") button?!
2017-08-24 23:41:21 +02:00