Commit graph

13339 commits

Author SHA1 Message Date
Robin Gareus
db7ae81f07 Call curl_global_init() exactly only once (2/2) 2017-08-31 20:08:54 +02:00
Julien "_FrnchFrgg_" RIVAUD
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
Robin Gareus
d11d8b8a96 Catch new exception in other places. 2017-08-30 17:53:31 +02:00
Robin Gareus
3d9a0a1f98 Don't use API definition as namespace & fix whitespace 2017-08-30 17:53:08 +02:00
Ben Loftis
1f6c54a2f0 Gracefully handle templates that lack contents in their description or created_with node. 2017-08-30 10:23:34 -05:00
Ben Loftis
7d88091229 Avoid assert() when loading xml: Throw an XMLerror if attribute_value fails. 2017-08-30 10:23:34 -05:00
John Emmas
35fcb622bc Accommodate recently removed source(s) in our MSVC project (portaudio_audiobackend) 2017-08-30 09:53:33 +01:00
Robin Gareus
467c801ce8 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.
2017-08-29 20:35:36 +02:00
Robin Gareus
df659e91f1 Consolidate _realtime_pthread_create() into libpbd. 2017-08-29 17:25:23 +02:00
Robin Gareus
6ab00534c0 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)
2017-08-29 17:25:23 +02:00
Robin Gareus
229c9584bf Add a PBD API to set pthread priority 2017-08-29 17:25:23 +02:00
Julien "_FrnchFrgg_" RIVAUD
d4c211ef6f Compare bundle ports per-type
This addresses the XXX comment in Bundle::has_same_ports()
2017-08-29 10:53:41 +02:00
Julien "_FrnchFrgg_" RIVAUD
41c5913b91 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.
2017-08-29 10:53:41 +02:00
Julien "_FrnchFrgg_" RIVAUD
50c6a90d24 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.
2017-08-28 17:54:32 +02:00
Julien "_FrnchFrgg_" RIVAUD
6039b44c0a 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.
2017-08-28 14:10:22 +02:00
Len Ovens
e07bb07899 OSC: Change jog mode should not stop transport
unless started by scrub or shuttle.
2017-08-27 14:15:34 -07:00
Len Ovens
dbab25f537 OSC: same fix for /select/* 2017-08-25 10:22:42 -07:00
Len Ovens
d7fcdbfe1d OSC: account for user sending the wrong number of paramters gracefully 2017-08-25 09:45:06 -07:00
Julien "_FrnchFrgg_" RIVAUD
9c793759c8 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|.
2017-08-24 15:41:40 +02:00
Julien "_FrnchFrgg_" RIVAUD
1aa3a3f4d6 Make IO::connect_ports_to_bundle able to partially connect
Forward the optional |allow_partial| boolean to |Bundle::connect|.
2017-08-23 23:31:28 +02:00
Julien "_FrnchFrgg_" RIVAUD
8cb40ab25b Make Bundle::connect able to connect only some DataTypes
When |allow_partial| is true, only when the number of channels of a
given DataType is the same for both bundles are the corresponding
channels connected together.

When |allow_partial| is false (the default), the number of channels must
match for each DataType (the ChanCounts must be equal) for the
connection to be attempted.

This also fixes the logic in case two bundles have the same number of
channels, or even the same ChanCounts, but not with the DataTypes in the
same order (so connecting the ith channel of the bundle to the ith
channel of the other bundle makes no sense).
2017-08-23 23:31:28 +02:00
Julien "_FrnchFrgg_" RIVAUD
96a6529e2e Improve getting a Bundle total channel count
|Bundle::nchannels()| creates a ChanCount on demand, by iterating over
the |_channel| member variable. The sum of all |nchannels().n(t)| over
all non-NIL DataTypes |t| is thus equal to |_channel.size()|.

Consequently, calling |nchannels().n_total()| is a convoluted (and slow)
way of getting |_channel.size()|. Add a method |Bundle::n_total()| that
directly returns the latter.
2017-08-23 23:31:28 +02:00
Julien "_FrnchFrgg_" RIVAUD
db28d652ca Add a method to get the first DataType
Also put a comment about the ordering of DataTypes.
2017-08-23 22:58:05 +02:00
Julien "_FrnchFrgg_" RIVAUD
e8e1b81177 Use DataType iteration instead of assuming integers 2017-08-23 22:10:51 +02:00
Robin Gareus
ad9551e548 Update "separate_by_channel" API & add Lua bindings
This breaks compilation (GUI)
2017-08-23 21:33:29 +02:00
Robin Gareus
2961db3b6f Use literal for compatibility 2017-08-23 12:43:48 +02:00
Stefan Müller-Klieser
587a2dee55 backends: jack: display playback only devices
When starting ardour using the jack backend, playback only devices
currently do not get displayed. Mixing and Mastering only workspaces
with e.g. a single USB Dac should be a common use case. Take this use
case into account by adding them to the device list. Tested on Linux
with jack-alsa.
2017-08-23 02:17:51 +02:00
Robin Gareus
180cbb0af9 Remove cruft 2017-08-22 15:06:43 +02:00
Len Ovens
ca2d254fdb OSC cue button up events should not be errors, fixed 2017-08-21 20:08:19 -07:00
Len Ovens
ab621b550d OSC: /cue/enable feedback not changing fixed 2017-08-21 12:10:27 -07:00
Len Ovens
6b810b67d9 OSC: aux bus detection fixed for mixbus 2017-08-21 08:40:22 -07:00
Robin Gareus
5a8bdf40f2 Catch Lua exception when scanning scripts 2017-08-21 17:07:54 +02:00
Paul Hedderly
18060e597e prh: Small fix to /cue/send/enable feedback string 2017-08-21 16:23:23 +02:00
Robin Gareus
f15fc38bd8 Fix a tiny memory leak 2017-08-20 22:23:10 +02:00
Johannes Mueller
d2c163e788 Make literals in libs/ardour/template_utils.cc translatable 2017-08-20 21:09:30 +02:00
Johannes Mueller
bd4db1e151 Remove the template description XMLNode before saving the template
... to avoid that the new template description is concatenated to the old one.
2017-08-20 21:09:30 +02:00
Johannes Mueller
419b1c1cfd Extract the route template descriptions
... and put them into the template info list.
2017-08-20 21:09:30 +02:00
Johannes Mueller
245154d06a Let user add a route template description on saving route templates 2017-08-20 21:09:30 +02:00
Johannes Mueller
ae51d5fd4e Let the user add a template description on saving session templates 2017-08-20 21:09:30 +02:00
Johannes Mueller
908369ab3e Save template description at toplevel rather than in <Metadata/> 2017-08-20 21:09:30 +02:00
Robin Gareus
c399954148 Don't use references for constant c-types
This fixes various Lua-scripts: There are no explicit bindings to
turn int64_t, uint64_t into a const reference.

Besides it doesn't make sense to use a reference for constant _t that can
be directly loaded in CPU register or on the stack.
2017-08-20 19:02:17 +02:00
Robin Gareus
fb745cc5a8 Lua may call C++ functions with throw. Catch them 2017-08-19 01:06:44 +02:00
Robin Gareus
be6abce398 Add Lua binding to un/assign VCAs 2017-08-18 22:00:24 +02:00
Robin Gareus
08c1300718 Remove old destructive API (non layered is a dynamic mode) 2/2 2017-08-18 21:12:45 +02:00
Robin Gareus
e0a83a758e Redesign Session+Route Template Meta Script API
Remove special-cased script types. Allow Action-Scripts to be re-used
for session-setup or route-templates.
2017-08-18 20:42:55 +02:00
Robin Gareus
e951e68780 Add luaRef is Boolean 2017-08-18 20:42:55 +02:00
Paul Davis
3421c6e814 NO-OP: whitespace 2017-08-18 09:42:04 -04:00
Paul Davis
f84bebbb30 strip <Actions>/ from displayed path when printing bindings to HTML 2017-08-18 09:42:04 -04:00
Robin Gareus
5ed68fd2f8 NO-OP: whitespace 2017-08-18 00:11:55 +02:00
Robin Gareus
38a029c069 Expose Lua bindings to create/delete VCAs 2017-08-18 00:11:55 +02:00