ardour.git
7 years agoamend 5dc24971009 ...get the windows version to compile.
Robin Gareus [Tue, 15 Nov 2016 02:21:02 +0000 (03:21 +0100)]
amend 5dc24971009 ...get the windows version to compile.

eventually vststate_init() needs cleaning up, but not tonight.

7 years agoFrench translation update
Olivier Humbert [Tue, 15 Nov 2016 01:03:35 +0000 (02:03 +0100)]
French translation update

more translations

7 years agoAdding myself
Olivier Humbert [Tue, 15 Nov 2016 00:35:28 +0000 (01:35 +0100)]
Adding myself

adding my name

7 years agoFrench translation update
Olivier Humbert [Tue, 15 Nov 2016 00:32:04 +0000 (01:32 +0100)]
French translation update

one small fix

7 years agoFrench translation update
Olivier Humbert [Tue, 15 Nov 2016 00:24:56 +0000 (01:24 +0100)]
French translation update

A few more translations and fixes for French.

7 years agoFrench translation update
Olivier Humbert [Thu, 10 Nov 2016 01:26:55 +0000 (02:26 +0100)]
French translation update

This one:
* adds a French translation for a string
* adds myself on the header

7 years agoFrench translation update
Olivier Humbert [Thu, 10 Nov 2016 00:17:01 +0000 (01:17 +0100)]
French translation update

This translates one string.

7 years agorework 8e3b6c9ac (fstwin is C code, not C++)
Robin Gareus [Tue, 15 Nov 2016 01:49:30 +0000 (02:49 +0100)]
rework 8e3b6c9ac (fstwin is C code, not C++)

7 years agofix another typo (f30fbcaaf)
Robin Gareus [Tue, 15 Nov 2016 00:17:47 +0000 (01:17 +0100)]
fix another typo (f30fbcaaf)

7 years agoAdd missing #include
Robin Gareus [Mon, 14 Nov 2016 23:43:28 +0000 (00:43 +0100)]
Add missing #include

7 years agoFix some typo.
Robin Gareus [Mon, 14 Nov 2016 23:43:17 +0000 (00:43 +0100)]
Fix some typo.

7 years agoFix intermittent hang when stopping PortaudioBackend
Tim Mayberry [Mon, 14 Nov 2016 23:19:24 +0000 (09:19 +1000)]
Fix intermittent hang when stopping PortaudioBackend

This issue is not always reproducible but when it does occur it happens
somewhat consistently on both 32bit and 64bit builds(Tested on Windows 7).

The midiOutReset call does not return (or it takes so long that it might as
well be indefinite) and as it is not strictly necessary just remove it.

Resolves: http://tracker.ardour.org/view.php?id=7095

7 years agoshow VST preset clean/dirty state
Robin Gareus [Mon, 14 Nov 2016 23:32:19 +0000 (00:32 +0100)]
show VST preset clean/dirty state

7 years agoMacVST Program/Preset support
Robin Gareus [Mon, 14 Nov 2016 23:01:27 +0000 (00:01 +0100)]
MacVST Program/Preset support

7 years agoadd signal for VST state load
Robin Gareus [Mon, 14 Nov 2016 23:01:12 +0000 (00:01 +0100)]
add signal for VST state load

MacVST has no dedicated VST event-loop to directly handle this.

7 years agoFix crash when selecting MIDI note
Tim Mayberry [Mon, 14 Nov 2016 22:16:31 +0000 (08:16 +1000)]
Fix crash when selecting MIDI note

Replace now always invalid assertion with initialization

Related to #7110

7 years agoFix VST state-lock SNAFU (effSetChunk and process are exclusive)
Robin Gareus [Mon, 14 Nov 2016 20:05:36 +0000 (21:05 +0100)]
Fix VST state-lock SNAFU (effSetChunk and process are exclusive)

7 years agoconsolidate VSTState initialization
Robin Gareus [Mon, 14 Nov 2016 20:04:01 +0000 (21:04 +0100)]
consolidate VSTState initialization

7 years agoPass const references to plugin-list
Robin Gareus [Mon, 14 Nov 2016 18:39:00 +0000 (19:39 +0100)]
Pass const references to plugin-list

7 years agochange note selection node name - should fix 7110
nick_m [Mon, 14 Nov 2016 16:48:20 +0000 (03:48 +1100)]
change note selection node name - should fix 7110

7 years agoLater code depends on prev_t not being NULL, use an assert()
Robin Gareus [Mon, 14 Nov 2016 15:47:09 +0000 (16:47 +0100)]
Later code depends on prev_t not being NULL, use an assert()

7 years agotempo map cannot be empty (help static analyzer)
Robin Gareus [Mon, 14 Nov 2016 15:45:25 +0000 (16:45 +0100)]
tempo map cannot be empty (help static analyzer)

