13
0
Commit Graph

13377 Commits

Author SHA1 Message Date
a4a87f56e9 mega-commit to save state of first "it compilesand links" state for separated disk i/o changes.
THIS WILL NOT RUN. THIS REQUIRES MANY CHANGES
2017-09-18 11:40:52 -04:00
94604c6979 merge almost all audio & midi diskstream code, redistribute between DiskIOProcessor, DiskReader,DiskWriter; compile and link 2017-09-18 11:40:52 -04:00
f8ef82fceb remove duplicated (in heirarchy) loop location from DiskReader 2017-09-18 11:40:52 -04:00
c6dd3045d1 move need-butler from DiskReader to DiskIOProcessor 2017-09-18 11:40:52 -04:00
bcd7a21510 move ChannelInfo structure from DiskReader into DiskIOProcessor 2017-09-18 11:40:52 -04:00
7fb6807ed3 merge MidiDiskstream into DiskReader (playback parts) 2017-09-18 11:40:52 -04:00
074ab1e508 two additional AudioDiskstream methods, partially commented out now 2017-09-18 11:40:52 -04:00
c05cfe3328 merge AudioDiskstream playback code into DiskReader 2017-09-18 11:40:52 -04:00
46366541b1 crawling towards the APIs for separate disk i/o 2017-09-18 11:40:52 -04:00
36046cccc1 add basic data members and methods for adding an explicit size allocation for Canvas::Item 2017-09-18 11:40:52 -04:00
934f1a0476 totally crude mockup of new disk_io.h header 2017-09-18 11:40:52 -04:00
5cfb5dbd4c Bump session file format (pre 6.0)
* latch automation
* logarithmic interpolation option
2017-09-18 11:40:52 -04:00
dc83dc7b58 Add TouchChanged signal (and re-indent) 2017-09-18 11:40:52 -04:00
c4a5ad33a5 Initial support of Latch for some ctrl-surfaces 2017-09-18 11:40:52 -04:00
1d587592ca Add support for Latch Automation 2017-09-18 11:40:52 -04:00
1545c426d9 Revert "Temporary session-format compatibility (revert before release)"
This reverts commit 8cd8cb1650.
2017-09-18 11:40:52 -04:00
766113a024 FP8: call directly into session. 2017-09-18 17:24:57 +02:00
8337982766 Prototype using additional ALSA devices (w/resampling). 2017-09-18 16:13:55 +02:00
128a985361 ALSA Backend: Separate Device Reservation into its own class 2017-09-18 14:50:31 +02:00
71424c9db5 NO-OP: whitespace 2017-09-18 06:47:01 +02:00
eb71eddbc8 Add libzita-resampler as lib
This simplifies x-compiling and x-platform builds as well
allows to statically link, if needed.
2017-09-16 18:31:54 +02:00
7258c6334d Namespace PBD::RingBuffer
class RingBuffer<> is a very generic name and should not pollute the
global namespace.
2017-09-16 16:37:29 +02:00
14fcf86f03 MSVC uses a slightly smaller value for HUGE 2017-09-11 19:25:13 +01:00
019f664356 Fix a-fluidsynth bank/program restore (during session load)
* set program in work-response, synchronous to run()
* properly store bank per channel (for replay)
2017-09-11 16:48:54 +02:00
fdbe22d005 a-fluidsynth: query current bank/program after loading .sf2 2017-09-10 16:06:16 +02:00
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
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
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
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
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
e15d9202a5 Emit Changed() signal when MIDI bank/pgm changes 2017-09-08 04:35:06 +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
db7ae81f07 Call curl_global_init() exactly only once (2/2) 2017-08-31 20:08:54 +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
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
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
35fcb622bc Accommodate recently removed source(s) in our MSVC project (portaudio_audiobackend) 2017-08-30 09:53:33 +01:00
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
df659e91f1 Consolidate _realtime_pthread_create() into libpbd. 2017-08-29 17:25:23 +02:00
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
229c9584bf Add a PBD API to set pthread priority 2017-08-29 17:25:23 +02:00
d4c211ef6f Compare bundle ports per-type
This addresses the XXX comment in Bundle::has_same_ports()
2017-08-29 10:53:41 +02:00