Commit graph

12273 commits

Author SHA1 Message Date
Paul Davis
cce1c58198 This wasn't supposed to be pushed to master.
Revert "add basic data members and methods for adding an explicit size allocation for Canvas::Item"

This reverts commit d1c1d8df61.
2017-01-24 23:17:38 +01:00
Paul Davis
d1c1d8df61 add basic data members and methods for adding an explicit size allocation for Canvas::Item 2017-01-24 22:45:22 +01:00
Paul Davis
4a03572cd9 NO-OP: add a few spaces before function args 2017-01-23 21:58:02 +01:00
Robin Gareus
8b453f5f2a Safe Mode: disable VST scan 2017-01-23 19:53:18 +01:00
Paul Davis
93f837b43e generic MIDI: put controllables into touch mode (if appropriate) when data is received 2017-01-23 13:25:56 +01:00
Paul Davis
93192705bd at transport stop, clear all existing automation watches (touch) 2017-01-23 13:25:24 +01:00
Hiroki Inagaki
5a5ed37384 Update Japanese translation 2017-01-22 22:03:55 +01:00
Paul Davis
247f8a0809 implement Session::route_by_selected_count() 2017-01-22 19:49:40 +01:00
Paul Davis
2f1899d5dd PresentationInfo needs to emit Change for selection/hide/order 2017-01-22 19:49:40 +01:00
Paul Davis
db981b6085 more consistent terminology in a comment 2017-01-22 19:49:40 +01:00
Paul Davis
7daf620a8d add some comments 2017-01-22 19:49:40 +01:00
Robin Gareus
fff324ef7b Lua: bindings for do_import() 2017-01-21 20:18:27 +01:00
Robin Gareus
6f7f527e1d Lua add an Empty/Nil shared-pointer constructor 2017-01-21 20:18:27 +01:00
Robin Gareus
d0b42aee0e LuaBindings: prefer shared_ptr over weak_ptr 2017-01-21 20:18:27 +01:00
Paul Davis
4a5abf61b0 don't repeat-hard-code names for 3 automation types.
Fixes warning during session loading
2017-01-21 15:41:16 +00:00
Paul Davis
2b081ca642 use SSE/AVX for scaling gain automation buffer via masters' value 2017-01-21 15:22:38 +00:00
Paul Davis
94c11ebd90 remove debug cruft from wscript for push2 that breaks with python3 2017-01-21 15:04:39 +00:00
Paul Davis
94a136a6bf Amp is the one place where we generate a per-sample vector for automation playback. Scale this by the masters' value(s) if appropriate 2017-01-21 15:02:29 +00:00
Paul Davis
2f530d4fd8 SlavableAutomationControl::get_value(), if doing automation playback, should still scale the returned value by the masters' value(s) 2017-01-21 15:01:16 +00:00
Robin Gareus
2dc392b517 update bbe62da55a - use last-modified-with, strip git-rev 2017-01-21 01:19:19 +01:00
Robin Gareus
7a36ce4925 Instrument insert options:
* allow to directly fan-out when adding a multi-channel instrument
 * Mixbus: move multi-channel instruments after Comp & EQ.
2017-01-21 00:38:43 +01:00
Robin Gareus
b588be2dea Instrument channel option when adding track
By setting strict-io on the Instrument plugin early during track
creation, adding the plugin will trigger a PluginSetup Dialog for
multi-out instruments in a strict i/o track.
2017-01-20 21:46:47 +01:00
Robin Gareus
b25cd7683b Allow Lua bindings up to 10 args 2017-01-20 21:23:05 +01:00
Robin Gareus
bbe62da55a Extract program version that a session was created with 2017-01-20 18:15:44 +01:00
Robin Gareus
de2612f7b4 remove cruft 2017-01-20 17:36:18 +01:00
Robin Gareus
99d284930d fix a -Wformat 2017-01-20 17:36:09 +01:00
Robin Gareus
8f8d0a70d8 Reap invalidation records 2017-01-20 13:54:03 +01:00
Robin Gareus
fbae5f5ffd Free dead request-buffers
This partially plugs a memory leak of event-loops.
2017-01-20 13:53:59 +01:00
Robin Gareus
f05a07837b MIDI leaks -- the Controllergate conspiracy debunked 2017-01-20 11:40:53 +01:00
Robin Gareus
02d484de8a Plug some libardour memory leaks 2017-01-20 11:32:55 +01:00
Robin Gareus
6b5dce2c66 Yet another pane pain: allow deleting children using forall_vfunc
We not only need to make sure the iterator remains valid, but also
the object pointed to.

