ardour.git
8 years agofix previous commit.
Robin Gareus [Mon, 7 Dec 2015 23:52:06 +0000 (00:52 +0100)]
fix previous commit.

8 years agoportaudio connect & graph-changed callbacks (untested)
Robin Gareus [Mon, 7 Dec 2015 23:36:09 +0000 (00:36 +0100)]
portaudio connect & graph-changed callbacks (untested)

8 years agoMCU: fix likely copypaste thinko in mcu panner knobs
Ben Loftis [Mon, 7 Dec 2015 23:29:10 +0000 (17:29 -0600)]
MCU:  fix likely copypaste thinko in mcu panner knobs

8 years agoa shot in the dark to work-around windows file-import limit.
Robin Gareus [Mon, 7 Dec 2015 23:28:45 +0000 (00:28 +0100)]
a shot in the dark to work-around windows file-import limit.

When importing to new tracks, newly created tracks are selected

Editor::track_selection_changed()
-> SoundFileOmega::reset()
-> SoundFileOmega::reset_options()
-> check_info() fails ->  Glib::signal_idle() error message.

it is unclear why check_info would fail in this case since it
worked in the first place..  best guess: a concurrency issue
opening the file.

8 years agoFix zooming via ctrl+scroll in midi regions when note is selected.
André Nusser [Fri, 9 Oct 2015 13:53:50 +0000 (15:53 +0200)]
Fix zooming via ctrl+scroll in midi regions when note is selected.

8 years agoMerge branch 'chaot4-bug_6129'
Paul Davis [Mon, 7 Dec 2015 22:57:07 +0000 (17:57 -0500)]
Merge branch 'chaot4-bug_6129'

8 years agoMake rows selectable in the theme manager. Fixes #6129.
André Nusser [Sun, 6 Dec 2015 15:34:34 +0000 (16:34 +0100)]
Make rows selectable in the theme manager. Fixes #6129.

This makes it easier to link an Object to a Color.