7 years agopotential fix for #7110 (older sessions have no id)
Robin Gareus [Mon, 14 Nov 2016 03:12:58 +0000 (04:12 +0100)]
potential fix for #7110 (older sessions have no id)

7 years agofix LV2 state versioning with session-templates
Robin Gareus [Mon, 14 Nov 2016 00:40:57 +0000 (01:40 +0100)]
fix LV2 state versioning with session-templates

7 years agoSuffix plugin type in instrument-list to avoid ambiguities
Robin Gareus [Mon, 14 Nov 2016 00:14:52 +0000 (01:14 +0100)]
Suffix plugin type in instrument-list to avoid ambiguities

7 years agoconst'ness FTW
Robin Gareus [Mon, 14 Nov 2016 00:13:48 +0000 (01:13 +0100)]
const'ness FTW

7 years agoregister some missing enums
Robin Gareus [Sun, 13 Nov 2016 23:26:56 +0000 (00:26 +0100)]
register some missing enums

7 years agoVST set defaults only once (initially)
Robin Gareus [Sun, 13 Nov 2016 17:48:33 +0000 (18:48 +0100)]
VST set defaults only once (initially)

Opening the generic plugin UI or re-opening the GUI will call
get_parameter_descriptor() again, and replace the defaults with
current values.

7 years agofix MacVST UI idle calls
Robin Gareus [Sun, 13 Nov 2016 17:47:08 +0000 (18:47 +0100)]
fix MacVST UI idle calls

7 years agocopy VST state on copy construction
Robin Gareus [Sun, 13 Nov 2016 15:34:27 +0000 (16:34 +0100)]
copy VST state on copy construction

This fixes issues with replicate instances & plugin-analysis instances
not using the same set of parameters.

