ardour.git
7 years agoRevert "update lua script to follow API change (bb459a2e7d)"
Robin Gareus [Thu, 10 Nov 2016 16:32:03 +0000 (17:32 +0100)]
Revert "update lua script to follow API change (bb459a2e7d)"

This reverts commit f09e9347e140d8b0151dd1bf1b5f91e473674699.
because the new-midi branch wasn't merged, yet

7 years ago#include <ardour/midi_cursor.h> in a couple of places
John Emmas [Thu, 10 Nov 2016 12:20:53 +0000 (12:20 +0000)]
#include <ardour/midi_cursor.h> in a couple of places

I'm not entirely sure why it's needed in 'smf_source.cc' but MSVC fails to link the compiled module if I don't #include it ?!?

7 years agoUse better debug output in PortaudioBackend
Tim Mayberry [Thu, 10 Nov 2016 01:41:19 +0000 (11:41 +1000)]
Use better debug output in PortaudioBackend

When failing to open audio stream in callback mode

7 years agoFix for conflicting definition of _xgetbv with mingw-w64 >= 5
Tim Mayberry [Fri, 14 Oct 2016 02:35:05 +0000 (12:35 +1000)]
Fix for conflicting definition of _xgetbv with mingw-w64 >= 5

Simplify the #ifdef logic so it is easier to follow and add exceptions in the
future if necessary.

7 years agoCheck and link to the pangoft2 module with a mingw build if it exists
Tim Mayberry [Fri, 14 Oct 2016 01:30:45 +0000 (11:30 +1000)]
Check and link to the pangoft2 module with a mingw build if it exists

This is necessary when pango has been built without all modules included as
bundle_env_mingw.cc uses a function from the pango module and results a linker
error:

