ardour.git
6 years agoFix various tooltip markup (ampersand) entity-escape: 5.12
Robin Gareus [Thu, 14 Sep 2017 17:22:44 +0000 (19:22 +0200)]
Fix various tooltip markup (ampersand) entity-escape:

* track/port names
* plugin-names
* MIDI patch-names

6 years agoFix patch-change auto-audition
Robin Gareus [Thu, 14 Sep 2017 17:00:08 +0000 (19:00 +0200)]
Fix patch-change auto-audition

6 years agoMSVC uses a slightly smaller value for HUGE
John Emmas [Mon, 11 Sep 2017 18:25:13 +0000 (19:25 +0100)]
MSVC uses a slightly smaller value for HUGE

6 years agoFix crash when hiding multiple tracks
Robin Gareus [Mon, 11 Sep 2017 16:30:32 +0000 (18:30 +0200)]
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

6 years agoFix a-fluidsynth bank/program restore (during session load)
Robin Gareus [Mon, 11 Sep 2017 14:45:17 +0000 (16:45 +0200)]
Fix a-fluidsynth bank/program restore (during session load)

* set program in work-response, synchronous to run()
* properly store bank per channel (for replay)

6 years agoMixbus needs to show Created-With on the recent sessions list
Ben Loftis [Sun, 10 Sep 2017 20:33:12 +0000 (15:33 -0500)]
Mixbus needs to show Created-With on the recent sessions list

6 years agoa-fluidsynth: query current bank/program after loading .sf2
Robin Gareus [Sun, 10 Sep 2017 14:06:16 +0000 (16:06 +0200)]
a-fluidsynth: query current bank/program after loading .sf2

6 years agoFP8: add mode to reset gain to unity
Robin Gareus [Sat, 9 Sep 2017 19:46:26 +0000 (21:46 +0200)]
FP8: add mode to reset gain to unity

Re-selecting the most recently selected (blinkig select button) strip
returns gain to unity (0dB)

6 years agoMigrate PC dialog to RouteUI, midnam handing to RTAV.
Robin Gareus [Sat, 9 Sep 2017 16:25:36 +0000 (18:25 +0200)]
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.

6 years agoPrepare PatchChangeWidget for Midi-Busses (use instrument-plugin)
Robin Gareus [Sat, 9 Sep 2017 16:17:42 +0000 (18:17 +0200)]
Prepare PatchChangeWidget for Midi-Busses (use instrument-plugin)

6 years agoOnly emit InstrumentInfo::Changed() on actual change
Robin Gareus [Sat, 9 Sep 2017 16:19:25 +0000 (18:19 +0200)]
Only emit InstrumentInfo::Changed() on actual change

Ignore plugin re-order, meter-pos changes and other cases where
Route calls reset_instrument_info()

6 years agoFix signal-emission order (first re/set instrument info)
Robin Gareus [Sat, 9 Sep 2017 16:21:00 +0000 (18:21 +0200)]
Fix signal-emission order (first re/set instrument info)

6 years agoPrepare for singleton patch-selector per midi-track UI (mixer, editor,..)
Robin Gareus [Sat, 9 Sep 2017 13:19:50 +0000 (15:19 +0200)]
Prepare for singleton patch-selector per midi-track UI (mixer, editor,..)

6 years agoGenericPluginUI: tweak MIDI patch select layout
Robin Gareus [Sat, 9 Sep 2017 11:29:28 +0000 (13:29 +0200)]
GenericPluginUI: tweak MIDI patch select layout

6 years agoGenericUI: subscribe to property changes before querying values
Robin Gareus [Sat, 9 Sep 2017 02:39:10 +0000 (04:39 +0200)]
GenericUI: subscribe to property changes before querying values

Fixes displaying the initial/current filename/path for plugins that have
a LV2:Patch path property.

6 years agoGUI part of LV2 midnam race condition fix
Robin Gareus [Sat, 9 Sep 2017 01:07:43 +0000 (03:07 +0200)]
GUI part of LV2 midnam race condition fix

..and support for midnam patches on MIDI Busses.

