Tim Mayberry [Thu, 29 Oct 2015 11:58:51 +0000 (21:58 +1000)]
Move PBD symbol demangle functions into pbd/demangle.h/cc
Add pbd/demangle.cc source file and move functions from pbd/stacktrace.cc into
it
Paul Davis [Tue, 1 Dec 2015 01:54:23 +0000 (20:54 -0500)]
faderport: correctly restore mix/proj/trns state from XML
Paul Davis [Tue, 1 Dec 2015 01:13:49 +0000 (20:13 -0500)]
faderport: cleanup
André Nusser [Sun, 29 Nov 2015 19:17:11 +0000 (20:17 +0100)]
Make capitalization consistent and other minor spelling corrections.
trebmuh [Mon, 23 Nov 2015 15:59:51 +0000 (16:59 +0100)]
Create fr.po
add a French translation
Paul Davis [Mon, 30 Nov 2015 20:05:30 +0000 (15:05 -0500)]
faderport: add some "curated" actions for mix, proj and trns; make new bindings use release, not press
Paul Davis [Mon, 30 Nov 2015 18:50:33 +0000 (13:50 -0500)]
faderport: restore button actions, and correctly indicate current action in GUI
Paul Davis [Mon, 30 Nov 2015 17:51:18 +0000 (12:51 -0500)]
faderport: some code cleanups, add timing for button presses, add new comboboxes to GUI to allow more button programming, save button state
Paul Davis [Sun, 29 Nov 2015 16:58:31 +0000 (11:58 -0500)]
no-op: add comment to faderport button ID definitions
Robin Gareus [Sun, 29 Nov 2015 16:52:42 +0000 (17:52 +0100)]
NOOP, remove trailing whitespace, replace tabs in python scripts
Robin Gareus [Sun, 29 Nov 2015 16:48:21 +0000 (17:48 +0100)]
some upcoming release codenames
Paul Davis [Sun, 29 Nov 2015 16:43:14 +0000 (11:43 -0500)]
faderport: add two functioning actions for the mix button
Paul Davis [Sun, 29 Nov 2015 16:32:28 +0000 (11:32 -0500)]
basic structure for Faderport GUI
Not fully functional (or sensible yet) but the pieces are all there
Robin Gareus [Sun, 29 Nov 2015 16:04:40 +0000 (17:04 +0100)]
fix OSX openFile Application Delegate
allows to open Ardour via double-click on a .ardour file in Finder.
Robin Gareus [Sun, 29 Nov 2015 00:27:18 +0000 (01:27 +0100)]
fix seamless midi-looping - fixes #5438
well, now...
- Midi-Ports have a midi-buffer.
- Midi-Tracks have a midi-buffer.
- Midi-tracks have a diskstream.
- Midi-diskstream has a midi-ring-buffer.
- Midi-tracks have a delivery
- The delivery can get a reference to the actual backend-ports
- The delivery calls the Midi-Port's flush() buffer to send out queued events
at the end of a cycle
all clear ? :)
- when splitting the process-cycle: only the Ports are informed.
all other objects see a "normal" short process cycle starting at "0".
The offset needs to be applied early on, so that internally routed buffers
push the event at the correct time when combining the buffer with
immediate and async events.
Luckily Port::port_offset() is a static member, available to all, objects,
which allows to bridge the conceptual gap between the diskstream and
the delivery.
There's a snag:
When there's a note-on directly at the beginning of the loop it coincides
with the panic message sent when looping.
The panic comes before note events, so it *should* be good.
Also the final note-offs (state tracker end of loop/region) are sent
1 sample too early (smells like an off-by-one), and are hence dropped.
(no matter we send a panic right after it).
It should really be at the same time, just before the panic.
Robin Gareus [Sat, 28 Nov 2015 22:40:03 +0000 (23:40 +0100)]
don't clear MIDI buffers during split-cycles
if dst_offset is zero, MidiBuffer::read_from() clears the buffer.
copy_to_outputs() eventually calls MidiBuffer::read_from().
Robin Gareus [Sat, 28 Nov 2015 21:54:00 +0000 (22:54 +0100)]
add some midi-debug printf() to the dummy backend
Robin Gareus [Sat, 28 Nov 2015 21:34:54 +0000 (22:34 +0100)]
fix typo in panic message, honor event-time.
Robin Gareus [Sat, 28 Nov 2015 21:33:43 +0000 (22:33 +0100)]
midi-panic needs to honor split-cycle buffer offset,
otherwise panic message will be delivered out-of-order when
seamlessly looping.
Robin Gareus [Sat, 28 Nov 2015 21:30:54 +0000 (22:30 +0100)]
filling the midi playback buffer is a private operation.
Paul Davis [Fri, 27 Nov 2015 21:41:26 +0000 (16:41 -0500)]
faderport: shift+encoder controls pan width (for ardour only), input trim now controlled by user+encoder.
User is now a modifier key
Paul Davis [Fri, 27 Nov 2015 21:34:01 +0000 (16:34 -0500)]
faderport: basic panning via encoder knob.
Doesn't help with 2=>2 panner, where width control is also required
Paul Davis [Fri, 27 Nov 2015 15:22:01 +0000 (10:22 -0500)]
fadeport: make fader touch work
Len Ovens [Thu, 26 Nov 2015 14:55:25 +0000 (06:55 -0800)]
Mackie Control: Disable Selected group in User/Selected view mode to allow individual adjustment.
Ben Loftis [Wed, 25 Nov 2015 23:33:42 +0000 (17:33 -0600)]
implement more Faderport buttons (window and fader automation). ToDo: automation LEDs, fader banking
Robin Gareus [Wed, 25 Nov 2015 23:30:35 +0000 (00:30 +0100)]
use human readable port-names in Mackie config.
Paul Davis [Wed, 25 Nov 2015 22:56:22 +0000 (17:56 -0500)]
faderport: simpler logic for master/monitor/other
When choosing master or monitor, do NOT save master or monitor as the pre_{master,monitor}_route under
any circumstances. This means that master/monitor choices do not stack, and just switch between them.
Paul Davis [Wed, 25 Nov 2015 22:32:56 +0000 (17:32 -0500)]
Merge branch 'chaot4-feature_include_more_options_in_help'
André Nusser [Wed, 25 Nov 2015 22:28:56 +0000 (23:28 +0100)]
Correct spelling of action names. Translation context for Reference.
André Nusser [Wed, 4 Nov 2015 19:28:32 +0000 (20:28 +0100)]
Add more menu entries to the 'Help' menu.
* The functions were already implemented -- I just added the links in
ardour.menu.in, corrected spelling and the link to the tracker.
* The tracker link was corrected as I considered it confusing when one
is not already logged in.
Paul Davis [Wed, 25 Nov 2015 22:20:00 +0000 (17:20 -0500)]
faderport: handle mute for monitor out by using monitor processor ops; try to blink mute button when cut-all is in effect.
Still some logic bugs when switching between master, monitor and other
Paul Davis [Wed, 25 Nov 2015 21:55:14 +0000 (16:55 -0500)]
faderport: fix odd interaction when selecting master-then-monitor or monitor-then-master and toggling back
Paul Davis [Wed, 25 Nov 2015 21:51:53 +0000 (16:51 -0500)]
faderport: fix odd interaction when selecting master-then-monitor or monitor-then-master and toggling back
Paul Davis [Wed, 25 Nov 2015 21:47:20 +0000 (16:47 -0500)]
faderport: output button is a toggle between master (or monitor) and currently used route
Paul Davis [Wed, 25 Nov 2015 21:34:11 +0000 (16:34 -0500)]
faderport: enable "Output" button to select master out (or, with Shift, monitor out if it exists) as the target route
Ben Loftis [Wed, 25 Nov 2015 20:52:58 +0000 (14:52 -0600)]
handle encoder changes. shift+knob = input trim. ToDo: panner control
Paul Davis [Wed, 25 Nov 2015 18:36:52 +0000 (13:36 -0500)]
cruft removal from faderport code
Paul Davis [Wed, 25 Nov 2015 18:22:35 +0000 (13:22 -0500)]
faderport: implement fader support
Robin Gareus [Wed, 25 Nov 2015 18:07:57 +0000 (19:07 +0100)]
restore measured Insert latency
(XML underscore vs dash)
Paul Davis [Wed, 25 Nov 2015 17:37:29 +0000 (12:37 -0500)]
faderport: track GUI selection, use first selected route; implement mute, solo, rec
Robin Gareus [Wed, 25 Nov 2015 15:36:37 +0000 (16:36 +0100)]
check for itstool (>= 1.0.4, -j option)
Paul Davis [Wed, 25 Nov 2015 12:35:50 +0000 (07:35 -0500)]
faderport: put back the working version of operations.cc
Ben Loftis [Wed, 25 Nov 2015 05:37:49 +0000 (23:37 -0600)]
stub file to enable nightly builds
Paul Davis [Wed, 25 Nov 2015 04:41:10 +0000 (23:41 -0500)]
faderport: more global button functions added
Paul Davis [Wed, 25 Nov 2015 04:40:54 +0000 (23:40 -0500)]
add goto_zero() function for BasicUI
Paul Davis [Wed, 25 Nov 2015 04:31:29 +0000 (23:31 -0500)]
faderport: more interesting behaviour for the play button (locate to last start if pressed while rolling, then keep rolling)
Paul Davis [Wed, 25 Nov 2015 04:29:03 +0000 (23:29 -0500)]
clarify a DEBUG_TRACE remark
Paul Davis [Wed, 25 Nov 2015 04:27:55 +0000 (23:27 -0500)]
faderport: make loop, prev marker, next marker and marker buttons do stuff
Paul Davis [Wed, 25 Nov 2015 04:20:39 +0000 (23:20 -0500)]
add debug "bits" for FaderPort
Paul Davis [Wed, 25 Nov 2015 04:13:02 +0000 (23:13 -0500)]
faderport: allow forcing LED state for use in ::all_lights_out()
Paul Davis [Wed, 25 Nov 2015 04:06:19 +0000 (23:06 -0500)]
faderport: fix modifiers for rewind, stop, undo etc ; listen to session transport signals and display state with button LEDs; add blinking
Paul Davis [Wed, 25 Nov 2015 03:32:40 +0000 (22:32 -0500)]
fadeport: restructure button info actions to allow modifiers (shift, rewind, stop) and set up undo and shift-undo (redo)
Paul Davis [Wed, 25 Nov 2015 02:41:44 +0000 (21:41 -0500)]
give the faderport its own thread and event loop, rather than riding on the back of the MIDI UI thread in libardour
Paul Davis [Wed, 25 Nov 2015 02:10:22 +0000 (21:10 -0500)]
faderport: after connecting, turn off all lights, then party with them, then turn them all off
Paul Davis [Wed, 25 Nov 2015 02:02:18 +0000 (21:02 -0500)]
add some faderport infrastructure for button handling, and bind up the transport functions to their obvious methods
Paul Davis [Wed, 25 Nov 2015 01:12:01 +0000 (20:12 -0500)]
namespace and filename cleanup
Robin Gareus [Tue, 24 Nov 2015 23:55:41 +0000 (00:55 +0100)]
Prevent crash at session-close when analysing.
The Analyser only holds a weak-pointer the the Source,
session-destruction frees the actual Source, which is fatal for any
ongoing audio analysis.
This fix simply waits for the current ongoing analysis to complete,
ideally TransientDetector::run, EBUr128Analysis::run, OnsetDetector::run
and AudioAnalyser::analyse could be interrupted.
Alternate option: cancel the Analyser::work thread (and re-create with
the every session).
Paul Davis [Tue, 24 Nov 2015 23:20:24 +0000 (18:20 -0500)]
remove debugging output
Paul Davis [Tue, 24 Nov 2015 23:20:07 +0000 (18:20 -0500)]
create data structure to handle the fact that faderport firmware 1.38 uses different button IDs for input and output (!!!)
Paul Davis [Tue, 24 Nov 2015 23:00:11 +0000 (18:00 -0500)]
get faderport i/o working, basics of identifying control activity
Ben Loftis [Tue, 24 Nov 2015 20:17:25 +0000 (14:17 -0600)]
rough-in for faderport protocol backend
Robin Gareus [Tue, 24 Nov 2015 17:58:11 +0000 (18:58 +0100)]
prevent concurrent peak-file init.
When embedding external files. the same file is queued twice for peak-file
generation. Since there are two peak_thread_work threas in SourceFactory,
this can lead to inconsistent/missing peaks.
TODO: fix the actual cause, duplicate call to setup_peakfile():
#0 ARDOUR::SourceFactory::setup_peakfile (s=..., async=true) at ../libs/ardour/source_factory.cc:116
#1 0x00007ffff6c2552f in ARDOUR::SourceFactory::createExternal (type=..., s=..., path="/tmp/CB_bass_Track08.wav", chn=0, flags=(unknown: 0), announce=true, defer_peaks=true)
at ../libs/ardour/source_factory.cc:254
#2 0x0000000000886f50 in Editor::embed_sndfiles (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, multifile=false, check_sample_rate=@0x7fffffffc2df: true,
disposition=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack, pos=@0x7fffffffc458: -1, target_regions=1, target_tracks=-1, track=..., instrument=...)
at ../gtk2_ardour/editor_audio_import.cc:630
#3 0x0000000000885c7c in Editor::do_embed (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, import_as=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack,
pos=@0x7fffffffc458: -1, instrument=...) at ../gtk2_ardour/editor_audio_import.cc:414
#4 0x0000000000e93aeb in SoundFileOmega::do_something (this=0x490f530, action=-5) at ../gtk2_ardour/sfdb_ui.cc:1983
#0 ARDOUR::SourceFactory::setup_peakfile (s=..., async=true) at ../libs/ardour/source_factory.cc:116
#1 0x0000000000888954 in Editor::add_sources (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, sources=std::vector of length 1, capacity 1 = {...},
pos=@0x7fffffffc458: 0, disposition=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack, target_regions=1, target_tracks=-1, track=..., instrument=...)
at ../gtk2_ardour/editor_audio_import.cc:883
#2 0x0000000000887131 in Editor::embed_sndfiles (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, multifile=false, check_sample_rate=@0x7fffffffc2df: true,
disposition=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack, pos=@0x7fffffffc458: 0, target_regions=1, target_tracks=-1, track=..., instrument=...)
at ../gtk2_ardour/editor_audio_import.cc:653
#3 0x0000000000885c7c in Editor::do_embed (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, import_as=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack,
pos=@0x7fffffffc458: 0, instrument=...) at ../gtk2_ardour/editor_audio_import.cc:414
#4 0x0000000000e93aeb in SoundFileOmega::do_something (this=0x490f530, action=-5) at ../gtk2_ardour/sfdb_ui.cc:1983
Paul Davis [Tue, 24 Nov 2015 13:45:04 +0000 (08:45 -0500)]
update configure time tests and code to use libsndfile 1.0.26's version of the R64 auto-downgrade-to-WAV code
Robin Gareus [Mon, 23 Nov 2015 21:52:47 +0000 (22:52 +0100)]
git ignore appdata translation(s)
Robin Gareus [Mon, 23 Nov 2015 21:44:13 +0000 (22:44 +0100)]
prefer recently used states.
Robin Gareus [Mon, 23 Nov 2015 20:44:13 +0000 (21:44 +0100)]
restore last used driver+devices for a given backend.
Paul Davis [Mon, 23 Nov 2015 17:26:23 +0000 (12:26 -0500)]
allow use of (N)RPN messages in generic MIDI binding maps (UNTESTED)
Paul Davis [Mon, 23 Nov 2015 17:25:59 +0000 (12:25 -0500)]
more corrections for libmidi++ (N)RPN API
Robin Gareus [Mon, 23 Nov 2015 17:11:06 +0000 (18:11 +0100)]
keep track of meter visibility - fixes #6685
Paul Davis [Mon, 23 Nov 2015 16:49:08 +0000 (11:49 -0500)]
change API for libmidi++ RPN-related signals to be more useful
Paul Davis [Mon, 23 Nov 2015 15:44:40 +0000 (10:44 -0500)]
add (N)RPN handling to libmidi++
Paul Davis [Mon, 23 Nov 2015 13:44:28 +0000 (08:44 -0500)]
Merge branch 'trebmuh-patch-1'
trebmuh [Thu, 19 Nov 2015 22:06:26 +0000 (23:06 +0100)]
Update fr.po
one more fix
trebmuh [Wed, 18 Nov 2015 22:44:05 +0000 (23:44 +0100)]
Update fr.po
+1 small fix
trebmuh [Tue, 17 Nov 2015 22:56:11 +0000 (23:56 +0100)]
Update fr.po
all right now
trebmuh [Tue, 17 Nov 2015 22:51:18 +0000 (23:51 +0100)]
Update fr.po
French updates.
Paul Davis [Mon, 23 Nov 2015 13:43:32 +0000 (08:43 -0500)]
Merge branch 'nphilipp-master--build-fix'
Nils Philippsen [Mon, 23 Nov 2015 12:52:14 +0000 (13:52 +0100)]
make copies of global lists before extending
Not doing so can make source or object files appear multiple times in
the list of files to be compiled or linked, e.g. when doing './waf build
install', subsequently leading to linker errors.
Paul Davis [Mon, 23 Nov 2015 13:42:23 +0000 (08:42 -0500)]
Merge branch 'nphilipp-master--nphilipp'
Nils Philippsen [Mon, 23 Nov 2015 12:49:41 +0000 (13:49 +0100)]
AppData: do the right thing on './waf clean'
Nils Philippsen [Fri, 6 Nov 2015 16:06:58 +0000 (17:06 +0100)]
AppData: Add German translation.
Nils Philippsen [Fri, 6 Nov 2015 15:59:46 +0000 (16:59 +0100)]
Add project version to AppData file.
Nils Philippsen [Fri, 6 Nov 2015 15:57:39 +0000 (16:57 +0100)]
Implement translation of AppData file.
Use the ITS rules file from KDE for itstool:
https://websvn.kde.org/trunk/l10n-kf5/scripts/as-metainfo.its?revision=
1395611&view=markup
Nils Philippsen [Mon, 26 Oct 2015 10:04:06 +0000 (11:04 +0100)]
Add an AppData file.
This file gets used by GNOME Software to present an application to users
so they can install it from a software repository.
Robin Gareus [Sat, 21 Nov 2015 21:45:43 +0000 (22:45 +0100)]
cont'd
20262abe (GUI to keep all playlists)
Robin Gareus [Sat, 21 Nov 2015 21:45:26 +0000 (22:45 +0100)]
cont'd
20262abe (keep all playlists)
Robin Gareus [Sat, 21 Nov 2015 20:12:17 +0000 (21:12 +0100)]
GUI support for "Delete All Unused" playlists.
Robin Gareus [Sat, 21 Nov 2015 20:11:45 +0000 (21:11 +0100)]
prepare "delete all playlists" cleanup option
Robin Gareus [Sat, 21 Nov 2015 18:47:01 +0000 (19:47 +0100)]
update editor-mixer frozen state - fixes #6689
Robin Gareus [Sat, 21 Nov 2015 17:36:05 +0000 (18:36 +0100)]
fix playlist refcount on track un-freeze.
Robin Gareus [Sat, 21 Nov 2015 10:09:51 +0000 (11:09 +0100)]
remove cruft
Ben Loftis [Fri, 20 Nov 2015 22:03:38 +0000 (16:03 -0600)]
add mixbus profile checks to prefs panel, to simplify future merges
Robin Gareus [Fri, 20 Nov 2015 21:57:13 +0000 (22:57 +0100)]
prevent deletion of playlists on frozen tracks:
bug:
1) freeze a track
2) Session Cleanup > Cleanup unused sources
2a) confirm playlist deletion
3) quit, reload -> track is no longer frozen
because _freeze_record.playlist is missing.
session is in an odd state.
Ben Loftis [Fri, 20 Nov 2015 21:24:47 +0000 (15:24 -0600)]
use platform-specific modifier name for tooltip
Ben Loftis [Fri, 20 Nov 2015 19:08:08 +0000 (13:08 -0600)]
Improve the layout of Preferences widgets:
Grouped "checkbox" preferences together, reducing visual clutter.
Some widget settings affected the visibility/sensitivity of other widgets.
In some cases they were not adjacent; this has been fixed.
Added some additional grouping headers.
Robin Gareus [Tue, 17 Nov 2015 11:19:18 +0000 (12:19 +0100)]
use dedicated parameter for plugin bundling
Robin Gareus [Tue, 17 Nov 2015 11:18:51 +0000 (12:18 +0100)]
refine video-export notice, incl license info.
Robin Gareus [Fri, 20 Nov 2015 10:37:42 +0000 (11:37 +0100)]
add Yamaha KX25 midi-map from Gerard Aberkrom
Robin Gareus [Fri, 20 Nov 2015 10:14:36 +0000 (11:14 +0100)]
immediately show plugin GUI if only one plugin is instantiated
Robin Gareus [Fri, 20 Nov 2015 02:21:57 +0000 (03:21 +0100)]
session-load: default to most-recently-used snapshot