8 years agothe variable used to define GTK2 RC files is GTK2_RC_FILES not GTK_RC_FILES (it was...
Paul Davis [Mon, 7 Dec 2015 17:38:11 +0000 (12:38 -0500)]
the variable used to define GTK2 RC files is GTK2_RC_FILES not GTK_RC_FILES (it was changed in GTK+ back in 2002

8 years agoadjust generic MIDI surface support to (1) properly use boost::shared_ptr<Port> ...
Paul Davis [Mon, 7 Dec 2015 17:04:23 +0000 (12:04 -0500)]
adjust generic MIDI surface support to (1) properly use boost::shared_ptr<Port> (2) detect connection changes

8 years agoremove unnecessary (?) conditional.
Paul Davis [Mon, 7 Dec 2015 17:03:32 +0000 (12:03 -0500)]
remove unnecessary (?) conditional.

Given that we use "port" after the test, the test makes no sense

8 years agochange API for accessing session MIDI ports so that (1) boost::shared_ptr<> is used...
Paul Davis [Mon, 7 Dec 2015 17:02:42 +0000 (12:02 -0500)]
change API for accessing session MIDI ports so that (1) boost::shared_ptr<> is used all the time (2) we avoid using multiple functions to return different subclass versions of some ports

8 years agoDrag - Don't snap _last_pointer_frame when leaving autoscroll.
nick_m [Mon, 7 Dec 2015 17:34:28 +0000 (04:34 +1100)]
Drag - Don't snap _last_pointer_frame when leaving autoscroll.

8 years agoUse correct position when finishing tempo and meter marker drags.
nick_m [Mon, 7 Dec 2015 17:31:59 +0000 (04:31 +1100)]
Use correct position when finishing tempo and meter marker drags.

8 years agoDon't snap twice when moving regions.
nick_m [Mon, 7 Dec 2015 16:36:53 +0000 (03:36 +1100)]
Don't snap twice when moving regions.

8 years agounify build-script variable names
Robin Gareus [Mon, 7 Dec 2015 15:16:58 +0000 (16:16 +0100)]
unify build-script variable names

8 years agoNetBSD: Stop hardcoding Python binary name
Kamil Rytarowski [Sun, 6 Dec 2015 23:49:04 +0000 (00:49 +0100)]
NetBSD: Stop hardcoding Python binary name

Caught with pkgsrc on NetBSD

8 years agoRemove the PaddedButton widget as it broke rendering in some cases.
André Nusser [Sun, 6 Dec 2015 15:02:21 +0000 (16:02 +0100)]
Remove the PaddedButton widget as it broke rendering in some cases.

8 years agooutline a "NoSampleAccurateControl" LV2 feature:
Robin Gareus [Sun, 6 Dec 2015 12:49:16 +0000 (13:49 +0100)]
outline a "NoSampleAccurateControl" LV2 feature:

Since control-ports have a fixed value for the current process-block,
Ardour splits a plugin's run() process cycle on every automation event
to facilitate sample-accurate automation.

Since automation is interpolated between events, this ensures that each
explicit automation point is reached (not interpolated).

Plugins where this is not required and which favor a fixed block-size,
can now specify an optional Feature: NoSampleAccurateControl.

One example: a convolution plugin with smoothed gain control.

8 years agoFix inoperative keyboard modifiers when leaving autoscroll.
nick_m [Sun, 6 Dec 2015 11:33:32 +0000 (22:33 +1100)]
Fix inoperative keyboard modifiers when leaving autoscroll.

8 years agoUpdate Russian translation
Alexandre Prokoudine [Sun, 6 Dec 2015 02:08:26 +0000 (05:08 +0300)]
Update Russian translation

8 years agoAdd ellipsis at the end of "Duplicate Tracks/Busses" menu item
Alexandre Prokoudine [Sun, 6 Dec 2015 01:53:14 +0000 (04:53 +0300)]
Add ellipsis at the end of "Duplicate Tracks/Busses" menu item

8 years agoNormalize user-visible messages to use 8-bit, 16-bit, 24-bit, 32-bit and 64-bit
Alexandre Prokoudine [Sun, 6 Dec 2015 00:00:20 +0000 (01:00 +0100)]
Normalize user-visible messages to use 8-bit, 16-bit, 24-bit, 32-bit and 64-bit

8 years agoelaborate on prev. commit: ignore irrelevant files in the interchange dir.
Robin Gareus [Sat, 5 Dec 2015 15:35:41 +0000 (16:35 +0100)]
elaborate on prev. commit: ignore irrelevant files in the interchange dir.

8 years agosession-dir/interchange: ignore hidden directories.
Robin Gareus [Sat, 5 Dec 2015 15:07:45 +0000 (16:07 +0100)]
session-dir/interchange: ignore hidden directories.

8 years agoimprove itstool detection:
Robin Gareus [Sat, 5 Dec 2015 13:04:11 +0000 (14:04 +0100)]
improve itstool detection:

handle "/bin/sh: 1: itstool: not found" cases.

8 years agoJACK: expose --nperiods option
Robin Gareus [Sat, 5 Dec 2015 12:56:18 +0000 (13:56 +0100)]
JACK: expose --nperiods option

8 years agotweak GUI for backends where nperiods is driver dependent.
Robin Gareus [Sat, 5 Dec 2015 12:55:37 +0000 (13:55 +0100)]
tweak GUI for backends where nperiods is driver dependent.

8 years agofix -Wreorder
Robin Gareus [Sat, 5 Dec 2015 01:42:58 +0000 (02:42 +0100)]
fix -Wreorder

8 years agoupdate ALSA backend: separate playback/capture periods
Robin Gareus [Fri, 4 Dec 2015 23:46:36 +0000 (00:46 +0100)]
update ALSA backend: separate playback/capture periods

fixed: 2 for capture,  configurable 2,3 for playback.

8 years agoGUI chores to show nperiods option.
Robin Gareus [Sat, 5 Dec 2015 00:32:56 +0000 (01:32 +0100)]
GUI chores to show nperiods option.

8 years agomore Faderport debugging, for windows
Ben Loftis [Sat, 5 Dec 2015 00:11:05 +0000 (18:11 -0600)]
more Faderport debugging, for windows

8 years agoremove spurious printout
Ben Loftis [Fri, 4 Dec 2015 23:32:14 +0000 (17:32 -0600)]
remove spurious printout

8 years agoALSA: allow to dynamically add/remove midi devices & update their latency.
Robin Gareus [Fri, 4 Dec 2015 21:19:47 +0000 (22:19 +0100)]
ALSA: allow to dynamically add/remove midi devices & update their latency.

8 years agoALSA: allow to measure & set systemic audio latency w/o restart.
Robin Gareus [Fri, 4 Dec 2015 16:45:49 +0000 (17:45 +0100)]
ALSA: allow to measure & set systemic audio latency w/o restart.

(MIDI needs a bit more work)

8 years agoGUI handling for live latency-measurement
Robin Gareus [Fri, 4 Dec 2015 16:34:46 +0000 (17:34 +0100)]
GUI handling for live latency-measurement

8 years agoupdate engine to allow latency measurement w/o restart.
Robin Gareus [Fri, 4 Dec 2015 16:09:41 +0000 (17:09 +0100)]
update engine to allow latency measurement w/o restart.

8 years agoadd interface for latency updates w/o restarting the backend
Robin Gareus [Fri, 4 Dec 2015 16:08:45 +0000 (17:08 +0100)]
add interface for latency updates w/o restarting the backend

This is useful for USB devices. Since there is a ringbuffer in the driver
(common on ALSA but also other platforms) to align the USB stream with
USB bus timing the latency can differ every time the device is re-opened.

8 years agoremove duplicate check (same is done few lines above)
Robin Gareus [Fri, 4 Dec 2015 16:05:21 +0000 (17:05 +0100)]
remove duplicate check (same is done few lines above)

8 years agofix thinko in engine latency state
Robin Gareus [Fri, 4 Dec 2015 11:45:53 +0000 (12:45 +0100)]
fix thinko in engine latency state

(skip Halted signal when stopped for latency)

8 years agoMake the duplicate routes dialog look a little nicer.
André Nusser [Thu, 3 Dec 2015 20:13:45 +0000 (21:13 +0100)]
Make the duplicate routes dialog look a little nicer.

8 years agoRemove "Fill Range with Region" from menu and also its function.
André Nusser [Fri, 4 Dec 2015 10:37:55 +0000 (11:37 +0100)]
Remove "Fill Range with Region" from menu and also its function.

8 years agoimplement ALSA period/cycle setting
Robin Gareus [Fri, 4 Dec 2015 09:15:55 +0000 (10:15 +0100)]
implement ALSA period/cycle setting

8 years agoadd an interface to select playback buffers/period
Robin Gareus [Fri, 4 Dec 2015 09:04:22 +0000 (10:04 +0100)]
add an interface to select playback buffers/period

8 years agodo not show control surface bundles in non-MIDI port matrix.
Paul Davis [Fri, 4 Dec 2015 03:01:07 +0000 (22:01 -0500)]
do not show control surface bundles in non-MIDI port matrix.

This will stop being the right thing to do if anyone ever creates a control protocol that
uses audio ports.

8 years agofaderport: show current User button bindings in GUI
Paul Davis [Fri, 4 Dec 2015 02:45:41 +0000 (21:45 -0500)]
faderport: show current User button bindings in GUI

8 years agofaderport: fix long press behaviour, and fix ardour-only behaviour with user button...
Paul Davis [Thu, 3 Dec 2015 23:38:09 +0000 (18:38 -0500)]
faderport: fix long press behaviour, and fix ardour-only behaviour with user button when used as a modifier

8 years agoMerge branch 'chaot4-fix_crop_region_to_range_2'
Paul Davis [Thu, 3 Dec 2015 17:57:08 +0000 (12:57 -0500)]
Merge branch 'chaot4-fix_crop_region_to_range_2'

8 years agoFix "Crop Region to Range" -- second attempt.
André Nusser [Thu, 3 Dec 2015 17:45:47 +0000 (18:45 +0100)]
Fix "Crop Region to Range" -- second attempt.

8 years agomake faderport support report its port bundles as it should
Paul Davis [Thu, 3 Dec 2015 17:44:21 +0000 (12:44 -0500)]
make faderport support report its port bundles as it should

8 years agofurther improvements to port grouping for the port matrix
Paul Davis [Thu, 3 Dec 2015 17:43:54 +0000 (12:43 -0500)]
further improvements to port grouping for the port matrix

Don't show LTC etc. ports in the MIDI matrix; Don't show Scene ports for Ardour or Mixbus, since we don't use them; code renaming

8 years agofix mis-assignment of various Ports when constructing the PortGroup list for the...
Paul Davis [Thu, 3 Dec 2015 16:49:18 +0000 (11:49 -0500)]
fix mis-assignment of various Ports when constructing the PortGroup list for the (e.g.) PortMatrix

8 years agodisable pthread-w32 semaphores for now
Robin Gareus [Thu, 3 Dec 2015 17:41:57 +0000 (18:41 +0100)]
disable pthread-w32 semaphores for now

Two major changes: semaphore AND callback based portaudio on one day
are not great for testing.

8 years agofaderport: generalized blink on/off code
Paul Davis [Thu, 3 Dec 2015 13:36:56 +0000 (08:36 -0500)]
faderport: generalized blink on/off code

8 years agoRevert "somewhat different approach to telling the user how to edit control protocol...
Paul Davis [Thu, 3 Dec 2015 13:27:56 +0000 (08:27 -0500)]
Revert "somewhat different approach to telling the user how to edit control protocol settings"

This reverts commit 4eb161cd4cf55841b7d0d93ca54e8d5706f46232.

8 years agoRevert "NO-OP: remove cruft"
Paul Davis [Thu, 3 Dec 2015 13:27:47 +0000 (08:27 -0500)]
Revert "NO-OP: remove cruft"

This reverts commit 5facfc113de7da94a9cab2b6cb274155b5dcb39e.

8 years agoFaderport: Punch indictor was being left on after blinking
Ben Loftis [Thu, 3 Dec 2015 13:19:09 +0000 (07:19 -0600)]
Faderport:  Punch indictor was being left on after blinking

8 years agonetbsd: Fix unportable shell construct
Kamil Rytarowski [Thu, 3 Dec 2015 11:19:34 +0000 (12:19 +0100)]
netbsd: Fix unportable shell construct

Caught with pkgsrc on NetBSD

8 years agoNO-OP: remove cruft
Paul Davis [Thu, 3 Dec 2015 04:39:41 +0000 (23:39 -0500)]
NO-OP: remove cruft

8 years agosomewhat different approach to telling the user how to edit control protocol settings
Paul Davis [Thu, 3 Dec 2015 04:30:57 +0000 (23:30 -0500)]
somewhat different approach to telling the user how to edit control protocol settings

We can't put an actual button in a cell of a Tree/ListView, so we put some bolded-up text there and hope
that this is more obvious than anything we've tried to date (including Ben's recent attempt)

8 years agoFaderport: map automation indicator LEDs
Ben Loftis [Thu, 3 Dec 2015 02:06:29 +0000 (20:06 -0600)]
Faderport: map automation indicator LEDs

8 years agoGenericMidi: Partially working IO selectors.
Ben Loftis [Thu, 3 Dec 2015 00:31:43 +0000 (18:31 -0600)]
GenericMidi:  Partially working IO selectors.

2 remaining problems:
*  IO selectors are not updated if you change the connection outside the dialog.
*  occasional crash on the next startup, after a connection is made from the menu.

8 years agouse explicit button to show the protocol editor; users reported they did not see...
Ben Loftis [Wed, 2 Dec 2015 17:59:10 +0000 (11:59 -0600)]
use explicit button to show the protocol editor; users reported they did not see the double-click text.  maybe this will help?

8 years agoEnable horizontal scrolling in midi regions when note is selected.
André Nusser [Fri, 9 Oct 2015 14:14:15 +0000 (16:14 +0200)]
Enable horizontal scrolling in midi regions when note is selected.

The shortcut for 'change velocities together' had to be changed to
achieve that. The new shortcut is now primary+tertiary modifier +scroll,
i.e. ctrl+shift+scroll for the default keys.

8 years agofaderport: a clever hack to make the Shift modifier "sticky"
Paul Davis [Wed, 2 Dec 2015 22:40:58 +0000 (17:40 -0500)]
faderport: a clever hack to make the Shift modifier "sticky"

The user can now press+release Shift, then another key OR press Shift, then another key before releasing Shift. Both
event sequences will have the same result

8 years agofix double template syntax
Paul Davis [Wed, 2 Dec 2015 21:58:58 +0000 (16:58 -0500)]
fix double template syntax

8 years agoadd session safeguards to OSC callbacks
Robin Gareus [Wed, 2 Dec 2015 21:40:36 +0000 (22:40 +0100)]
add session safeguards to OSC callbacks

8 years agoCleanup to make it coding style compliant.
Johannes Mueller [Tue, 17 Nov 2015 17:05:39 +0000 (18:05 +0100)]
Cleanup to make it coding style compliant.

8 years agoAdd support to signal the transport state by OSC
Johannes Mueller [Fri, 13 Nov 2015 06:49:13 +0000 (07:49 +0100)]
Add support to signal the transport state by OSC

Implement transport_speed in the same style like transport_frame. Up to
now transport_speed and record_enabled are implemented.

8 years agoMerge branch 'chaot4-fix_scrolling_midi_region_head'
Paul Davis [Wed, 2 Dec 2015 20:02:56 +0000 (15:02 -0500)]
Merge branch 'chaot4-fix_scrolling_midi_region_head'

8 years agoDisable scrolling in the dropdown menus of midi region heads.
André Nusser [Sat, 10 Oct 2015 23:32:13 +0000 (01:32 +0200)]
Disable scrolling in the dropdown menus of midi region heads.

Instead pass it to the canvas as proposed by x42 in #6143.

8 years agoMerge branch 'chaot4-fix_fill_track'
Paul Davis [Wed, 2 Dec 2015 19:59:55 +0000 (14:59 -0500)]
Merge branch 'chaot4-fix_fill_track'

8 years agoFix "Fill Track".
André Nusser [Thu, 26 Nov 2015 16:26:43 +0000 (17:26 +0100)]
Fix "Fill Track".

It now behaves like Multi-Duplicate until the end marker. The end
marker is excluded as this would often lead to size 1 regions.

8 years agoAdd function to duplicate until a certain frame.
André Nusser [Thu, 26 Nov 2015 16:25:13 +0000 (17:25 +0100)]
Add function to duplicate until a certain frame.

This excludes the 'end' frame.

8 years agoFix "Crop Region to Range".
André Nusser [Thu, 26 Nov 2015 12:27:17 +0000 (13:27 +0100)]
Fix "Crop Region to Range".

Before only regions that contained the start of the range were cropped,
now all are cropped.

8 years agorename ProcessSemaphore to Semaphore (UI)
Robin Gareus [Wed, 2 Dec 2015 19:19:07 +0000 (20:19 +0100)]
rename ProcessSemaphore to Semaphore (UI)

8 years agorename ProcessSemaphore to Semaphore (libs)
Robin Gareus [Wed, 2 Dec 2015 19:18:48 +0000 (20:18 +0100)]
rename ProcessSemaphore to Semaphore (libs)

8 years agoconsolidate semaphore implementation (part four)
Robin Gareus [Wed, 2 Dec 2015 15:27:14 +0000 (16:27 +0100)]
consolidate semaphore implementation (part four)

8 years agoconsolidate semaphore implementation (part three)
Robin Gareus [Wed, 2 Dec 2015 15:09:51 +0000 (16:09 +0100)]
consolidate semaphore implementation (part three)

8 years agoconsolidate semaphore implementation (part two)
Robin Gareus [Wed, 2 Dec 2015 15:08:53 +0000 (16:08 +0100)]
consolidate semaphore implementation (part two)

8 years agoconsolidate semaphore implementation (part one)
Robin Gareus [Wed, 2 Dec 2015 15:03:28 +0000 (16:03 +0100)]
consolidate semaphore implementation (part one)

8 years agofix pthread-windows semaphore detection
Robin Gareus [Wed, 2 Dec 2015 14:07:33 +0000 (15:07 +0100)]
fix pthread-windows semaphore detection

8 years agoprefer pthread-semaphores (posix API) with mingw
Robin Gareus [Wed, 2 Dec 2015 12:38:59 +0000 (13:38 +0100)]
prefer pthread-semaphores (posix API) with mingw

Hopefully this resolves glitches on hyperthreading machines.
Apart from using unnamed Semaphores, pthread-w32 includes additional locks
(guess: mem-barriers), a fallback implementation and windows-specific
tricks that I'd rather not want to know about :)

8 years agoFix latency compensation for audio data in portaudio backend
Tim Mayberry [Mon, 30 Nov 2015 09:21:58 +0000 (19:21 +1000)]
Fix latency compensation for audio data in portaudio backend

For drivers that correctly report latency values(ASIO) this should result a
much closer alignment of audio in a loopback test. Measurement and
adjustment may still be needed, especially for non-ASIO drivers.

Testing with the RME HDSP Multiface and Yamaha AG06 using ASIO drivers results
in maximum offset of a couple of samples.

8 years agoUse portaudio callback API by default in portaudio backend
Tim Mayberry [Mon, 30 Nov 2015 04:01:06 +0000 (14:01 +1000)]
Use portaudio callback API by default in portaudio backend

8 years agoRename member variables in Portaudio Backend for consistency
Tim Mayberry [Mon, 30 Nov 2015 08:24:34 +0000 (18:24 +1000)]
Rename member variables in Portaudio Backend for consistency

8 years agoRename blocking process function in portaudio backend
Tim Mayberry [Mon, 30 Nov 2015 04:25:42 +0000 (14:25 +1000)]
Rename blocking process function in portaudio backend

8 years agoRename blocking thread function in portaudio backend
Tim Mayberry [Mon, 30 Nov 2015 04:21:26 +0000 (14:21 +1000)]
Rename blocking thread function in portaudio backend

8 years agofix typo in variable name
Robin Gareus [Tue, 1 Dec 2015 23:59:32 +0000 (00:59 +0100)]
fix typo in variable name

8 years agomerge from mixbus branch.
Robin Gareus [Tue, 1 Dec 2015 23:55:01 +0000 (00:55 +0100)]
merge from mixbus branch.

keep control surfaces special cases upstream.

8 years agofaderport: factor out encoder divider into a const double
Paul Davis [Tue, 1 Dec 2015 23:47:29 +0000 (18:47 -0500)]
faderport: factor out encoder divider into a const double

8 years agofaderport: make punch button LED indicate punch status
Paul Davis [Tue, 1 Dec 2015 23:45:43 +0000 (18:45 -0500)]
faderport: make punch button LED indicate punch status

8 years agofaderport: change panning dividers to give full range across very roughly 270 degrees...
Paul Davis [Tue, 1 Dec 2015 23:32:55 +0000 (18:32 -0500)]
faderport: change panning dividers to give full range across very roughly 270 degrees of rotation

8 years agostart tweaks to make Shift sticky; remove Shift-press combobox from gui since we...
Paul Davis [Tue, 1 Dec 2015 21:19:16 +0000 (16:19 -0500)]
start tweaks to make Shift sticky; remove Shift-press combobox from gui since we don't allow that to be bound (next-marker)

8 years agofaderport: switch long-press mechanism to a timeout
Paul Davis [Tue, 1 Dec 2015 18:15:38 +0000 (13:15 -0500)]
faderport: switch long-press mechanism to a timeout

This makes the long press action fire after the timeout even if the user is still holding the button,
which feels more satisfactory

8 years agofaderport: allow User button to be bound to ANY possible action.
Paul Davis [Tue, 1 Dec 2015 16:20:09 +0000 (11:20 -0500)]
faderport: allow User button to be bound to ANY possible action.

This does involve nagivating some really gnarly menus, which is unfortunate, but we don't have a good general
solution for this yet (it is fundamentally the same problem that affects the key binding editor and Mackie support

8 years agofaderport: add punch action
Paul Davis [Tue, 1 Dec 2015 15:35:30 +0000 (10:35 -0500)]
faderport: add punch action

8 years agofaderport: GUI tweaks
Paul Davis [Tue, 1 Dec 2015 15:31:29 +0000 (10:31 -0500)]
faderport: GUI tweaks

8 years agotweak control surface config window title
Paul Davis [Tue, 1 Dec 2015 15:31:18 +0000 (10:31 -0500)]
tweak control surface config window title

8 years agofix AU preset list
Robin Gareus [Tue, 1 Dec 2015 14:15:02 +0000 (15:15 +0100)]
fix AU preset list

Don't require user-presets to be present in order to include
factory presets

8 years agoremove "medium-length" press concept from faderport code and GUI
Paul Davis [Tue, 1 Dec 2015 14:23:02 +0000 (09:23 -0500)]
remove "medium-length" press concept from faderport code and GUI