6 years agoLV2/midnam tweaks - fix race conditions
Robin Gareus [Sat, 9 Sep 2017 01:07:01 +0000 (03:07 +0200)]
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.

6 years agoGenericPluginUI: send MIDI to plugin if it's not on a MIDI track
Robin Gareus [Sat, 9 Sep 2017 00:24:51 +0000 (02:24 +0200)]
GenericPluginUI: send MIDI to plugin if it's not on a MIDI track

6 years agoAllow to send MIDI data directly to a plugin
Robin Gareus [Sat, 9 Sep 2017 00:23:13 +0000 (02:23 +0200)]
Allow to send MIDI data directly to a plugin

6 years agofix crashing thinko in push2 code
Paul Davis [Sun, 27 Aug 2017 17:39:14 +0000 (13:39 -0400)]
fix crashing thinko in push2 code

6 years agoFixup key-release events for plugin-uis
Robin Gareus [Fri, 8 Sep 2017 20:56:38 +0000 (22:56 +0200)]
Fixup key-release events for plugin-uis

6 years agoAdd a PianoKeyboard to GenericUI (on a MIDI track)
Robin Gareus [Fri, 8 Sep 2017 20:56:18 +0000 (22:56 +0200)]
Add a PianoKeyboard to GenericUI (on a MIDI track)

6 years agoPluginUI: only show "Reset" & Automation buttons if there are any controls
Robin Gareus [Fri, 8 Sep 2017 18:54:19 +0000 (20:54 +0200)]
PluginUI: only show "Reset" & Automation buttons if there are any controls

6 years agoExperimental GenericPluginUI MIDI patch select.
Robin Gareus [Fri, 8 Sep 2017 17:42:24 +0000 (19:42 +0200)]
Experimental GenericPluginUI MIDI patch select.

6 years agoPatchChange Dialog: update title & refresh midnam on change
Robin Gareus [Fri, 8 Sep 2017 17:37:48 +0000 (19:37 +0200)]
PatchChange Dialog: update title & refresh midnam on change

6 years agoa-fluidsynth mark session as modified if .sf2 changes
Robin Gareus [Fri, 8 Sep 2017 17:30:16 +0000 (19:30 +0200)]
a-fluidsynth mark session as modified if .sf2 changes

6 years agoa-fluidsynth: implement LV2_BANKPATCH__notify
Robin Gareus [Fri, 8 Sep 2017 17:28:35 +0000 (19:28 +0200)]
a-fluidsynth: implement LV2_BANKPATCH__notify

6 years agoAdd LV2 extension to notify host about midi-bank/pgm state.
Robin Gareus [Fri, 8 Sep 2017 17:26:08 +0000 (19:26 +0200)]
Add LV2 extension to notify host about midi-bank/pgm state.

6 years agoNon-numeric Properties are not automatable
Robin Gareus [Fri, 8 Sep 2017 11:16:37 +0000 (13:16 +0200)]
Non-numeric Properties are not automatable

Fixes a crash, when the Generic-UI tries to access the AutomationList
of LV2 URID or String Properties.

6 years agoPatch select: button theme-ing
Ben Loftis [Fri, 8 Sep 2017 16:15:02 +0000 (11:15 -0500)]
Patch select:  button theme-ing

6 years agoPatch select: apply conventions for context menus.
Ben Loftis [Fri, 8 Sep 2017 16:09:26 +0000 (11:09 -0500)]
Patch select: apply conventions for context menus.

