summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2017-09-11MSVC uses a slightly smaller value for HUGEJohn Emmas
2017-09-11Fix a-fluidsynth bank/program restore (during session load)Robin Gareus
* set program in work-response, synchronous to run() * properly store bank per channel (for replay)
2017-09-10a-fluidsynth: query current bank/program after loading .sf2Robin Gareus
2017-09-09FP8: add mode to reset gain to unityRobin Gareus
Re-selecting the most recently selected (blinkig select button) strip returns gain to unity (0dB)
2017-09-09Only emit InstrumentInfo::Changed() on actual changeRobin Gareus
Ignore plugin re-order, meter-pos changes and other cases where Route calls reset_instrument_info()
2017-09-09Fix signal-emission order (first re/set instrument info)Robin Gareus
2017-09-09Prepare for singleton patch-selector per midi-track UI (mixer, editor,..)Robin Gareus
2017-09-09LV2/midnam tweaks - fix race conditionsRobin Gareus
* 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-09Allow to send MIDI data directly to a pluginRobin Gareus
2017-09-08fix crashing thinko in push2 codePaul Davis
2017-09-08a-fluidsynth mark session as modified if .sf2 changesRobin Gareus
2017-09-08a-fluidsynth: implement LV2_BANKPATCH__notifyRobin Gareus
2017-09-08Add LV2 extension to notify host about midi-bank/pgm state.Robin Gareus
2017-09-08Non-numeric Properties are not automatableRobin Gareus
Fixes a crash, when the Generic-UI tries to access the AutomationList of LV2 URID or String Properties.
2017-09-08Emit Changed() signal when MIDI bank/pgm changesRobin Gareus
2017-09-07Fix bumping .mid file name (snapshots & playlist copy)Robin Gareus
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-08-31Call curl_global_init() exactly only once (2/2)Robin Gareus
2017-08-30Remove over-protectionJulien "_FrnchFrgg_" RIVAUD
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-30Catch new exception in other places.Robin Gareus
2017-08-30Don't use API definition as namespace & fix whitespaceRobin Gareus
2017-08-30Gracefully handle templates that lack contents in their description or ↵Ben Loftis
created_with node.
2017-08-30Avoid assert() when loading xml: Throw an XMLerror if attribute_value fails.Ben Loftis
2017-08-30Accommodate recently removed source(s) in our MSVC project ↵John Emmas
(portaudio_audiobackend)
2017-08-29Abstract definition of rt-scheduler policyRobin Gareus
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-29Consolidate _realtime_pthread_create() into libpbd.Robin Gareus
2017-08-29Set Automationwatch thread priority (needs to be higher than GUI)Robin Gareus
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-29Add a PBD API to set pthread priorityRobin Gareus
2017-08-29Compare bundle ports per-typeJulien "_FrnchFrgg_" RIVAUD
This addresses the XXX comment in Bundle::has_same_ports()
2017-08-29Make Bundle::disconnect() more robustJulien "_FrnchFrgg_" RIVAUD
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-28Make Bundle::connected_to() optionally check for exclusivityJulien "_FrnchFrgg_" RIVAUD
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-28Make Bundle::connected_to() able to check only a single DataTypeJulien "_FrnchFrgg_" RIVAUD
Also use the same iteration logic than in Bundle::connect to avoid mismatched port types.
2017-08-27OSC: Change jog mode should not stop transportLen Ovens
unless started by scrub or shuttle.
2017-08-25OSC: same fix for /select/*Len Ovens
2017-08-25OSC: account for user sending the wrong number of paramters gracefullyLen Ovens
2017-08-24Remove all manual accounting of connected user bundlesJulien "_FrnchFrgg_" RIVAUD
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-23Make IO::connect_ports_to_bundle able to partially connectJulien "_FrnchFrgg_" RIVAUD
Forward the optional |allow_partial| boolean to |Bundle::connect|.
2017-08-23Make Bundle::connect able to connect only some DataTypesJulien "_FrnchFrgg_" RIVAUD
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-23Improve getting a Bundle total channel countJulien "_FrnchFrgg_" RIVAUD
|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-23Add a method to get the first DataTypeJulien "_FrnchFrgg_" RIVAUD
Also put a comment about the ordering of DataTypes.
2017-08-23Use DataType iteration instead of assuming integersJulien "_FrnchFrgg_" RIVAUD
2017-08-23Update "separate_by_channel" API & add Lua bindingsRobin Gareus
This breaks compilation (GUI)
2017-08-23Use literal for compatibilityRobin Gareus
2017-08-23backends: jack: display playback only devicesStefan Müller-Klieser
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-22Remove cruftRobin Gareus
2017-08-21OSC cue button up events should not be errors, fixedLen Ovens
2017-08-21OSC: /cue/enable feedback not changing fixedLen Ovens
2017-08-21OSC: aux bus detection fixed for mixbusLen Ovens
2017-08-21Catch Lua exception when scanning scriptsRobin Gareus
2017-08-21prh: Small fix to /cue/send/enable feedback stringPaul Hedderly
2017-08-20Fix a tiny memory leakRobin Gareus