bundle_env_mingw.cc:114: undefined reference to `pango_ft2_font_map_get_type'

Minimum pango version is taken from the official build scripts.

7 years agoAdd AU support for output-channel/bus grouping
Robin Gareus [Thu, 10 Nov 2016 04:02:31 +0000 (05:02 +0100)]
Add AU support for output-channel/bus grouping

7 years agodon't ship fan-out instrument lua script (but keep it as example)
Robin Gareus [Thu, 10 Nov 2016 03:54:42 +0000 (04:54 +0100)]
don't ship fan-out instrument lua script (but keep it as example)

7 years agoC++ implementation of fan_out_instrument.lua
Robin Gareus [Thu, 10 Nov 2016 03:54:03 +0000 (04:54 +0100)]
C++ implementation of fan_out_instrument.lua

7 years agoNO-OP, explanatory comments
Robin Gareus [Thu, 10 Nov 2016 00:45:00 +0000 (01:45 +0100)]
NO-OP, explanatory comments

7 years agoprototype script to fan out instrument outputs to busses
Robin Gareus [Thu, 10 Nov 2016 00:30:11 +0000 (01:30 +0100)]
prototype script to fan out instrument outputs to busses

7 years agoGrow luabindings
Robin Gareus [Thu, 10 Nov 2016 00:28:21 +0000 (01:28 +0100)]
Grow luabindings

* expose Route IOs, Panner and Instrument
* add plugin + processor ChanCount
* bind IOPortDescription
* remove Port::**(Port*) API because there's no Port* but only
boost::shared_ptr<Port>

7 years agoParse PortGroups into Plugin::IOPortDescription
Robin Gareus [Wed, 9 Nov 2016 23:09:38 +0000 (00:09 +0100)]
Parse PortGroups into Plugin::IOPortDescription

7 years agoanother lua DSP example
Robin Gareus [Wed, 9 Nov 2016 11:57:57 +0000 (12:57 +0100)]
another lua DSP example

7 years agoSupport multiple readers for MIDI source/model
David Robillard [Wed, 9 Nov 2016 01:34:45 +0000 (20:34 -0500)]
Support multiple readers for MIDI source/model

Fixes the multiple reader issue #6541 properly without resorting to a
linear search kludge.

All the read state has been pulled out into a MidiCursor which the
caller is required to pass.  The playlist keeps cursors for all the
regions it is reading, any number of cursors are allowed at a time.

MidiCursor should probably be made a smarter and more fool-proof
object (and/or possibly merged with some of the other tracker/fixer
stuff) but for now I wanted to keep it simple.

7 years agoRemove dead code
David Robillard [Tue, 8 Nov 2016 18:52:44 +0000 (13:52 -0500)]
Remove dead code

7 years agoHonor VST "Synth" Category for now...
Robin Gareus [Tue, 8 Nov 2016 12:16:27 +0000 (13:16 +0100)]
Honor VST "Synth" Category for now...

..until we find a backwards compatible way to save/load effFlagsIsSynth
in the cache info files.

7 years agomake auto track naming make a bit more sense
Len Ovens [Mon, 7 Nov 2016 19:08:00 +0000 (11:08 -0800)]
make auto track naming make a bit more sense

7 years agoSet session dirty if tracks are reordered by user.
Len Ovens [Mon, 7 Nov 2016 16:29:34 +0000 (08:29 -0800)]
Set session dirty if tracks are reordered by user.

7 years agoFix LV2 state:StateChanged URI
David Robillard [Mon, 7 Nov 2016 01:27:55 +0000 (20:27 -0500)]
Fix LV2 state:StateChanged URI

7 years agoOne more piece to the moving master puzzle.
Len Ovens [Mon, 7 Nov 2016 05:59:33 +0000 (21:59 -0800)]
One more piece to the moving master puzzle.

7 years agoOSC: Fix default strip types to include Auxes.
Len Ovens [Fri, 4 Nov 2016 19:10:37 +0000 (12:10 -0700)]
OSC: Fix default strip types to include Auxes.

7 years agoFix Drifting Master hopefully for real this time.
Len Ovens [Fri, 4 Nov 2016 15:39:41 +0000 (08:39 -0700)]
Fix Drifting Master hopefully for real this time.

7 years agomake ControlProtocolManager actually handle control protocols that fail to activate
Paul Davis [Thu, 3 Nov 2016 20:23:40 +0000 (20:23 +0000)]
make ControlProtocolManager actually handle control protocols that fail to activate

7 years agofix LTC-generator 24h wraparound
Robin Gareus [Wed, 2 Nov 2016 18:24:46 +0000 (19:24 +0100)]
fix LTC-generator 24h wraparound

7 years agoprevent infinite loop when calculating tick marks on low zoom levels
Robin Gareus [Wed, 2 Nov 2016 16:54:24 +0000 (17:54 +0100)]
prevent infinite loop when calculating tick marks on low zoom levels

7 years agoupdate lua script to follow API change (bb459a2e7d)
Robin Gareus [Mon, 31 Oct 2016 14:27:14 +0000 (15:27 +0100)]
update lua script to follow API change (bb459a2e7d)

7 years agoOSC: Make Aux buses able to be separate.
Len Ovens [Mon, 31 Oct 2016 00:50:38 +0000 (17:50 -0700)]
OSC: Make Aux buses able to be separate.

7 years agoFix crash when instrument instantiation fails on track creation.
Robin Gareus [Sun, 30 Oct 2016 23:35:53 +0000 (00:35 +0100)]
Fix crash when instrument instantiation fails on track creation.

7 years agoextend Mixbus' "Safe Mode"
Robin Gareus [Sun, 30 Oct 2016 21:25:18 +0000 (22:25 +0100)]
extend Mixbus' "Safe Mode"

7 years agoFix midnam replacement:
Robin Gareus [Sun, 30 Oct 2016 20:24:26 +0000 (21:24 +0100)]
Fix midnam replacement:

Unloading before update may otherwise reset the patch to
generic midi (when the current patch is no longer available)

7 years agoremove debug output
Robin Gareus [Sun, 30 Oct 2016 16:39:47 +0000 (17:39 +0100)]
remove debug output

7 years agoUpdate prototype API (3f739738) for windows/dll compat
Robin Gareus [Sun, 30 Oct 2016 16:38:24 +0000 (17:38 +0100)]
Update prototype API (3f739738) for windows/dll compat

memory allocated by a .dll must be free()d by the given dll.

7 years agoDrop UpdateMidnam shared_ptr reference when the plugin is removed
Robin Gareus [Sun, 30 Oct 2016 16:35:21 +0000 (17:35 +0100)]
Drop UpdateMidnam shared_ptr reference when the plugin is removed

7 years agoFix moving master
Len Ovens [Sun, 30 Oct 2016 13:48:05 +0000 (06:48 -0700)]
Fix moving master

7 years agoavoid C++11 (and remove debug output)
Robin Gareus [Sun, 30 Oct 2016 03:51:31 +0000 (04:51 +0100)]
avoid C++11 (and remove debug output)

7 years agoGUI support for plugin provided midnam
Robin Gareus [Sat, 29 Oct 2016 17:28:18 +0000 (19:28 +0200)]
GUI support for plugin provided midnam

7 years agoPrototype LV2 extension for plugins to provide Midnams
Robin Gareus [Sat, 29 Oct 2016 17:21:48 +0000 (19:21 +0200)]
Prototype LV2 extension for plugins to provide Midnams

7 years agoPrepare for the day when MTAV does no longer force-override InstrumentInfo
Robin Gareus [Sat, 29 Oct 2016 17:02:33 +0000 (19:02 +0200)]
Prepare for the day when MTAV does no longer force-override InstrumentInfo

7 years agoAllow to dynamically un/load Midnam Patches
Robin Gareus [Sat, 29 Oct 2016 17:01:16 +0000 (19:01 +0200)]
Allow to dynamically un/load Midnam Patches

7 years agoAllow to construct a XML tree from a text buffer
Robin Gareus [Sat, 29 Oct 2016 15:03:34 +0000 (17:03 +0200)]
Allow to construct a XML tree from a text buffer

7 years agoFix crash with empty patch-names.
Robin Gareus [Sat, 29 Oct 2016 01:13:59 +0000 (03:13 +0200)]
Fix crash with empty patch-names.

An empty text will not produce a bounding box.

7 years agoa-fluidsynth: fix off-by one. Assign all MIDI channels if possible
Robin Gareus [Sat, 29 Oct 2016 01:11:49 +0000 (03:11 +0200)]
a-fluidsynth: fix off-by one. Assign all MIDI channels if possible

7 years agoOSC: Slow down data storm at surface refresh
Len Ovens [Sat, 29 Oct 2016 17:56:44 +0000 (10:56 -0700)]
OSC: Slow down data storm at surface refresh

7 years agoOSC: Add names/fader value to master and monitor.
Len Ovens [Sat, 29 Oct 2016 00:34:17 +0000 (17:34 -0700)]
OSC: Add names/fader value to master and monitor.

7 years agoOSC: simplify int sends too.
Len Ovens [Fri, 28 Oct 2016 22:05:40 +0000 (15:05 -0700)]
OSC: simplify int sends too.

7 years agoOSC: More simplification - floats this time.
Len Ovens [Fri, 28 Oct 2016 21:42:56 +0000 (14:42 -0700)]
OSC: More simplification - floats this time.

7 years agoOSC: simplify Global feedback (remove repetitive code)
Len Ovens [Fri, 28 Oct 2016 20:45:30 +0000 (13:45 -0700)]
OSC: simplify Global feedback (remove repetitive code)

7 years agoyet another waf/HIDAPI tweak
Robin Gareus [Thu, 27 Oct 2016 13:57:47 +0000 (15:57 +0200)]
yet another waf/HIDAPI tweak

7 years agoPrevent duplicate moves when selecting regions on shared playlists
Robin Gareus [Thu, 27 Oct 2016 01:32:59 +0000 (03:32 +0200)]
Prevent duplicate moves when selecting regions on shared playlists

selecting regions on multiple tracks which share playlists and
dragging them has various odd side-effects. This prevents the worst
of such edge-cases.

A cleaner solution would be to not allow selecting the same region
on multiple tracks at the same time in the first place.

Comments are welcome.

7 years agoFix restoration of key bindings assigned to Windows+key, bug #7037
Tim Mayberry [Sat, 1 Oct 2016 08:05:11 +0000 (18:05 +1000)]
Fix restoration of key bindings assigned to Windows+key, bug #7037

Windows key generates Mod4+Super (at least with the version of Gdk we use on
linux) so for bindings using the Windows key to work, GDK_SUPER_MASK has to be
added to modifier mask.

7 years agoDesperate hack to align master-bus on export.
Robin Gareus [Tue, 25 Oct 2016 20:33:37 +0000 (22:33 +0200)]
Desperate hack to align master-bus on export.

Another 90% solution which hopefully gives us another year :(
see comments Session::start_audio_export() for explanation.

7 years agoclean up ghost note wrt create drag.
nick_m [Tue, 25 Oct 2016 17:52:09 +0000 (04:52 +1100)]
clean up ghost note wrt create drag.

- hide ghost note when add dragging.

- new note length snaps as per ghost note start (shifted snap).

- prevent ghost note from appearing before region start.

7 years agodon't mix framepos with quarter notes when calculating _start frames.
nick_m [Mon, 24 Oct 2016 17:36:34 +0000 (04:36 +1100)]
don't mix framepos with quarter notes when calculating _start frames.

- quarter note precision is greater than the frame-based
  _position. using it as a reference may cause a rounding error
  if the region is locked to MusicTime.

- also fixes a _start position bug when trimming midi regions.

- we really need a better api for this kind of thing.

- in combination with the previous two patches, this should fix
  various missing first note issues.

7 years agomake MidiRegion::start/length_beats() const.
nick_m [Mon, 24 Oct 2016 17:15:50 +0000 (04:15 +1100)]
make MidiRegion::start/length_beats() const.

7 years agoremove unnecessary rounding from MidiSource::midi_read()
nick_m [Mon, 24 Oct 2016 17:14:14 +0000 (04:14 +1100)]
remove unnecessary rounding from MidiSource::midi_read()

- we already have start_beats, so don't try to recalculate
  something similar for the position comparison.

7 years agoexpand on existing tempo tests.
nick_m [Mon, 24 Oct 2016 17:02:58 +0000 (04:02 +1100)]
expand on existing tempo tests.

7 years agoDon't recalculate region beat position on session load, fix AudioTime thinko.
nick_m [Mon, 24 Oct 2016 16:59:13 +0000 (03:59 +1100)]
Don't recalculate region beat position on session load, fix AudioTime thinko.

7 years agoOSC fix debug logic for catchall messages
Len Ovens [Mon, 24 Oct 2016 02:00:20 +0000 (19:00 -0700)]
OSC fix debug logic for catchall messages

7 years agoOSC Accept int in first parameter in path commands as well as float.
Len Ovens [Mon, 24 Oct 2016 01:45:25 +0000 (18:45 -0700)]
OSC Accept int in first parameter in path commands as well as float.

7 years agoFix HIDAPI optional (python: False vs 'False')
Robin Gareus [Sun, 23 Oct 2016 22:51:51 +0000 (00:51 +0200)]
Fix HIDAPI optional (python: False vs 'False')

7 years agoInclude hidapi library
Robin Gareus [Sun, 23 Oct 2016 20:53:10 +0000 (22:53 +0200)]
Include hidapi library

7 years agoIntroduce "virtual" async MIDI ports
Robin Gareus [Sun, 23 Oct 2016 20:25:40 +0000 (22:25 +0200)]
Introduce "virtual" async MIDI ports

This allows to flush an async MIDI port's ringbuffer at cycle-start,
to makes its data available as "input/source" during process(), while
collecting data in the background for the next cycle.

This facilitates virtual MIDI Ports for eg. Control Surface Pads:
output from a surface, input to Ardour channels.

7 years agoNO-OP: whitespace
Robin Gareus [Sun, 23 Oct 2016 20:18:07 +0000 (22:18 +0200)]
NO-OP: whitespace

7 years agoDon't add initial points for MIDI-CC
Robin Gareus [Sun, 23 Oct 2016 12:20:48 +0000 (14:20 +0200)]
Don't add initial points for MIDI-CC

eg. import a .mid that has a CC later in the file.
Arodur wrongly added an initial point, effectively moving the event
backwards to "0" (no virgin territory)

7 years agowhen fetching MIDI ports for bundles and auto-connection, ignore control-only (and...
Paul Davis [Fri, 21 Oct 2016 20:32:46 +0000 (16:32 -0400)]
when fetching MIDI ports for bundles and auto-connection, ignore control-only (and "virtual") MIDI ports

"virtual" is a placeholder name for ALSA sequencer MIDI through ports

7 years agoremove debug output
Paul Davis [Fri, 21 Oct 2016 20:31:53 +0000 (16:31 -0400)]
remove debug output

7 years agominor code-tidying tweak - continue if port handle is null, rather than nest inside...
Paul Davis [Fri, 21 Oct 2016 20:31:16 +0000 (16:31 -0400)]
minor code-tidying tweak - continue if port handle is null, rather than nest inside conditional

7 years agovamp_audio_to_midi script now operates on a list of regions, calling qm-transcription...
Nathan Stewart [Fri, 21 Oct 2016 04:36:13 +0000 (00:36 -0400)]
vamp_audio_to_midi script now operates on a list of regions, calling qm-transcription for each region. The MIDI region holding the output is resized to the extents of the audio region list. This is because qm-transcription is a memory hog and barfs if you try to process too big a region.

7 years agoTrack Insert/Remove Time dialog:
Ben Loftis [Thu, 20 Oct 2016 21:18:19 +0000 (16:18 -0500)]
Track Insert/Remove Time dialog:
 Disambiguate "glued" -> glued-to-musical-time (MIDI) regions.
 *Users didn't know that this is necessary to operate on MIDI regions.

7 years agoTrack Insert/Remove dialog improvements:
Ben Loftis [Thu, 20 Oct 2016 19:59:48 +0000 (14:59 -0500)]
Track Insert/Remove dialog improvements:
 By default, enable glued regions and markers.
 If you are removing time, you probably want MIDI regions to move.

7 years agoTrack Add/Remove Time dialog improvements:
Ben Loftis [Thu, 20 Oct 2016 19:53:34 +0000 (14:53 -0500)]
Track Add/Remove Time dialog improvements:
 Add a clock to show the position of the edit, to remove ambiguity
 If a Range is selected, pre-fill the position and length clocks
 Clock format should default to the editor's secondary clock mode

7 years agouse new API for user-provided MIDI port information
Paul Davis [Thu, 20 Oct 2016 20:34:45 +0000 (16:34 -0400)]
use new API for user-provided MIDI port information

7 years agoinfrastructure for save/restore of MIDI port user-provided information
Paul Davis [Thu, 20 Oct 2016 20:34:06 +0000 (16:34 -0400)]
infrastructure for save/restore of MIDI port user-provided information

7 years agoGUI tweaks for MIDI port options
Paul Davis [Thu, 20 Oct 2016 15:34:26 +0000 (11:34 -0400)]
GUI tweaks for MIDI port options

7 years agotweak logic for MIDI input follows selection
Paul Davis [Thu, 20 Oct 2016 15:34:14 +0000 (11:34 -0400)]
tweak logic for MIDI input follows selection

7 years agoInsertRemoveTimeDialog initially ignores mouse edit position. also do this for distan...
nick_m [Thu, 20 Oct 2016 15:50:35 +0000 (02:50 +1100)]
InsertRemoveTimeDialog initially ignores mouse edit position. also do this for distance calculation.

7 years agobbt duration clock tweak.
nick_m [Thu, 20 Oct 2016 15:49:04 +0000 (02:49 +1100)]
bbt duration clock tweak.

7 years agoRemove some (no longer needed) source files from our MSVC project (gtk2_ardour)
John Emmas [Thu, 20 Oct 2016 15:16:27 +0000 (16:16 +0100)]
Remove some (no longer needed) source files from our MSVC project (gtk2_ardour)

7 years agoMIDI port options now tracks dynamic port register/unregister
Paul Davis [Thu, 20 Oct 2016 14:21:44 +0000 (10:21 -0400)]
MIDI port options now tracks dynamic port register/unregister

7 years agoadd mcp device files for artist series controllers
Ben Loftis [Thu, 20 Oct 2016 04:00:05 +0000 (23:00 -0500)]
add mcp device files for artist series controllers

7 years agoslight improvements in logic for midi-input-follows-selection
Paul Davis [Thu, 20 Oct 2016 03:17:39 +0000 (23:17 -0400)]
slight improvements in logic for midi-input-follows-selection

7 years agoadd PortManager::disconnect (std::string const&)
Paul Davis [Thu, 20 Oct 2016 03:17:08 +0000 (23:17 -0400)]
add PortManager::disconnect (std::string const&)

7 years agovarious tweaks to improve the preferences presentation of midi-input-follows-selection
Paul Davis [Thu, 20 Oct 2016 02:35:05 +0000 (22:35 -0400)]
various tweaks to improve the preferences presentation of midi-input-follows-selection

7 years agoneed to refill treeviews for MIDI port prefs at least once
Paul Davis [Wed, 19 Oct 2016 21:49:29 +0000 (17:49 -0400)]
need to refill treeviews for MIDI port prefs at least once

7 years agomove MIDI port options out of engine dialog and into prefs
Paul Davis [Wed, 19 Oct 2016 21:44:54 +0000 (17:44 -0400)]
move MIDI port options out of engine dialog and into prefs

7 years agoinfrastructure for MIDI-input-follows-selection
Paul Davis [Wed, 19 Oct 2016 21:17:30 +0000 (17:17 -0400)]
infrastructure for MIDI-input-follows-selection

7 years agobasics of following MIDI track selection and rewiring input
Paul Davis [Wed, 19 Oct 2016 19:13:32 +0000 (15:13 -0400)]
basics of following MIDI track selection and rewiring input

7 years agoNOOP: whitespacing tweak
Paul Davis [Wed, 19 Oct 2016 19:13:09 +0000 (15:13 -0400)]
NOOP: whitespacing tweak

7 years agobasics of managing a list of port names for MIDI-input-follows-selection
Paul Davis [Wed, 19 Oct 2016 19:12:49 +0000 (15:12 -0400)]
basics of managing a list of port names for MIDI-input-follows-selection

7 years agoUse official LV2 state:StateChanged URI
Robin Gareus [Wed, 19 Oct 2016 17:45:35 +0000 (19:45 +0200)]
Use official LV2 state:StateChanged URI

http://lv2plug.in/git/cgit.cgi/lv2.git/commit/?id=dbb18d82136d43eec435e321bffa835ba5776d6e

7 years agoWork around OSX MIDI devices that send no timestamps
Robin Gareus [Wed, 19 Oct 2016 17:10:18 +0000 (19:10 +0200)]
Work around OSX MIDI devices that send no timestamps

7 years agobbt duration clock - revert 3d38b4f58ec0 and a32aea4201. use an alternate fix.
nick_m [Wed, 19 Oct 2016 16:40:06 +0000 (03:40 +1100)]
bbt duration clock - revert 3d38b4f58ec0 and a32aea4201. use an alternate fix.

7 years agoDuration clock edit uses current time to resolve meter.
nick_m [Wed, 19 Oct 2016 12:09:24 +0000 (23:09 +1100)]
Duration clock edit uses current time to resolve meter.

- should fix the remaining part of #7072

7 years agoset up MIDI port treeview columns *just once*
Paul Davis [Wed, 19 Oct 2016 01:18:32 +0000 (21:18 -0400)]
set up MIDI port treeview columns *just once*

7 years agocorrectly show both the old MIDI setup tab (device oriented) and the new one (port...
Paul Davis [Tue, 18 Oct 2016 22:14:00 +0000 (18:14 -0400)]
correctly show both the old MIDI setup tab (device oriented) and the new one (port oriented)

7 years agofurther work on a MIDI port functionality dialog
Paul Davis [Tue, 18 Oct 2016 22:00:55 +0000 (18:00 -0400)]
further work on a MIDI port functionality dialog

7 years agoAdd tooltip info for inline-display
Robin Gareus [Tue, 18 Oct 2016 21:40:14 +0000 (23:40 +0200)]
Add tooltip info for inline-display

7 years agobeginnings of a tab in Audio/MIDI setup to manage MIDI port functionality
Paul Davis [Tue, 18 Oct 2016 20:56:35 +0000 (16:56 -0400)]
beginnings of a tab in Audio/MIDI setup to manage MIDI port functionality

7 years agoremove unnecessary and now impossible #include
Paul Davis [Tue, 18 Oct 2016 20:56:28 +0000 (16:56 -0400)]
remove unnecessary and now impossible #include

7 years agoremove unusued and useless midi_port_dialog.{cc,h} files
Paul Davis [Tue, 18 Oct 2016 20:53:54 +0000 (16:53 -0400)]
remove unusued and useless midi_port_dialog.{cc,h} files