6 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Fri, 8 Sep 2017 09:18:25 +0000 (10:18 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

6 years agoVarious Patch Select Dialog tweaks
Robin Gareus [Fri, 8 Sep 2017 02:58:25 +0000 (04:58 +0200)]
Various Patch Select Dialog tweaks

* send PGM change when bank changes
* only set Program button text as needed
* prperly escape mnemonics

6 years agoEmit Changed() signal when MIDI bank/pgm changes
Robin Gareus [Fri, 8 Sep 2017 02:35:06 +0000 (04:35 +0200)]
Emit Changed() signal when MIDI bank/pgm changes

6 years agoAdd Pianokeyboard + Velocity Control to PC Dialog
Robin Gareus [Fri, 8 Sep 2017 01:32:31 +0000 (03:32 +0200)]
Add Pianokeyboard + Velocity Control to PC Dialog

6 years agoPatch Change Audition
Robin Gareus [Thu, 7 Sep 2017 23:35:43 +0000 (01:35 +0200)]
Patch Change Audition

6 years agoRework Patch-Change/Select Dialog
Robin Gareus [Thu, 7 Sep 2017 22:30:55 +0000 (00:30 +0200)]
Rework Patch-Change/Select Dialog

6 years agoFix a -Wsign-compare
Robin Gareus [Thu, 7 Sep 2017 04:08:31 +0000 (06:08 +0200)]
Fix a -Wsign-compare

6 years agoFix bumping .mid file name (snapshots & playlist copy)
Robin Gareus [Thu, 7 Sep 2017 04:05:26 +0000 (06:05 +0200)]
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.

6 years agoRemove "How to Apply These Terms" part from the license.
Robin Gareus [Thu, 7 Sep 2017 03:59:53 +0000 (05:59 +0200)]
Remove "How to Apply These Terms" part from the license.

This part of the complete GPL text is aimed at developers not end-users.

6 years agoDeploy dynamically loaded NSS libs with OSX bundles
Robin Gareus [Wed, 6 Sep 2017 22:45:29 +0000 (00:45 +0200)]
Deploy dynamically loaded NSS libs with OSX bundles

6 years agoFix the Unicode workaround in wscript
Julien "_FrnchFrgg_" RIVAUD [Sun, 3 Sep 2017 18:39:02 +0000 (20:39 +0200)]
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.

6 years agoFix headers of .po files so they conform to the template
Julien "_FrnchFrgg_" RIVAUD [Sat, 2 Sep 2017 14:41:34 +0000 (16:41 +0200)]
Fix headers of .po files so they conform to the template

6 years agoDisable ArdourHTTP debug
Robin Gareus [Thu, 31 Aug 2017 22:36:19 +0000 (00:36 +0200)]
Disable ArdourHTTP debug

6 years agoprint debugging for macOS/curl issues
Robin Gareus [Thu, 31 Aug 2017 18:45:51 +0000 (20:45 +0200)]
print debugging for macOS/curl issues

6 years agoCall curl_global_init() exactly only once (2/2)
Robin Gareus [Thu, 31 Aug 2017 17:33:57 +0000 (19:33 +0200)]
Call curl_global_init() exactly only once (2/2)

6 years agoCall curl_global_init() exactly only once (1/2)
Robin Gareus [Thu, 31 Aug 2017 17:33:51 +0000 (19:33 +0200)]
Call curl_global_init() exactly only once (1/2)

6 years agoFix ArdourHTTP error reporting
Robin Gareus [Thu, 31 Aug 2017 17:21:43 +0000 (19:21 +0200)]
Fix ArdourHTTP error reporting

6 years agoFix C++11'ism
Robin Gareus [Wed, 30 Aug 2017 21:10:26 +0000 (23:10 +0200)]
Fix C++11'ism

6 years agoEnsure a plugin generic UI doesn't exceed screen width
Julien "_FrnchFrgg_" RIVAUD [Wed, 30 Aug 2017 18:03:24 +0000 (20:03 +0200)]
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.

6 years agoRemove over-protection
Julien "_FrnchFrgg_" RIVAUD [Wed, 30 Aug 2017 17:59:14 +0000 (19:59 +0200)]
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.

6 years agoFix scope in 4c077010a
Robin Gareus [Wed, 30 Aug 2017 16:01:17 +0000 (18:01 +0200)]
Fix scope in 4c077010a

6 years agoCatch new exception in other places.
Robin Gareus [Wed, 30 Aug 2017 15:53:31 +0000 (17:53 +0200)]
Catch new exception in other places.

6 years agoDon't use API definition as namespace & fix whitespace
Robin Gareus [Wed, 30 Aug 2017 15:53:08 +0000 (17:53 +0200)]
Don't use API definition as namespace & fix whitespace

6 years agoDon't create empty description nodes.
Robin Gareus [Wed, 30 Aug 2017 15:45:14 +0000 (17:45 +0200)]
Don't create empty description nodes.

Other places e.g. Route::save_as_template(), Session::save_template()
don't to that either.

6 years agoGracefully handle templates that lack contents in their description or created_with...
Ben Loftis [Wed, 30 Aug 2017 15:20:29 +0000 (10:20 -0500)]
Gracefully handle templates that lack contents in their description or created_with node.

6 years agoAvoid assert() when loading xml: Throw an XMLerror if attribute_value fails.
Ben Loftis [Wed, 30 Aug 2017 14:32:21 +0000 (09:32 -0500)]
Avoid assert() when loading xml: Throw an XMLerror if attribute_value fails.

6 years agoChange the autostate button width of all controls
Julien "_FrnchFrgg_" RIVAUD [Wed, 30 Aug 2017 14:07:02 +0000 (16:07 +0200)]
Change the autostate button width of all controls

6 years agoAccommodate recently removed source(s) in our MSVC project (portaudio_audiobackend)
John Emmas [Wed, 30 Aug 2017 08:53:33 +0000 (09:53 +0100)]
Accommodate recently removed source(s) in our MSVC project (portaudio_audiobackend)

6 years agoAbstract definition of rt-scheduler policy
Robin Gareus [Tue, 29 Aug 2017 18:35:36 +0000 (20:35 +0200)]
Abstract definition of rt-scheduler policy

pthread-w32 does not support pthread_setschedparam() with
SCHED_FIFO and bails out. While pthread_create() simply ignores the policy
and sets the priority regadless.

This only affects ctrl-surface event-loops & AutomationWatch on Windows.

6 years agoConsolidate _realtime_pthread_create() into libpbd.
Robin Gareus [Tue, 29 Aug 2017 15:23:19 +0000 (17:23 +0200)]
Consolidate _realtime_pthread_create() into libpbd.

6 years agoSet Automationwatch thread priority (needs to be higher than GUI)
Robin Gareus [Tue, 29 Aug 2017 15:16:03 +0000 (17:16 +0200)]
Set Automationwatch thread priority (needs to be higher than GUI)

This fixes an issue with sparse automation touch/write when the CPU is
busy (stationary playhead, waveform rendering, or just high DSP load)

6 years agoAdd a PBD API to set pthread priority
Robin Gareus [Tue, 29 Aug 2017 15:14:34 +0000 (17:14 +0200)]
Add a PBD API to set pthread priority

6 years agoUse small Astate buttons for plugins with many controls
Julien "_FrnchFrgg_" RIVAUD [Tue, 29 Aug 2017 10:00:20 +0000 (12:00 +0200)]
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.

6 years agoGenericUI: rationalize Autostate button sizing
Julien "_FrnchFrgg_" RIVAUD [Tue, 29 Aug 2017 09:25:38 +0000 (11:25 +0200)]
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.

6 years agoCompare bundle ports per-type
Julien "_FrnchFrgg_" RIVAUD [Tue, 29 Aug 2017 08:42:00 +0000 (10:42 +0200)]
Compare bundle ports per-type

This addresses the XXX comment in Bundle::has_same_ports()

6 years agoMake Bundle::disconnect() more robust
Julien "_FrnchFrgg_" RIVAUD [Tue, 29 Aug 2017 08:33:53 +0000 (10:33 +0200)]
Make Bundle::disconnect() more robust

Instead of asserting or crashing if the number of channels of both
bundles don't match, just try to disconnect as much as possible.

6 years agoRefactor update_io_button
Julien "_FrnchFrgg_" RIVAUD [Mon, 28 Aug 2017 17:43:28 +0000 (19:43 +0200)]
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.

6 years agoMake Bundle::connected_to() optionally check for exclusivity
Julien "_FrnchFrgg_" RIVAUD [Mon, 28 Aug 2017 10:18:02 +0000 (12:18 +0200)]
Make Bundle::connected_to() optionally check for exclusivity

If the new optional argument is true, then the first bundle will also
check if it has other connections than to the given bundle.

6 years agoMake Bundle::connected_to() able to check only a single DataType
Julien "_FrnchFrgg_" RIVAUD [Mon, 28 Aug 2017 10:13:01 +0000 (12:13 +0200)]
Make Bundle::connected_to() able to check only a single DataType

Also use the same iteration logic than in Bundle::connect to avoid
mismatched port types.

6 years agoOSC: Change jog mode should not stop transport
Len Ovens [Sun, 27 Aug 2017 21:15:05 +0000 (14:15 -0700)]
OSC: Change jog mode should not stop transport
unless started by scrub or shuttle.

6 years agoEditor zoom: add 2hour and 24hour zoom limits.
Ben Loftis [Sun, 27 Aug 2017 15:25:09 +0000 (10:25 -0500)]
Editor zoom:  add 2hour and 24hour zoom limits.

6 years agoEditor zooming: right-click on summary -> context menu -> reset to session extents.
Ben Loftis [Sun, 27 Aug 2017 04:32:02 +0000 (23:32 -0500)]
Editor zooming:  right-click on summary -> context menu -> reset to session extents.

6 years agoEditor zoom: add zoom_to_extents()
Ben Loftis [Sun, 27 Aug 2017 04:06:29 +0000 (23:06 -0500)]
Editor zoom:  add zoom_to_extents()

6 years agoEditor zooming: Config preference to define how much zooming will be easily allowed...
Ben Loftis [Sun, 27 Aug 2017 03:44:48 +0000 (22:44 -0500)]
Editor zooming: Config preference to define how much zooming will be easily allowed beyond the session_ui_extents()

6 years agoEditor zooming:
Ben Loftis [Sun, 27 Aug 2017 03:19:04 +0000 (22:19 -0500)]
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.

6 years agoEditor zooming: Tweak the Summary to stop at right edge, use session_gui_extents().
Ben Loftis [Sun, 27 Aug 2017 02:56:42 +0000 (21:56 -0500)]
Editor zooming:  Tweak the Summary to stop at right edge, use session_gui_extents().

6 years agoEditor zooming: refactor zoom-limiting code into editor::session_gui_extents.
Ben Loftis [Sun, 27 Aug 2017 02:05:40 +0000 (21:05 -0500)]
Editor zooming:  refactor zoom-limiting code into editor::session_gui_extents.

6 years agoEditor zooming:
Ben Loftis [Sun, 27 Aug 2017 02:00:45 +0000 (21:00 -0500)]
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)