7 years agodisable MacVST support (until it's ready)
Robin Gareus [Sun, 13 Nov 2016 15:33:18 +0000 (16:33 +0100)]
disable MacVST support (until it's ready)

7 years agobasic Mac VST Cocoa UI support
Robin Gareus [Sun, 13 Nov 2016 15:32:30 +0000 (16:32 +0100)]
basic Mac VST Cocoa UI support

7 years agoMac VST-2.x support
Robin Gareus [Sun, 13 Nov 2016 15:31:15 +0000 (16:31 +0100)]
Mac VST-2.x support

7 years agofix const-cast
Robin Gareus [Sat, 12 Nov 2016 15:20:43 +0000 (16:20 +0100)]
fix const-cast

7 years agofix typo in example script
Robin Gareus [Sat, 12 Nov 2016 15:19:36 +0000 (16:19 +0100)]
fix typo in example script

7 years agofix buffer overflow printing tempo/meter
Robin Gareus [Sat, 12 Nov 2016 15:19:27 +0000 (16:19 +0100)]
fix buffer overflow printing tempo/meter

7 years agoVST buffer paranoia
Robin Gareus [Fri, 11 Nov 2016 15:19:59 +0000 (16:19 +0100)]
VST buffer paranoia

7 years agofix compilation on osx
nick_m [Fri, 11 Nov 2016 10:35:13 +0000 (21:35 +1100)]
fix compilation on osx

7 years agoRefine instrument fan-out:
Robin Gareus [Fri, 11 Nov 2016 09:48:33 +0000 (10:48 +0100)]
Refine instrument fan-out:

* prefix (rather than suffix) portgroup-name
* check if group already exists
* disconnect targets (when autoconnect preference is enabled)
* expose tracks/busses option

7 years agoAdd option to zoom using button press in the time rulers and dragging vertically
Tim Mayberry [Tue, 9 Feb 2016 10:39:27 +0000 (20:39 +1000)]
Add option to zoom using button press in the time rulers and dragging vertically

This is a common operation used for zooming in other DAWs like Ableton Live and
Cubase. To support such a usage pattern without changing the existing behaviour
of the ruler area I've made it an option that is false by default.

The behaviour of RulerDragZoom is intentionally different than a CursorDrag
that occurs in the rest of the ruler area in that it doesn't follow the snap to
grid setting and no locate related stuff occurs until button release.

There are some issues with responsiveness with more than a few hundred regions
or a large amount of MIDI events/notes.

Implements feature #6768

7 years agoUse the frame corresponding to the current mouse position when zoom dragging
Tim Mayberry [Wed, 7 Sep 2016 03:06:33 +0000 (13:06 +1000)]
Use the frame corresponding to the current mouse position when zoom dragging

Editor::mouse_frame only works within the track canvas. If a zoom drag is
initiated and the mouse cursor goes outside of the track canvas the zoom
position should still based on the current x position of the cursor.

7 years agoChange Editor temporal zoom methods to be able to use different scale for the zoom
Tim Mayberry [Tue, 9 Feb 2016 10:37:53 +0000 (20:37 +1000)]
Change Editor temporal zoom methods to be able to use different scale for the zoom

7 years agostatic MonitorSection Action -- fixes #7098
Robin Gareus [Fri, 11 Nov 2016 02:54:50 +0000 (03:54 +0100)]
static MonitorSection Action -- fixes #7098

ActionManager registered actions are static global and cannot reference
an instance (this) directly.

7 years agokeep meterbridge on top
Robin Gareus [Fri, 11 Nov 2016 00:14:18 +0000 (01:14 +0100)]
keep meterbridge on top

7 years agoRemove a group when the last track in the group is removed
Robin Gareus [Thu, 10 Nov 2016 22:57:47 +0000 (23:57 +0100)]
Remove a group when the last track in the group is removed

7 years agoprevent crash during track-deletion (un-selecting deleted tracks)
Robin Gareus [Thu, 10 Nov 2016 22:04:12 +0000 (23:04 +0100)]
prevent crash during track-deletion (un-selecting deleted tracks)

7 years agoImplement instrument fan-out options (group, track/bus)
Robin Gareus [Thu, 10 Nov 2016 20:35:40 +0000 (21:35 +0100)]
Implement instrument fan-out options (group, track/bus)

7 years agoCorrect the #includes for 'ardour/midi_cursor.h' (see commit #ec12fccf08)
John Emmas [Thu, 10 Nov 2016 19:31:26 +0000 (19:31 +0000)]
Correct the #includes for 'ardour/midi_cursor.h' (see commit #ec12fccf08)

There are a couple of header files where we use a reference to class ARDOUR::MidiCursor (rather than a pointer). To keep MSVC happy we need to #include its header file, rather than simply using a forward reference.

7 years agoupdate lua script to follow Region API change.
nick_m [Thu, 10 Nov 2016 17:02:17 +0000 (04:02 +1100)]
update lua script to follow Region API change.

7 years agoremove debugging output
nick_m [Thu, 10 Nov 2016 16:26:21 +0000 (03:26 +1100)]
remove debugging output

7 years agoremove unused variable and debugging.
nick_m [Thu, 10 Nov 2016 16:16:09 +0000 (03:16 +1100)]
remove unused variable and debugging.

7 years agorename Region pos_beats -> quarter_note
nick_m [Tue, 8 Nov 2016 17:51:19 +0000 (04:51 +1100)]
rename Region pos_beats -> quarter_note

7 years agomore tempo documentation.
nick_m [Tue, 8 Nov 2016 15:23:43 +0000 (02:23 +1100)]
more tempo documentation.

7 years agoensure non-zero midi region length when tempo map changes.
nick_m [Tue, 8 Nov 2016 15:01:22 +0000 (02:01 +1100)]
ensure non-zero midi region length when tempo map changes.

7 years agoTempoSection note-types-per-minute node name goes back to beats-per-minute for now.
nick_m [Tue, 8 Nov 2016 14:42:33 +0000 (01:42 +1100)]
TempoSection note-types-per-minute node name goes back to beats-per-minute for now.

7 years agouse note_type explicitly when constructing a Tempo in the hope that others follow.
nick_m [Tue, 8 Nov 2016 14:30:32 +0000 (01:30 +1100)]
use note_type explicitly when constructing a Tempo in the hope that others follow.

- should be a no-op

7 years agoremove recently added xml nodes.
nick_m [Tue, 8 Nov 2016 14:10:21 +0000 (01:10 +1100)]
remove recently added xml nodes.

7 years agouse frame interval api for empoMap::framepos_plus_qn()
nick_m [Tue, 8 Nov 2016 14:04:45 +0000 (01:04 +1100)]
use frame interval api for empoMap::framepos_plus_qn()

7 years agoclarify bbt_at_frame() warning.
nick_m [Tue, 8 Nov 2016 13:49:31 +0000 (00:49 +1100)]
clarify bbt_at_frame() warning.

7 years agorename note_divisions_per_minute -> ote_types_per_minute (double note_type)
nick_m [Tue, 8 Nov 2016 13:48:00 +0000 (00:48 +1100)]
rename note_divisions_per_minute -> ote_types_per_minute (double note_type)

7 years agoadd empoMap::quarter_notes_between_frames().
nick_m [Tue, 8 Nov 2016 13:37:52 +0000 (00:37 +1100)]
add empoMap::quarter_notes_between_frames().

- in an ideal world, this wouldn't be here at all,
  but is required to support framewalk_to_qn().
  if Beats are at tick resolution, the frame-induced
  temporal rounding is acceptable.

7 years agoTempoSection::tempo_at methods return a Tempo, document the opposite direction.
nick_m [Tue, 8 Nov 2016 13:07:37 +0000 (00:07 +1100)]
TempoSection::tempo_at methods return a Tempo, document the opposite direction.

7 years agoaudio units uses quarter_notes_per_minute().
nick_m [Sat, 5 Nov 2016 18:39:37 +0000 (05:39 +1100)]
audio units uses quarter_notes_per_minute().

7 years agorename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.
nick_m [Sat, 5 Nov 2016 18:14:20 +0000 (05:14 +1100)]
rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.

- adds quarter_notes_per_minute(), note_divisions_per_minute (double)
  pulses_per_minute() and frames_per_quarter_note()

- this should be a no-op except for the use of tempo by
  the vst callback which definitely uses quarter notes per minute.

- the XML node for TempoSection named 'beats-per-minute'
  has been renamed.

7 years agotempo doc explains that currently Tempo::beats_per_minute means something else.
nick_m [Sat, 5 Nov 2016 11:29:31 +0000 (22:29 +1100)]
tempo doc explains that currently Tempo::beats_per_minute means something else.

- Tempo beats_per_minute() is currently implemented as note types per minute.
  a further patch will change Tempo to reflect this and provide some helpers.

7 years agoremove commented code.
nick_m [Thu, 3 Nov 2016 17:18:00 +0000 (04:18 +1100)]
remove commented code.

7 years agomore tempo documentation.
nick_m [Thu, 3 Nov 2016 16:19:21 +0000 (03:19 +1100)]
more tempo documentation.

7 years agofix lock error in empoMap::quarter_note_at_bbt_rt(), expand constant tempo test.
nick_m [Thu, 3 Nov 2016 15:17:59 +0000 (02:17 +1100)]
fix lock error in empoMap::quarter_note_at_bbt_rt(), expand constant tempo test.

7 years agoremove unused TempoMap::tempo_at_beat(). implement unused tempo_at_quarter_note().
nick_m [Thu, 3 Nov 2016 15:12:20 +0000 (02:12 +1100)]
remove unused TempoMap::tempo_at_beat(). implement unused tempo_at_quarter_note().

7 years agotempo.h reorganization. should be a no-op
nick_m [Thu, 3 Nov 2016 14:54:00 +0000 (01:54 +1100)]
tempo.h reorganization. should be a no-op

7 years agomore documentation in tempo.cc, fix constant bug in pulse_at_tempo_locked()
nick_m [Thu, 3 Nov 2016 14:31:15 +0000 (01:31 +1100)]
more documentation in tempo.cc, fix constant bug in pulse_at_tempo_locked()

7 years agoremove remaining frame api from TempoSection.
nick_m [Thu, 3 Nov 2016 14:21:57 +0000 (01:21 +1100)]
remove remaining frame api from TempoSection.

7 years agoremove public pulse methods from TempoMap.
nick_m [Tue, 1 Nov 2016 10:54:11 +0000 (21:54 +1100)]
remove public pulse methods from TempoMap.

- the only object whose musical position is not expressed in
  quarter notes is MetricSection.
  there is now no need to expose this.

7 years agoadd some documentation for TempoMap.
nick_m [Mon, 31 Oct 2016 17:45:38 +0000 (04:45 +1100)]
add some documentation for TempoMap.

7 years agoclamp setting tempo via vertical drag.
nick_m [Mon, 31 Oct 2016 13:40:05 +0000 (00:40 +1100)]
clamp setting tempo via vertical drag.

- a bit suboptimal. we really need the opposite of _trackview_only
  to prevent jumping to track canvas scrolled coordinates in the first place.

7 years agorename Region pulse to pos_beats. use new beat distance api where required.
nick_m [Sun, 30 Oct 2016 13:01:02 +0000 (00:01 +1100)]
rename Region pulse to pos_beats. use new beat distance api where required.

- add more debugging output detecting regions whose
  beat and frame position do not align on a playlist.
  this is required as a check as we have never used
  frame rounding on constant tempi before 8884a5723dc

7 years agoMidiRegion _start/_length beats are frame based only when lock style is Audiotime
nick_m [Sun, 30 Oct 2016 12:42:06 +0000 (23:42 +1100)]
MidiRegion _start/_length beats are frame based only when lock style is Audiotime

7 years agoRefactor tempo api, include quarter-note distance in frames method.
nick_m [Sun, 30 Oct 2016 12:21:42 +0000 (23:21 +1100)]
Refactor tempo api, include quarter-note distance in frames method.

- moves frame rounding up to TempoMap, which is needed
  in order to calculate pulse distance without frame rounding.

- the time unit for tempo is still minute, but this now also
  applies to meter sections. (new audio locked meter sections no
  longer require a frame position).

- there is no longer a discontinuity
  in the pulse for audio-locked meter/tempi.

- temporarily add debugging output in Region::set_position()
  to test for region beat not matching region frame.

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.