Michael Beer
8d8ca6a8fa
Make some functions which are needed for native VST support like snprintf() visible in FreeBSD.
2016-10-04 22:59:16 +02:00
Kamil Rytarowski
e426f0777a
NetBSD ships with backtrace(3) in libexecinfo
2016-10-04 22:18:52 +02:00
Kamil Rytarowski
9d3077bd03
NetBSD uses statvfs for the functionality of statfs on Linux
2016-10-04 22:18:23 +02:00
Kamil Rytarowski
1ac7dad84e
NetBSD ships with pollts(2) similar to Linux specific ppoll()
2016-10-04 22:17:49 +02:00
Kamil Rytarowski
f69776e5b7
NetBSD ships with <sys/endian.h> not <endian.h>
2016-10-04 22:17:12 +02:00
Kamil Rytarowski
5b1b3a76b5
Detect free space on NetBSD
2016-10-04 22:16:35 +02:00
Nils Philippsen
0aaded5318
allow linking unbundled version of qm-dsp
...
In the course, rename the bundled, built version libqm-dsp so it matches
packaged versions.
2016-10-04 22:03:28 +02:00
974ecc0292
NO-OP sort class-keys (for windows builds, luabridge)
2016-10-04 21:50:37 +02:00
a51daedbe6
Vamp::Plugins::process Lua bindings
2016-10-04 21:31:29 +02:00
408e4abf79
use typedef'ed types (avoid comma in CPP macro)
2016-10-04 00:24:22 +02:00
c0e669f19c
add static ClassKey for windows linking
2016-10-03 23:47:50 +02:00
f6b59676b5
cont'd work on Lua Vamp-plugin API
2016-10-03 18:26:16 +02:00
52b6ad1b96
enable LuaAPI::Vamp::analyze() callback
2016-10-03 05:13:41 +02:00
b55975a861
consistent VAMP includes
...
This resolves an ambiguity VampHost::Vamp::Plugin and Vamp::Plugin
2016-10-03 05:13:12 +02:00
330e69b565
Add Vamp-plugin Lua bindings (work in progress)
2016-10-03 03:52:51 +02:00
nick_m
af289cab62
Remove unused methods, add tests to ensure meter divisors don't mess with Beats.
...
- TempoMap::framepos_minus_beats() was only used by its test,
so don't build the test.
2016-10-02 03:55:18 +11:00
nick_m
48f48ccea8
Add MidiRegion _start to the list of things we leave alone on session load.
2016-10-01 11:28:09 +10:00
nick_m
bc38f2c489
Region pulse is no longer a property.
2016-10-01 11:13:41 +10:00
9bd86c2869
allow sending OSC from inline display UIs
2016-10-01 02:22:49 +02:00
nick_m
c26636b0ec
Fix locking bug in tempo map.
2016-10-01 10:19:38 +10:00
ba4220b135
fix some compiler warnings (from mingw)
2016-09-30 13:07:53 -04:00
8d30580450
attempt to fix windows failed build by including pthread.h to get DEBUG_THREAD_SELF correctly defined
2016-09-30 12:52:07 -04:00
7701207123
push2:small logic fix for destructor, mostly to ensure that the track_mix layout is destroyed
...
Otherwise it is still connected to the ControlProtocol::StripableSelectionChanged signal, even though the
event loop specified in the connection has been destroyed.
2016-09-30 11:07:05 -05:00
1b830f2604
reorganize push 2 code and logic to better handle device arrival after program startup
...
Note: we do not handle device departure correctly yet, mostly because the shadow (pad) port has a retained
reference somewhere
2016-09-30 11:23:01 -04:00
8cff66c7e0
remove unused member variable
2016-09-30 11:23:01 -04:00
e71809dc04
push2 gui catches port registrations
2016-09-30 11:23:01 -04:00
4a159b817f
remove useless code from push2 gui dialog
2016-09-30 11:23:01 -04:00
9480dc1c6a
insufficient attempt to drop references to a shadow MIDI port
2016-09-30 11:23:01 -04:00
4950bdaf16
Accommodate newly introduced source(s) in our MSVC project (libardour)
2016-09-30 12:21:18 +01:00
85072e16aa
Accommodate a header file that's been moved from gtk2_ardour into libardour
2016-09-30 08:21:37 +01:00
1fe19ead70
Accommodate newly introduced source(s) in our MSVC project (cairocanvas)
2016-09-30 08:20:14 +01:00
75f9a7cf11
don't include session-search paths with templates
2016-09-30 00:11:24 +02:00
99c8e51918
manually revert b9cab93fb1
and remove associated code.
...
For the last time, because of how GDK works, Keyboard::PrimaryModifier on MacOS MUST include MOD2 ***AND** META
2016-09-29 12:01:50 -04:00
5472498a50
enhance -D bindings output
2016-09-29 12:01:49 -04:00
d8291550e7
Rectangle is ambiguous on Windows
...
In file included from /usr/share/mingw-w64/include/windows.h:71:0,
from /home/ardour/win-stack-w32/include/pthread.h:198,
from /home/ardour/ardour-w32/libs/pbd/pbd/event_loop.h:29,
from /home/ardour/ardour-w32/libs/pbd/pbd/signals.h:42,
from /home/ardour/ardour-w32/libs/midi++2/midi++/parser.h:26,
from ../libs/surfaces/push2/mix.cc:30:
/usr/share/mingw-w64/include/wingdi.h:3049:67: note: candidates are: WINBOOL Rectangle(HDC, int, int, int, int)
In file included from ../libs/surfaces/push2/mix.cc:48:0:
/home/ardour/ardour-w32/libs/canvas/canvas/rectangle.h:30:48: note: class ArdourCanvas::Rectangle
2016-09-29 13:56:10 +02:00
0a9c12f250
MacOS [sic] required changes for Rect in Push 2 code
2016-09-28 17:24:14 -04:00
1aab360b7d
remove unnecessary method
2016-09-28 17:23:52 -04:00
c8ae41d598
fix errors reported by pixman for meter redraws (and add more comments to help the coordinate challenged
2016-09-28 13:37:19 -05:00
67e415e14c
make Ben's cool range select hack work with Push 2
2016-09-28 11:28:45 -05:00
e25a4371cb
output more stuff to the error channel if/when a session fails to load/be created
2016-09-28 11:28:45 -05:00
6c4627b1b7
fix for push2 code on Windows (no random())
2016-09-28 10:51:01 -05:00
b6e62c6654
move mode/scale/key definitions out of push2 code and into libardour; Aeolian is the same as Minor
2016-09-28 10:47:17 -05:00
nick_m
cd9c2cedfb
Prevent overwriting of MidiRegion length and length_beats during session load.
...
- .
2016-09-29 01:27:42 +10:00
nick_m
fa350c7aca
Remove bogus methods from MidiRegion.
2016-09-29 01:27:42 +10:00
nick_m
dcae6c42b6
Remove _length_pulse from MidiSource.
2016-09-29 01:27:42 +10:00
nick_m
8c6e9e15d4
Add headless-chicken session utility.
...
- provides an upgrade path for sessions affected by a nasty bug
present in some 5.0 - 5.3 MIDI sessions.
If testing from source, it can be run from the session_utils directory
using ./run ardour5-headless-chicken -h
2016-09-29 01:27:42 +10:00
cf8cc19449
allow to get custom/product/version independent cach dir
2016-09-28 13:13:56 +02:00
0fc4a61fa0
don't render push2 layouts to PNG
2016-09-27 15:42:36 -05:00
a6d4bb0432
add missing/moved files from push2 merge
2016-09-27 15:42:26 -05:00
bbc410dae8
push2: add code to render screen to PNG files for screenshot purposes
2016-09-27 14:59:32 -05:00
3a7cf72752
push2: tweak layout APIs etc.
2016-09-27 14:59:32 -05:00
db4edbf3b5
push2: tweak logic of master button
2016-09-27 14:59:32 -05:00
303358973f
push2: improve logic of ::set_current_layout() to allow reset of same layout
2016-09-27 14:59:32 -05:00
0006f28511
push2: don't illuminate a button we do not use
2016-09-27 14:59:32 -05:00
5e6249b7b1
push2: null handle on failed open
2016-09-27 14:59:32 -05:00
81f2ed452b
provide ArdourCanvas::Text::{width,height}()
2016-09-27 14:59:32 -05:00
0cd60747a5
push2: fix issue with solo/mute display when entering mix layout
2016-09-27 14:59:32 -05:00
33015a7173
push2: many improvements to track mix and mix layouts
...
Including meters and clocks
2016-09-27 14:59:32 -05:00
a5e112a73f
push2: correct knob origin translation for drawing
2016-09-27 14:59:32 -05:00
df5bb70616
optimize canvas meter redrawing (as in the non-canvas version)
2016-09-27 14:59:32 -05:00
726c10b6ac
correct comment
2016-09-27 14:59:32 -05:00
1c94f6490e
bug fixes for vertically-drawn Canvas::Meter
2016-09-27 14:59:32 -05:00
fccd0da9c6
bug fixes for Canvas::Box
2016-09-27 14:59:32 -05:00
8be313932e
use new canvas meter in push2 track mix layout
2016-09-27 14:59:32 -05:00
29b8072555
add canvas-based Meter object
2016-09-27 14:59:32 -05:00
85c1523611
add new Box container for Canvas.
...
API subject to change and improvement
2016-09-27 14:59:32 -05:00
ba82e673fd
add variant of Rect::expand() that allows different amounts in each direction
2016-09-27 14:59:32 -05:00
5d43d2e43f
don't do as much work if a Rectangle has no outline width or outline what values
2016-09-27 14:59:32 -05:00
f66f7ba136
make inclusion/exclusion of hidden children optional in Item::add_child_bounding_boxes
2016-09-27 14:59:32 -05:00
5672419fff
add Item::add_front()
2016-09-27 14:59:32 -05:00
095bdb7d40
make Item::child_changed() virtual
2016-09-27 14:59:32 -05:00
e1fb7fe9fc
working canvas meter code
2016-09-27 14:59:32 -05:00
7a0e2ceec0
first pass (incomplete) at canvas meters (in push2 context)
2016-09-27 14:59:32 -05:00
879b09d920
stop crashes from out-of-range values
2016-09-27 14:59:32 -05:00
7c82792a57
missing includes
2016-09-27 14:59:32 -05:00
feafcbf61d
fix various aspects of knob function
2016-09-27 14:59:32 -05:00
7594e7644a
vpot above metronome button controls click gain; master gain knob now works correctly
2016-09-27 14:59:32 -05:00
0f39f27375
fix issue with initial menu display
2016-09-27 14:59:32 -05:00
6d5878a926
leave a comment about port reconnection
2016-09-27 14:59:32 -05:00
0aaf2d1f34
clear filtered note map when entered drum mode
2016-09-27 14:59:32 -05:00
ae01ac2384
update pad colors when selected track colors chane
2016-09-27 14:59:32 -05:00
a9a3b71807
change handling of MIDI sysex incoming to be a little more efficient
2016-09-27 14:59:32 -05:00
44c0ea2095
fix assignment of palette colors by using white-balance = 126; also use ArdourCanvas color macros
2016-09-27 14:59:32 -05:00
48087c3161
update selection rect color when track color changes
2016-09-27 14:59:32 -05:00
acf586b058
add MidiByteArray::compare_n()
2016-09-27 14:59:31 -05:00
69a789c513
push2: make quantize and duplicate buttons do something useful
2016-09-27 14:59:31 -05:00
f35c5fd5a6
push2: master button now does something useful
2016-09-27 14:59:31 -05:00
3aa0676f70
push2: substantial improvements to track mix mode, and a few other details
2016-09-27 14:59:31 -05:00
f12150a1ed
push2: always use a contrasting color when flashing played pads
2016-09-27 14:59:31 -05:00
cb340bf190
push2: when playing pads, flash all pad LEDs for the same note number for the pressed pad
2016-09-27 14:59:31 -05:00
0add64d4ab
push2: fix color map store/lookup for rgba<=>color index mapping
2016-09-27 14:59:31 -05:00
9e1c7ccaf8
push2: don't send ScaleChanged unless something did actually change
2016-09-27 14:59:31 -05:00
33713d6f68
push2: reset pad colors when necessary
2016-09-27 14:59:31 -05:00
a4cd0d7dae
push2: set and use selected track color for root notes on pads
2016-09-27 14:59:31 -05:00
06683b1bda
header file now included in push2.h
2016-09-27 14:59:31 -05:00
13295cf060
use ArdourCanvas::Color not uint32_t for push2 color decls
2016-09-27 14:59:31 -05:00
87ab1625ff
push2: volume pots now work like non-linear faders, as desired
2016-09-27 14:59:31 -05:00
6f2ac5d6ad
push2: various changes in support of menus and scale mode
2016-09-27 14:59:31 -05:00
b6ecc56e7a
push2: scale selection and display on video display now working
2016-09-27 14:59:31 -05:00
9cc40aafa0
push2: menu presentation now working
2016-09-27 14:59:31 -05:00
0610e1dc8d
remove all pad + scale stuff from push2 gui
2016-09-27 14:59:31 -05:00
0613f8e3bd
put change_alpha() into ArdourCanvas namespace as intended
2016-09-27 14:59:31 -05:00
216ce7bcb8
a slew of unconnected mostly minor tweaks to get Push2 support back to where it was...
...
... prior to using the canvas for the video screen
2016-09-27 14:59:31 -05:00
b835486170
tweaks and so forth to get first canvas-based rendering to Push2 display
2016-09-27 14:59:31 -05:00
8cc94e79ac
push2: remove Knob::set_position() overload
2016-09-27 14:59:31 -05:00
7c9f3acc60
first compiling and theoretically correct version of Push2 canvas display.
...
Not tested with device at this point
2016-09-27 14:59:31 -05:00
2810e5619a
push2: provide basic GUI control for pressure mode
2016-09-27 14:59:31 -05:00
b822d8be36
basic code to get/set pressure mode to/from the push2
2016-09-27 14:59:31 -05:00
6946bdc083
send a slightly more useful message if a control protocol's probe() method fails
2016-09-27 14:59:31 -05:00
f50d7cda25
additional i18n.h changes for push2 branch
2016-09-27 14:59:31 -05:00
7011ce23b1
fix required after rebase against master
2016-09-27 14:59:31 -05:00
313a0a7e90
push2: small change to work with a recent change in master
2016-09-27 14:59:31 -05:00
8fdf1669a7
push2: fix up issues with object lifetimes and signals during shutdown
2016-09-27 14:59:31 -05:00
ad7543c02f
push2: track mix layout somewhat working
2016-09-27 14:59:31 -05:00
f20618ae19
push2: continued mix layout display refinement, plus scrolling fixes
2016-09-27 14:59:31 -05:00
11843e00ba
continuing work on refining push2 mix layout
2016-09-27 14:59:31 -05:00
b830965288
push2: steps toward a more ableton-like layout in mix mode
2016-09-27 14:59:31 -05:00
4cc71d2966
push2: parameterize and centralize colors
2016-09-27 14:59:31 -05:00
79025e8c42
push2: small code improvements, avoiding intermediate variables
2016-09-27 14:59:31 -05:00
ccbe1797d6
push2: color palette management, and responding to 2 track properties in TrackMix layout
2016-09-27 14:59:31 -05:00
a4324d79a7
push2: add a little meat to the bones of the TrackMix layout (just a name, for now)
2016-09-27 14:59:31 -05:00
995f3f80bb
push2: skeleton for track mix layout
2016-09-27 14:59:31 -05:00
2689458500
push2: rearrange and separate header file material
2016-09-27 14:59:31 -05:00
64d390ff13
push2: remove unneeded maps from Push2 object
2016-09-27 14:59:30 -05:00
c4602603b4
push2: make octave buttons actually work, with shift-press to reset to zero
2016-09-27 14:59:30 -05:00
6b080bf6ec
stop using pitch bend strip for shuttle control (it sucks, and messes up using it for MIDI performance)
2016-09-27 14:59:30 -05:00
8e63685724
push2: cleanup layouts
2016-09-27 14:59:30 -05:00
14d80ec5f8
refactor Push2 GUI into modular "layouts" that encapsulate a given screen, its drawing and event handling
2016-09-27 14:59:30 -05:00
86578ea0cc
push2: first somewhat operational versions of menus
2016-09-27 14:59:30 -05:00
b37531e04f
push2: basics of 4x 4x4 percussive mode, similar to MPC (and vaguely to Live)
2016-09-27 14:59:30 -05:00
5e407406c4
ControlOnly port flag is gone
2016-09-27 14:59:30 -05:00
1c9fdc0ce8
add Session::get_physical_ports() to centralize "get physical ports but (maybe) ignore control-only (and MIDI Through) ports"
2016-09-27 14:59:30 -05:00
47ba20143e
remove ControlOnly port flag, since it was essentially unusable
2016-09-27 14:59:30 -05:00
3cf92ee523
ignore control-only physical ports when building system bundles
2016-09-27 14:59:30 -05:00
bc1876a84b
push2: use correct selection API
2016-09-27 14:59:30 -05:00
053207003b
push2: passthru pitch bend, aftertouch and channel pressure from dem fancy pads!
2016-09-27 14:59:30 -05:00
c13e568ee8
push2: connect pad port to selected MIDI at protocol startup
2016-09-27 14:59:30 -05:00
d8de7962ca
change bundling of Push 2 ports so that the implicit connection ports don't show up
2016-09-27 14:59:30 -05:00
b31df0db2c
add bundle support to push2
2016-09-27 14:59:30 -05:00
581fe8a237
add MIDI bundles to Generic MIDI support so that the ports show up nicely in the grid
2016-09-27 14:59:30 -05:00
591e59dae4
add PortManager::port_is_control_only() and use it in PortManager::get_ports()
...
This allows us to avoid using "control-only" ports (e.g. Ableton Push 2 hardware ports) as inputs or outputs
2016-09-27 14:59:30 -05:00
0318d3cd64
add explanatory comment
2016-09-27 14:59:30 -05:00
5d4e1b3231
remove debug output
2016-09-27 14:59:30 -05:00
33a2995fd8
push2: save and restore push2 pad state, etc.
2016-09-27 14:59:30 -05:00
70477e6fed
push2: almost fully operational ableton style pad mapping, etc
2016-09-27 14:59:30 -05:00
2aec2161f9
push2: initial sort of working pad remapping
2016-09-27 14:59:30 -05:00
597c737ab5
push2: get automatic pad connection to selected MIDI track working again
2016-09-27 14:59:30 -05:00
d19c9885ff
push2: start of pad layout editing
2016-09-27 14:59:30 -05:00
afef816a7b
push2: use a map for direct lookup of pad note
2016-09-27 14:59:30 -05:00
66453868cd
push2: update GUI pad display when octave shift is used, or pad map is changed
2016-09-27 14:59:30 -05:00