6 years agoEditor zooming: Initialize leftmost_frame, for sessions that start at high timecodes.
Ben Loftis [Sun, 27 Aug 2017 01:59:05 +0000 (20:59 -0500)]
Editor zooming:  Initialize leftmost_frame, for sessions that start at high timecodes.

6 years agomp4chaps Lua script: don't clutter global environment
Robin Gareus [Sat, 26 Aug 2017 13:41:20 +0000 (15:41 +0200)]
mp4chaps Lua script: don't clutter global environment

6 years agoFix too restrictive Lua sandbox
Robin Gareus [Sat, 26 Aug 2017 13:38:41 +0000 (15:38 +0200)]
Fix too restrictive Lua sandbox

Don't limit the environment when evaluating bytecode (factory function).

6 years agoFix a compiler problem when building 'gtk2_ardour/template_dialog.cc' with MSVC
John Emmas [Sat, 26 Aug 2017 12:07:45 +0000 (13:07 +0100)]
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!!)

6 years agoRemove unneeded test
Julien "_FrnchFrgg_" RIVAUD [Thu, 24 Aug 2017 20:51:53 +0000 (22:51 +0200)]
Remove unneeded test

The for loop will not be executed if |port_connections| is empty, no
need to check beforehand.

6 years agoSecondary clock visibility is a global pref, not a per-session setting.
Ben Loftis [Fri, 25 Aug 2017 19:37:37 +0000 (14:37 -0500)]
Secondary clock visibility is a global pref, not a per-session setting.

