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.
Olivier Humbert [Tue, 15 Nov 2016 01:03:35 +0000 (02:03 +0100)]
French translation update
more translations
Olivier Humbert [Tue, 15 Nov 2016 00:35:28 +0000 (01:35 +0100)]
Adding myself
adding my name
Olivier Humbert [Tue, 15 Nov 2016 00:32:04 +0000 (01:32 +0100)]
French translation update
one small fix
Olivier Humbert [Tue, 15 Nov 2016 00:24:56 +0000 (01:24 +0100)]
French translation update
A few more translations and fixes for French.
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
Olivier Humbert [Thu, 10 Nov 2016 00:17:01 +0000 (01:17 +0100)]
French translation update
This translates one string.
Robin Gareus [Tue, 15 Nov 2016 01:49:30 +0000 (02:49 +0100)]
rework
8e3b6c9ac (fstwin is C code, not C++)
Robin Gareus [Tue, 15 Nov 2016 00:17:47 +0000 (01:17 +0100)]
fix another typo (
f30fbcaaf)
Robin Gareus [Mon, 14 Nov 2016 23:43:28 +0000 (00:43 +0100)]
Add missing #include
Robin Gareus [Mon, 14 Nov 2016 23:43:17 +0000 (00:43 +0100)]
Fix some typo.
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
Robin Gareus [Mon, 14 Nov 2016 23:32:19 +0000 (00:32 +0100)]
show VST preset clean/dirty state
Robin Gareus [Mon, 14 Nov 2016 23:01:27 +0000 (00:01 +0100)]
MacVST Program/Preset support
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.
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
Robin Gareus [Mon, 14 Nov 2016 20:05:36 +0000 (21:05 +0100)]
Fix VST state-lock SNAFU (effSetChunk and process are exclusive)
Robin Gareus [Mon, 14 Nov 2016 20:04:01 +0000 (21:04 +0100)]
consolidate VSTState initialization
Robin Gareus [Mon, 14 Nov 2016 18:39:00 +0000 (19:39 +0100)]
Pass const references to plugin-list
nick_m [Mon, 14 Nov 2016 16:48:20 +0000 (03:48 +1100)]
change note selection node name - should fix 7110
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()
Robin Gareus [Mon, 14 Nov 2016 15:45:25 +0000 (16:45 +0100)]
tempo map cannot be empty (help static analyzer)
Robin Gareus [Mon, 14 Nov 2016 03:12:58 +0000 (04:12 +0100)]
potential fix for #7110 (older sessions have no id)
Robin Gareus [Mon, 14 Nov 2016 00:40:57 +0000 (01:40 +0100)]
fix LV2 state versioning with session-templates
Robin Gareus [Mon, 14 Nov 2016 00:14:52 +0000 (01:14 +0100)]
Suffix plugin type in instrument-list to avoid ambiguities
Robin Gareus [Mon, 14 Nov 2016 00:13:48 +0000 (01:13 +0100)]
const'ness FTW
Robin Gareus [Sun, 13 Nov 2016 23:26:56 +0000 (00:26 +0100)]
register some missing enums
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.
Robin Gareus [Sun, 13 Nov 2016 17:47:08 +0000 (18:47 +0100)]
fix MacVST UI idle calls
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.
Robin Gareus [Sun, 13 Nov 2016 15:33:18 +0000 (16:33 +0100)]
disable MacVST support (until it's ready)
Robin Gareus [Sun, 13 Nov 2016 15:32:30 +0000 (16:32 +0100)]
basic Mac VST Cocoa UI support
Robin Gareus [Sun, 13 Nov 2016 15:31:15 +0000 (16:31 +0100)]
Mac VST-2.x support
Robin Gareus [Sat, 12 Nov 2016 15:20:43 +0000 (16:20 +0100)]
fix const-cast
Robin Gareus [Sat, 12 Nov 2016 15:19:36 +0000 (16:19 +0100)]
fix typo in example script
Robin Gareus [Sat, 12 Nov 2016 15:19:27 +0000 (16:19 +0100)]
fix buffer overflow printing tempo/meter
Robin Gareus [Fri, 11 Nov 2016 15:19:59 +0000 (16:19 +0100)]
VST buffer paranoia
nick_m [Fri, 11 Nov 2016 10:35:13 +0000 (21:35 +1100)]
fix compilation on osx
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
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
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.
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
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.
Robin Gareus [Fri, 11 Nov 2016 00:14:18 +0000 (01:14 +0100)]
keep meterbridge on top
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
Robin Gareus [Thu, 10 Nov 2016 22:04:12 +0000 (23:04 +0100)]
prevent crash during track-deletion (un-selecting deleted tracks)
Robin Gareus [Thu, 10 Nov 2016 20:35:40 +0000 (21:35 +0100)]
Implement instrument fan-out options (group, track/bus)
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.
nick_m [Thu, 10 Nov 2016 17:02:17 +0000 (04:02 +1100)]
update lua script to follow Region API change.
nick_m [Thu, 10 Nov 2016 16:26:21 +0000 (03:26 +1100)]
remove debugging output
nick_m [Thu, 10 Nov 2016 16:16:09 +0000 (03:16 +1100)]
remove unused variable and debugging.
nick_m [Tue, 8 Nov 2016 17:51:19 +0000 (04:51 +1100)]
rename Region pos_beats -> quarter_note
nick_m [Tue, 8 Nov 2016 15:23:43 +0000 (02:23 +1100)]
more tempo documentation.
nick_m [Tue, 8 Nov 2016 15:01:22 +0000 (02:01 +1100)]
ensure non-zero midi region length when tempo map changes.
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.
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
nick_m [Tue, 8 Nov 2016 14:10:21 +0000 (01:10 +1100)]
remove recently added xml nodes.
nick_m [Tue, 8 Nov 2016 14:04:45 +0000 (01:04 +1100)]
use frame interval api for empoMap::framepos_plus_qn()
nick_m [Tue, 8 Nov 2016 13:49:31 +0000 (00:49 +1100)]
clarify bbt_at_frame() warning.
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)
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.
nick_m [Tue, 8 Nov 2016 13:07:37 +0000 (00:07 +1100)]
TempoSection::tempo_at methods return a Tempo, document the opposite direction.
nick_m [Sat, 5 Nov 2016 18:39:37 +0000 (05:39 +1100)]
audio units uses quarter_notes_per_minute().
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.
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.
nick_m [Thu, 3 Nov 2016 17:18:00 +0000 (04:18 +1100)]
remove commented code.
nick_m [Thu, 3 Nov 2016 16:19:21 +0000 (03:19 +1100)]
more tempo documentation.
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.
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().
nick_m [Thu, 3 Nov 2016 14:54:00 +0000 (01:54 +1100)]
tempo.h reorganization. should be a no-op
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()
nick_m [Thu, 3 Nov 2016 14:21:57 +0000 (01:21 +1100)]
remove remaining frame api from TempoSection.
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.
nick_m [Mon, 31 Oct 2016 17:45:38 +0000 (04:45 +1100)]
add some documentation for TempoMap.
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.
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
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
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.
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
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 ?!?
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
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.
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.
Robin Gareus [Thu, 10 Nov 2016 04:02:31 +0000 (05:02 +0100)]
Add AU support for output-channel/bus grouping
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)
Robin Gareus [Thu, 10 Nov 2016 03:54:03 +0000 (04:54 +0100)]
C++ implementation of fan_out_instrument.lua
Robin Gareus [Thu, 10 Nov 2016 00:45:00 +0000 (01:45 +0100)]
NO-OP, explanatory comments
Robin Gareus [Thu, 10 Nov 2016 00:30:11 +0000 (01:30 +0100)]
prototype script to fan out instrument outputs to busses
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>
Robin Gareus [Wed, 9 Nov 2016 23:09:38 +0000 (00:09 +0100)]
Parse PortGroups into Plugin::IOPortDescription
Robin Gareus [Wed, 9 Nov 2016 11:57:57 +0000 (12:57 +0100)]
another lua DSP example
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.
David Robillard [Tue, 8 Nov 2016 18:52:44 +0000 (13:52 -0500)]
Remove dead code
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.
Len Ovens [Mon, 7 Nov 2016 19:08:00 +0000 (11:08 -0800)]
make auto track naming make a bit more sense
Len Ovens [Mon, 7 Nov 2016 16:29:34 +0000 (08:29 -0800)]
Set session dirty if tracks are reordered by user.
David Robillard [Mon, 7 Nov 2016 01:27:55 +0000 (20:27 -0500)]
Fix LV2 state:StateChanged URI
Len Ovens [Mon, 7 Nov 2016 05:59:33 +0000 (21:59 -0800)]
One more piece to the moving master puzzle.
Len Ovens [Fri, 4 Nov 2016 19:10:37 +0000 (12:10 -0700)]
OSC: Fix default strip types to include Auxes.
Len Ovens [Fri, 4 Nov 2016 15:39:41 +0000 (08:39 -0700)]
Fix Drifting Master hopefully for real this time.