Paul Davis [Mon, 17 Apr 2017 10:12:38 +0000 (11:12 +0100)]
get diskreader working, and remove per-track varispeed API and mechanism
Paul Davis [Fri, 14 Apr 2017 16:33:22 +0000 (17:33 +0100)]
remove debug output
Paul Davis [Fri, 14 Apr 2017 16:32:16 +0000 (17:32 +0100)]
correctly create Tracks, not Busses
Paul Davis [Fri, 14 Apr 2017 16:10:22 +0000 (17:10 +0100)]
save processor type for Disk{Reader,Writer}
Paul Davis [Tue, 11 Apr 2017 16:38:34 +0000 (17:38 +0100)]
addd more DEBUG_TRACE for DiskIO; set DiskIOProcess::_need_butler more appropriately; other minor adjustments
Paul Davis [Mon, 10 Apr 2017 14:58:28 +0000 (15:58 +0100)]
nothing to do anymore at the Track level when input config changes
Paul Davis [Mon, 10 Apr 2017 12:05:06 +0000 (13:05 +0100)]
reinstate input monitoring function
Paul Davis [Mon, 10 Apr 2017 10:44:48 +0000 (11:44 +0100)]
fully remove diskstream code
Paul Davis [Mon, 10 Apr 2017 09:25:00 +0000 (10:25 +0100)]
random changes required to get an audio track created and transport functional
Paul Davis [Mon, 3 Apr 2017 21:36:12 +0000 (23:36 +0200)]
remove Diskstream from Track and derivatives; get ardour to actually startup
Paul Davis [Mon, 3 Apr 2017 21:35:03 +0000 (23:35 +0200)]
remove now-non-existent method from Lua
Paul Davis [Mon, 3 Apr 2017 21:34:00 +0000 (23:34 +0200)]
add DEBUG::DiskIO
Paul Davis [Mon, 3 Apr 2017 21:33:27 +0000 (23:33 +0200)]
remove Session::track_by_diskstream_id()
Paul Davis [Fri, 31 Mar 2017 15:28:14 +0000 (17:28 +0200)]
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
Paul Davis [Thu, 16 Mar 2017 16:26:53 +0000 (17:26 +0100)]
merge almost all audio & midi diskstream code, redistribute between DiskIOProcessor, DiskReader,DiskWriter; compile and link
Paul Davis [Thu, 9 Mar 2017 11:37:07 +0000 (12:37 +0100)]
remove duplicated (in heirarchy) loop location from DiskReader
Paul Davis [Thu, 9 Mar 2017 11:20:51 +0000 (12:20 +0100)]
move need-butler from DiskReader to DiskIOProcessor
Paul Davis [Wed, 8 Mar 2017 18:46:24 +0000 (19:46 +0100)]
move ChannelInfo structure from DiskReader into DiskIOProcessor
Paul Davis [Tue, 7 Mar 2017 18:40:37 +0000 (19:40 +0100)]
merge MidiDiskstream into DiskReader (playback parts)
Paul Davis [Mon, 6 Mar 2017 12:07:34 +0000 (13:07 +0100)]
two additional AudioDiskstream methods, partially commented out now
Paul Davis [Mon, 6 Mar 2017 11:47:46 +0000 (12:47 +0100)]
merge AudioDiskstream playback code into DiskReader
Paul Davis [Fri, 3 Mar 2017 15:14:07 +0000 (16:14 +0100)]
crawling towards the APIs for separate disk i/o
Paul Davis [Fri, 20 Jan 2017 11:08:58 +0000 (12:08 +0100)]
add basic data members and methods for adding an explicit size allocation for Canvas::Item
Paul Davis [Mon, 17 Oct 2016 23:56:41 +0000 (19:56 -0400)]
totally crude mockup of new disk_io.h header
Robin Gareus [Wed, 16 Aug 2017 03:22:27 +0000 (05:22 +0200)]
Bump session file format (pre 6.0)
* latch automation
* logarithmic interpolation option
Robin Gareus [Wed, 26 Jul 2017 20:57:43 +0000 (22:57 +0200)]
Add TouchChanged signal (and re-indent)
Robin Gareus [Tue, 25 Jul 2017 14:30:00 +0000 (16:30 +0200)]
Initial support of Latch for some ctrl-surfaces
Robin Gareus [Tue, 25 Jul 2017 14:10:38 +0000 (16:10 +0200)]
GUI support for Latch
Robin Gareus [Tue, 25 Jul 2017 14:09:47 +0000 (16:09 +0200)]
Add support for Latch Automation
Robin Gareus [Wed, 16 Aug 2017 03:02:22 +0000 (05:02 +0200)]
Revert "Temporary session-format compatibility (revert before release)"
This reverts commit
8cd8cb165037906d5a35c8e147785845d0f4f808.
Robin Gareus [Mon, 18 Sep 2017 15:24:57 +0000 (17:24 +0200)]
FP8: call directly into session.
Robin Gareus [Mon, 18 Sep 2017 14:13:47 +0000 (16:13 +0200)]
Prototype using additional ALSA devices (w/resampling).
Robin Gareus [Mon, 18 Sep 2017 12:50:31 +0000 (14:50 +0200)]
ALSA Backend: Separate Device Reservation into its own class
Robin Gareus [Mon, 18 Sep 2017 04:47:01 +0000 (06:47 +0200)]
NO-OP: whitespace
Robin Gareus [Sat, 16 Sep 2017 13:34:11 +0000 (15:34 +0200)]
Add libzita-resampler as lib
This simplifies x-compiling and x-platform builds as well
allows to statically link, if needed.
Robin Gareus [Sat, 16 Sep 2017 14:27:53 +0000 (16:27 +0200)]
Update GUI, PBD::Ringbuffer namespace
Robin Gareus [Sat, 16 Sep 2017 13:44:48 +0000 (15:44 +0200)]
Namespace PBD::RingBuffer
class RingBuffer<> is a very generic name and should not pollute the
global namespace.
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
Robin Gareus [Thu, 14 Sep 2017 17:00:08 +0000 (19:00 +0200)]
Fix patch-change auto-audition
John Emmas [Mon, 11 Sep 2017 18:25:13 +0000 (19:25 +0100)]
MSVC uses a slightly smaller value for HUGE
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
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)
Ben Loftis [Sun, 10 Sep 2017 20:33:12 +0000 (15:33 -0500)]
Mixbus needs to show Created-With on the recent sessions list
Robin Gareus [Sun, 10 Sep 2017 14:06:16 +0000 (16:06 +0200)]
a-fluidsynth: query current bank/program after loading .sf2
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)
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.
Robin Gareus [Sat, 9 Sep 2017 16:17:42 +0000 (18:17 +0200)]
Prepare PatchChangeWidget for Midi-Busses (use instrument-plugin)
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()
Robin Gareus [Sat, 9 Sep 2017 16:21:00 +0000 (18:21 +0200)]
Fix signal-emission order (first re/set instrument info)
Robin Gareus [Sat, 9 Sep 2017 13:19:50 +0000 (15:19 +0200)]
Prepare for singleton patch-selector per midi-track UI (mixer, editor,..)
Robin Gareus [Sat, 9 Sep 2017 11:29:28 +0000 (13:29 +0200)]
GenericPluginUI: tweak MIDI patch select layout
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.
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.
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.
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
Robin Gareus [Sat, 9 Sep 2017 00:23:13 +0000 (02:23 +0200)]
Allow to send MIDI data directly to a plugin
Paul Davis [Sun, 27 Aug 2017 17:39:14 +0000 (13:39 -0400)]
fix crashing thinko in push2 code
Robin Gareus [Fri, 8 Sep 2017 20:56:38 +0000 (22:56 +0200)]
Fixup key-release events for plugin-uis
Robin Gareus [Fri, 8 Sep 2017 20:56:18 +0000 (22:56 +0200)]
Add a PianoKeyboard to GenericUI (on a MIDI track)
Robin Gareus [Fri, 8 Sep 2017 18:54:19 +0000 (20:54 +0200)]
PluginUI: only show "Reset" & Automation buttons if there are any controls
Robin Gareus [Fri, 8 Sep 2017 17:42:24 +0000 (19:42 +0200)]
Experimental GenericPluginUI MIDI patch select.
Robin Gareus [Fri, 8 Sep 2017 17:37:48 +0000 (19:37 +0200)]
PatchChange Dialog: update title & refresh midnam on change
Robin Gareus [Fri, 8 Sep 2017 17:30:16 +0000 (19:30 +0200)]
a-fluidsynth mark session as modified if .sf2 changes
Robin Gareus [Fri, 8 Sep 2017 17:28:35 +0000 (19:28 +0200)]
a-fluidsynth: implement LV2_BANKPATCH__notify
Robin Gareus [Fri, 8 Sep 2017 17:26:08 +0000 (19:26 +0200)]
Add LV2 extension to notify host about midi-bank/pgm state.
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.
Ben Loftis [Fri, 8 Sep 2017 16:15:02 +0000 (11:15 -0500)]
Patch select: button theme-ing
Ben Loftis [Fri, 8 Sep 2017 16:09:26 +0000 (11:09 -0500)]
Patch select: apply conventions for context menus.
John Emmas [Fri, 8 Sep 2017 09:18:25 +0000 (10:18 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
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
Robin Gareus [Fri, 8 Sep 2017 02:35:06 +0000 (04:35 +0200)]
Emit Changed() signal when MIDI bank/pgm changes
Robin Gareus [Fri, 8 Sep 2017 01:32:31 +0000 (03:32 +0200)]
Add Pianokeyboard + Velocity Control to PC Dialog
Robin Gareus [Thu, 7 Sep 2017 23:35:43 +0000 (01:35 +0200)]
Patch Change Audition
Robin Gareus [Thu, 7 Sep 2017 22:30:55 +0000 (00:30 +0200)]
Rework Patch-Change/Select Dialog
Robin Gareus [Thu, 7 Sep 2017 04:08:31 +0000 (06:08 +0200)]
Fix a -Wsign-compare
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.
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.
Robin Gareus [Wed, 6 Sep 2017 22:45:29 +0000 (00:45 +0200)]
Deploy dynamically loaded NSS libs with OSX bundles
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.
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
Robin Gareus [Thu, 31 Aug 2017 22:36:19 +0000 (00:36 +0200)]
Disable ArdourHTTP debug
Robin Gareus [Thu, 31 Aug 2017 18:45:51 +0000 (20:45 +0200)]
print debugging for macOS/curl issues
Robin Gareus [Thu, 31 Aug 2017 17:33:57 +0000 (19:33 +0200)]
Call curl_global_init() exactly only once (2/2)
Robin Gareus [Thu, 31 Aug 2017 17:33:51 +0000 (19:33 +0200)]
Call curl_global_init() exactly only once (1/2)
Robin Gareus [Thu, 31 Aug 2017 17:21:43 +0000 (19:21 +0200)]
Fix ArdourHTTP error reporting
Robin Gareus [Wed, 30 Aug 2017 21:10:26 +0000 (23:10 +0200)]
Fix C++11'ism
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.
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.
Robin Gareus [Wed, 30 Aug 2017 16:01:17 +0000 (18:01 +0200)]
Robin Gareus [Wed, 30 Aug 2017 15:53:31 +0000 (17:53 +0200)]
Catch new exception in other places.
Robin Gareus [Wed, 30 Aug 2017 15:53:08 +0000 (17:53 +0200)]
Don't use API definition as namespace & fix whitespace
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.
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.
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.
Julien "_FrnchFrgg_" RIVAUD [Wed, 30 Aug 2017 14:07:02 +0000 (16:07 +0200)]
Change the autostate button width of all controls
John Emmas [Wed, 30 Aug 2017 08:53:33 +0000 (09:53 +0100)]
Accommodate recently removed source(s) in our MSVC project (portaudio_audiobackend)
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.
Robin Gareus [Tue, 29 Aug 2017 15:23:19 +0000 (17:23 +0200)]
Consolidate _realtime_pthread_create() into libpbd.
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)
Robin Gareus [Tue, 29 Aug 2017 15:14:34 +0000 (17:14 +0200)]
Add a PBD API to set pthread priority