6 years agoOSC: same fix for /select/*
Len Ovens [Fri, 25 Aug 2017 17:22:42 +0000 (10:22 -0700)]
OSC: same fix for /select/*

6 years agoOSC: account for user sending the wrong number of paramters gracefully
Len Ovens [Fri, 25 Aug 2017 16:44:08 +0000 (09:44 -0700)]
OSC: account for user sending the wrong number of paramters gracefully

6 years agoSome fixes for ruler-visibility. Secondary-clock coming soon.
Ben Loftis [Fri, 25 Aug 2017 14:19:17 +0000 (09:19 -0500)]
Some fixes for ruler-visibility. Secondary-clock coming soon.

6 years agoTemplates: attempt to set ruler and clock visibility. Not working.
Ben Loftis [Fri, 25 Aug 2017 14:01:57 +0000 (09:01 -0500)]
Templates:  attempt to set ruler and clock visibility.  Not working.

6 years agoTrack Templates: tweaks to MIDI Bus description text.
Ben Loftis [Fri, 25 Aug 2017 02:21:38 +0000 (21:21 -0500)]
Track Templates: tweaks to MIDI Bus description text.

6 years agoAllow to send immediate PC messages without closing the dialog.
Robin Gareus [Thu, 24 Aug 2017 21:41:21 +0000 (23:41 +0200)]
Allow to send immediate PC messages without closing the dialog.

Perhaps every change should trigger a PC (without "Apply") button?!

6 years agoFix typo in dea8ee7f
Robin Gareus [Thu, 24 Aug 2017 14:20:51 +0000 (16:20 +0200)]
Fix typo in dea8ee7f

6 years agoMake clicks on io menu bundles always connect
Julien "_FrnchFrgg_" RIVAUD [Thu, 24 Aug 2017 09:54:15 +0000 (11:54 +0200)]
Make clicks on io menu bundles always connect

If a bundle was already connected, a click on the corresponding entry
disconnected it, essentially giving toggle semantics to the io menus.
This behavior has three problems:

 — When clicking on a not yet connected bundle, the new bundle replaces
   any already connected one. This is not consistent with a toggle mode.
 — It is a less discoverable and less easy way to disconnect a bundle
   than the already present "Disconnect" menu entry.
 — Bundles that match the I/O channels only partially (recently added to cater
   for e.g. MIDI+STEREO tracks connecting to Master) are never
   considered "connected" because the channels are not connected 1:1.
   Those will thus never toggle, making the behavior inconsistent.

Change the semantics to ensure a bundle is connected on click instead.

6 years agoRemove all manual accounting of connected user bundles
Julien "_FrnchFrgg_" RIVAUD [Thu, 24 Aug 2017 09:40:19 +0000 (11:40 +0200)]
Remove all manual accounting of connected user bundles

IO used to manually keep a list of user bundles it was connected to, but
it didn't work correctly: sometimes it didn't notice that a bundle
wasn't connected anymore, and the list wasn't correctly persisted across
save/reloads among other things.

Moreover, it wasn't needed at all, since the user bundles are correctly
listed by _session.bundles() and IO already notices they are connected !

Remove all occurrences of |_bundles_connected| and |check_bundles_connected|.

6 years agowhen connecting to sigc signals, use sigc methods, not boost::bind
Paul Davis [Thu, 24 Aug 2017 13:31:45 +0000 (09:31 -0400)]
when connecting to sigc signals, use sigc methods, not boost::bind

6 years agofix waf template install
Robin Gareus [Thu, 24 Aug 2017 13:26:14 +0000 (15:26 +0200)]
fix waf template install

6 years agoTrack Templates:
Ben Loftis [Wed, 23 Aug 2017 18:13:00 +0000 (13:13 -0500)]
Track Templates:
* Re-rename Track Wizard to Live Band.
* Various ui tweaks to Live Band template script.

6 years agoLua Script Example to toggle monitor section
Robin Gareus [Thu, 24 Aug 2017 00:56:33 +0000 (02:56 +0200)]
Lua Script Example to toggle monitor section

6 years agoFix session-open after selecting new, template, then back
Robin Gareus [Thu, 24 Aug 2017 00:08:32 +0000 (02:08 +0200)]
Fix session-open after selecting new, template, then back

6 years agoDeploy Session-templates
Robin Gareus [Wed, 23 Aug 2017 21:54:51 +0000 (23:54 +0200)]
Deploy Session-templates