Valgrind trace:
Invalid read of size 8
 Gtkmm2ext::Pane::forall_vfunc(int, void (*)(_GtkWidget*, void*), void*) (pane.cc:617)
 Gtk::Container_Class::forall_vfunc_callback(_GtkContainer*, int, void (*)(_GtkWidget*, void*), void*)
 gtk_container_destroy (gtkcontainer.c:1073)
 g_closure_invoke (gclosure.c:804)
...
 g_object_run_dispose (gobject.c:1084)
2017-01-20 03:13:41 +01:00
Robin Gareus
4ee8a0e9fc Plug a memory leak (recent session list, session info) 2017-01-20 01:49:23 +01:00
Robin Gareus
7e766be2cb Add a note. 2017-01-20 00:50:29 +01:00
Robin Gareus
b084036c87 Fix oddities when replacing VST-presets.
VST used the count of available of presets as URI:
 - add 2 presets (1,2)
 - remove first, add another one -> two presets with same URI (2,2)

PluginInfo::get_presets() simply lists all (name only) in a vector.
Plugin::find_presets() uses the URI in a map (unique by URI).

..various ensuing bugs: eg. Plugin::remove_preset() looked up by name,
but didn't check for NULL.
2017-01-20 00:50:14 +01:00
Robin Gareus
7617477609 Scale default Atom Ringbuffer size with samplerate
This increases the safe-margin for plugins producing more messages
sent to the plugin GUI (usually fixed ~25Hz updates)
2017-01-19 21:35:22 +01:00
Paul Davis
5d7b6fdd62 ancillary change related to removal of boost::optional<Rect> 2017-01-19 20:55:38 +01:00
Paul Davis
4fa4b9a135 remove use of boost::optional to define "undefined" Canvas::Rect, and use Rect::empty instead.
This commit includes Rect::operator bool() which might be a candidate for removal in a future commit, in an attempt
to make the meaning clearer
2017-01-19 20:54:54 +01:00
Robin Gareus
dc11651694 Relax monitor-section processor channel restriction 2017-01-19 18:32:45 +01:00
Robin Gareus
8fba1cacd7 Add some comment 2017-01-19 13:05:54 +01:00
Robin Gareus
9c08a403c4 Add alternative preroll record mode:
* Start recording at preroll, trim region to skip preroll at rec-stop
* Keep old punch-in rec-at-preroll API for tape-tracks (later)
2017-01-19 13:05:54 +01:00
Robin Gareus
e959a762b5 Rework preroll-rec API:
* rename: indicate that recording happens after preroll, punch-in
* move API into libardour: rec+roll (no separate setup, seek, roll APIs)
2017-01-19 13:05:54 +01:00
Robin Gareus
0f020e59b8 Move preroll duration calc into libardour 2017-01-19 13:05:54 +01:00
Paul Davis
b4cf8cfc49 fix up Canvas::Grid child layout 2017-01-19 00:24:54 +01:00
Paul Davis
73acd5b413 correct translation matrix for Canvas::Widget 2017-01-19 00:24:54 +01:00
Paul Davis
c91c028c37 do not add items twice to their canvas parent! 2017-01-19 00:24:54 +01:00
Robin Gareus
efd10abdfb Implement record with preroll 2017-01-18 15:15:48 +01:00
Robin Gareus
a6e02c0d71 Implement Count-In (before recording), fixed BPM, up to 2 bars 2017-01-17 20:43:55 +01:00
Robin Gareus
fcbed9c1dc Split metronome methods into re-usable parts (for count-in) 2017-01-17 20:20:34 +01:00
Robin Gareus
88d797bd64 Prepare session-wide implicit monitoring overrides 2017-01-16 19:54:42 +01:00
John Emmas
88b3aa926a Accommodate newly introduced source(s) in our MSVC project (cairocanvas) 2017-01-16 15:21:47 +00:00