ardour.git
7 years agomark session dirty when dragging tempo markers.
nick_m [Thu, 26 Jan 2017 16:05:32 +0000 (03:05 +1100)]
mark session dirty when dragging tempo markers.

7 years agono-op - whitespace fix for libs/ardour/playlist.cc
nick_m [Thu, 26 Jan 2017 14:10:49 +0000 (01:10 +1100)]
no-op - whitespace fix for libs/ardour/playlist.cc

7 years agoMidiGhostRegion micro-optimisation.
nick_m [Thu, 26 Jan 2017 13:58:09 +0000 (00:58 +1100)]
MidiGhostRegion micro-optimisation.

7 years agoMidiRegionView::redisplay_model() - code cleanup
nick_m [Thu, 26 Jan 2017 13:56:39 +0000 (00:56 +1100)]
MidiRegionView::redisplay_model() - code cleanup

7 years agoFix mixer continuous multi-selection
Robin Gareus [Thu, 26 Jan 2017 13:08:58 +0000 (14:08 +0100)]
Fix mixer continuous multi-selection

Shift+select needs to iterate over strips as they are visually ordered.
(Previously the order of adding/loading strips was used)

7 years agoimprove range drag semantics
Paul Davis [Wed, 25 Jan 2017 20:46:24 +0000 (21:46 +0100)]
improve range drag semantics

If a track is selected during the drag (by moving the mouse pointer into a new track), but it was not
selected at the start, and is then de-selected (by moving the mouse back out of it), then remove
it from the selection.

7 years agoyet another case of misplaced parentheses during the removal of boost::optional from...
Paul Davis [Wed, 25 Jan 2017 15:56:31 +0000 (16:56 +0100)]
yet another case of misplaced parentheses during the removal of boost::optional from Canvas

7 years agoThis turns out to have been a band-aid over a deeper issue in libcanvas, fixed
Paul Davis [Wed, 25 Jan 2017 15:54:48 +0000 (16:54 +0100)]
This turns out to have been a band-aid over a deeper issue in libcanvas, fixed
in commit 49422aa89

Revert "fix an issue with selection rects not being redrawn correctly"

This reverts commit fa1a7ae9b91d0321b71b3de4f720a393d827cd9c.

7 years agoanother case of misplaced parentheses during the removal of boost::optional from...
Paul Davis [Wed, 25 Jan 2017 15:54:29 +0000 (16:54 +0100)]
another case of misplaced parentheses during the removal of boost::optional from Canvas

7 years agofix an issue with selection rects not being redrawn correctly
Paul Davis [Wed, 25 Jan 2017 15:45:38 +0000 (16:45 +0100)]
fix an issue with selection rects not being redrawn correctly

7 years agoThis wasn't supposed to be pushed to master.
Paul Davis [Tue, 24 Jan 2017 22:17:38 +0000 (23:17 +0100)]
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 d1c1d8df614672b00a9835ae04566b12d21be697.

7 years agoMIDI note copy needs to adjust pitch of new notes before adding them
Paul Davis [Tue, 24 Jan 2017 22:07:27 +0000 (23:07 +0100)]
MIDI note copy needs to adjust pitch of new notes before adding them

7 years agoadd basic data members and methods for adding an explicit size allocation for Canvas...
Paul Davis [Fri, 20 Jan 2017 11:08:58 +0000 (12:08 +0100)]
add basic data members and methods for adding an explicit size allocation for Canvas::Item

7 years agore-fine preferences dialog part 13 of 27 (probably):
Robin Gareus [Tue, 24 Jan 2017 16:35:07 +0000 (17:35 +0100)]
re-fine preferences dialog part 13 of 27 (probably):

* expose try-autostart engine
* move Session settings to sub-menu (general was getting to large)

7 years agostyleguide #6
Robin Gareus [Tue, 24 Jan 2017 12:47:01 +0000 (13:47 +0100)]
styleguide #6

7 years agoMeter point toggle button now uses a popup menu instead of toggling
Daniel Sheeler [Mon, 23 Jan 2017 01:00:16 +0000 (19:00 -0600)]
Meter point toggle button now uses a popup menu instead of toggling

7 years agosuffix region gain to TAVitem name
Robin Gareus [Tue, 24 Jan 2017 12:37:20 +0000 (13:37 +0100)]
suffix region gain to TAVitem name

7 years agoimplement copy-drag for MIDI notes.
Paul Davis [Mon, 23 Jan 2017 20:57:38 +0000 (21:57 +0100)]
implement copy-drag for MIDI notes.

Probably some corner cases to be fixed, but pretty functional and largely modelled
on existing code (paste, drag, step add note etc.)

7 years agoNO-OP: add a few spaces before function args
Paul Davis [Mon, 23 Jan 2017 20:48:01 +0000 (21:48 +0100)]
NO-OP: add a few spaces before function args

7 years agoSafe Mode: disable VST scan
Robin Gareus [Mon, 23 Jan 2017 18:53:18 +0000 (19:53 +0100)]
Safe Mode: disable VST scan

7 years agogeneric MIDI: put controllables into touch mode (if appropriate) when data is received
Paul Davis [Mon, 23 Jan 2017 12:25:56 +0000 (13:25 +0100)]
generic MIDI: put controllables into touch mode (if appropriate) when data is received

7 years agoat transport stop, clear all existing automation watches (touch)
Paul Davis [Mon, 23 Jan 2017 12:25:24 +0000 (13:25 +0100)]
at transport stop, clear all existing automation watches (touch)

7 years agomake undo/redo work for Regions > Edit > Close Gaps
Paul Davis [Sun, 22 Jan 2017 21:16:08 +0000 (22:16 +0100)]
make undo/redo work for Regions > Edit > Close Gaps

7 years agoUpdate Japanese translation
Hiroki Inagaki [Sun, 22 Jan 2017 07:43:23 +0000 (23:43 -0800)]
Update Japanese translation

7 years agoimplement Session::route_by_selected_count()
Paul Davis [Sun, 22 Jan 2017 18:48:10 +0000 (19:48 +0100)]
implement Session::route_by_selected_count()

7 years agoPresentationInfo needs to emit Change for selection/hide/order
Paul Davis [Sun, 22 Jan 2017 18:47:52 +0000 (19:47 +0100)]
PresentationInfo needs to emit Change for selection/hide/order

7 years agomore consistent terminology in a comment
Paul Davis [Sun, 22 Jan 2017 11:02:28 +0000 (12:02 +0100)]
more consistent terminology in a comment

7 years agoadd some comments
Paul Davis [Sat, 21 Jan 2017 18:20:04 +0000 (18:20 +0000)]
add some comments

7 years agoconsistent capitalization
Robin Gareus [Sat, 21 Jan 2017 22:29:08 +0000 (23:29 +0100)]
consistent capitalization

7 years agoardour runs fine in rr version 4.4.0, add scripts
Robin Gareus [Sat, 21 Jan 2017 22:10:33 +0000 (23:10 +0100)]
ardour runs fine in rr version 4.4.0, add scripts

7 years agoAdd Example script to import file(s)
Robin Gareus [Sat, 21 Jan 2017 19:18:04 +0000 (20:18 +0100)]
Add Example script to import file(s)

7 years agoLua: bindings for do_import()
Robin Gareus [Sat, 21 Jan 2017 19:08:12 +0000 (20:08 +0100)]
Lua: bindings for do_import()

7 years agoLua add an Empty/Nil shared-pointer constructor
Robin Gareus [Sat, 21 Jan 2017 19:07:54 +0000 (20:07 +0100)]
Lua add an Empty/Nil shared-pointer constructor

7 years agoLuaBindings: prefer shared_ptr over weak_ptr
Robin Gareus [Sat, 21 Jan 2017 19:06:54 +0000 (20:06 +0100)]
LuaBindings: prefer shared_ptr over weak_ptr

7 years agodon't repeat-hard-code names for 3 automation types.
Paul Davis [Sat, 21 Jan 2017 15:41:16 +0000 (15:41 +0000)]
don't repeat-hard-code names for 3 automation types.

Fixes warning during session loading

7 years agouse SSE/AVX for scaling gain automation buffer via masters' value
Paul Davis [Sat, 21 Jan 2017 15:22:38 +0000 (15:22 +0000)]
use SSE/AVX for scaling gain automation buffer via masters' value

7 years agoremove debug cruft from wscript for push2 that breaks with python3
Paul Davis [Sat, 21 Jan 2017 15:04:39 +0000 (15:04 +0000)]
remove debug cruft from wscript for push2 that breaks with python3

7 years agoAmp is the one place where we generate a per-sample vector for automation playback...
Paul Davis [Sat, 21 Jan 2017 15:02:29 +0000 (15:02 +0000)]
Amp is the one place where we generate a per-sample vector for automation playback. Scale this by the masters' value(s) if appropriate

7 years agoSlavableAutomationControl::get_value(), if doing automation playback, should still...
Paul Davis [Sat, 21 Jan 2017 15:01:16 +0000 (15:01 +0000)]
SlavableAutomationControl::get_value(), if doing automation playback, should still scale the returned value by the masters' value(s)

7 years agoparse modified-with for up to 5 snapshots.
Robin Gareus [Sat, 21 Jan 2017 12:00:07 +0000 (13:00 +0100)]
parse modified-with for up to 5 snapshots.

7 years agoDon't inhertit "last modified" for snapshot
Robin Gareus [Sat, 21 Jan 2017 11:51:10 +0000 (12:51 +0100)]
Don't inhertit "last modified" for snapshot

7 years agoTranslatable Metronome tooltip, formatting and typo fix.
Robin Gareus [Sat, 21 Jan 2017 00:46:40 +0000 (01:46 +0100)]
Translatable Metronome tooltip, formatting and typo fix.

7 years agoUpdate metronome tooltip on gain change
Daniel Sheeler [Fri, 20 Jan 2017 23:06:44 +0000 (17:06 -0600)]
Update metronome tooltip on gain change

7 years agoShow last modified in recent-list
Robin Gareus [Fri, 20 Jan 2017 23:48:47 +0000 (00:48 +0100)]
Show last modified in recent-list

7 years agoupdate bbe62da55a - use last-modified-with, strip git-rev
Robin Gareus [Fri, 20 Jan 2017 23:47:33 +0000 (00:47 +0100)]
update bbe62da55a - use last-modified-with, strip git-rev

7 years agoAdd GUI part to immediately fan-out multi-out instruments on track creation
Robin Gareus [Fri, 20 Jan 2017 23:40:18 +0000 (00:40 +0100)]
Add GUI part to immediately fan-out multi-out instruments on track creation

7 years agoInstrument insert options:
Robin Gareus [Fri, 20 Jan 2017 23:32:15 +0000 (00:32 +0100)]
Instrument insert options:

 * allow to directly fan-out when adding a multi-channel instrument
 * Mixbus: move multi-channel instruments after Comp & EQ.

7 years agoGUI follow up for new-MIDI-track API change
Robin Gareus [Fri, 20 Jan 2017 20:47:09 +0000 (21:47 +0100)]
GUI follow up for new-MIDI-track API change

7 years agoInstrument channel option when adding track
Robin Gareus [Fri, 20 Jan 2017 20:46:47 +0000 (21:46 +0100)]
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.

7 years agoAllow Lua bindings up to 10 args
Robin Gareus [Fri, 20 Jan 2017 20:23:05 +0000 (21:23 +0100)]
Allow Lua bindings up to 10 args

7 years agoupdate UI, new info API, display created_version in tooltip
Robin Gareus [Fri, 20 Jan 2017 17:16:32 +0000 (18:16 +0100)]
update UI, new info API, display created_version in tooltip

7 years agoExtract program version that a session was created with
Robin Gareus [Fri, 20 Jan 2017 17:15:44 +0000 (18:15 +0100)]
Extract program version that a session was created with

7 years agoremove cruft
Robin Gareus [Fri, 20 Jan 2017 16:36:18 +0000 (17:36 +0100)]
remove cruft

7 years agofix a -Wformat
Robin Gareus [Fri, 20 Jan 2017 16:36:09 +0000 (17:36 +0100)]
fix a -Wformat

7 years agoElaborate valgrind options
Robin Gareus [Fri, 20 Jan 2017 12:50:10 +0000 (13:50 +0100)]
Elaborate valgrind options

7 years agoLeave some notes about memory-leaks
Robin Gareus [Fri, 20 Jan 2017 12:31:56 +0000 (13:31 +0100)]
Leave some notes about memory-leaks

7 years agoReap invalidation records
Robin Gareus [Fri, 20 Jan 2017 12:46:11 +0000 (13:46 +0100)]
Reap invalidation records

7 years agoFree dead request-buffers
Robin Gareus [Fri, 20 Jan 2017 12:45:14 +0000 (13:45 +0100)]
Free dead request-buffers

This partially plugs a memory leak of event-loops.

7 years agoBreathe at exit: allow event-loops to clean up
Robin Gareus [Fri, 20 Jan 2017 12:31:24 +0000 (13:31 +0100)]
Breathe at exit: allow event-loops to clean up

7 years agoPlug some mixer memory leaks
Robin Gareus [Fri, 20 Jan 2017 10:54:02 +0000 (11:54 +0100)]
Plug some mixer memory leaks

7 years agoFree some one time alloc of the UI (cleaner valgrind output)
Robin Gareus [Fri, 20 Jan 2017 10:48:59 +0000 (11:48 +0100)]
Free some one time alloc of the UI (cleaner valgrind output)

No incremental leaks here..
* downcase (const char*) uses strdup, caller needs to free
* free allocated cursors when the editor is destroyed
* drop static editor lua-instance & bindings
* delete allocated gtk image/icons

7 years agoRemove cruft
Robin Gareus [Fri, 20 Jan 2017 10:43:42 +0000 (11:43 +0100)]
Remove cruft

7 years agoMIDI leaks -- the Controllergate conspiracy debunked
Robin Gareus [Fri, 20 Jan 2017 10:40:46 +0000 (11:40 +0100)]
MIDI leaks -- the Controllergate conspiracy debunked

7 years agoPlug some libardour memory leaks
Robin Gareus [Fri, 20 Jan 2017 10:32:55 +0000 (11:32 +0100)]
Plug some libardour memory leaks

7 years agoYet another pane pain: allow deleting children using forall_vfunc
Robin Gareus [Fri, 20 Jan 2017 02:13:41 +0000 (03:13 +0100)]
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)

7 years agoPlug a memory leak (recent session list, session info)
Robin Gareus [Fri, 20 Jan 2017 00:49:23 +0000 (01:49 +0100)]
Plug a memory leak (recent session list, session info)

7 years agoAdd a note.
Robin Gareus [Thu, 19 Jan 2017 23:50:29 +0000 (00:50 +0100)]
Add a note.

7 years agoFix oddities when replacing VST-presets.
Robin Gareus [Thu, 19 Jan 2017 23:33:44 +0000 (00:33 +0100)]
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.

7 years agoScale default Atom Ringbuffer size with samplerate
Robin Gareus [Thu, 19 Jan 2017 20:07:22 +0000 (21:07 +0100)]
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)

7 years agoancillary change related to removal of boost::optional<Rect>
Paul Davis [Thu, 19 Jan 2017 19:55:38 +0000 (20:55 +0100)]
ancillary change related to removal of boost::optional<Rect>

7 years agoremove use of boost::optional to define "undefined" Canvas::Rect, and use Rect::empty...
Paul Davis [Thu, 19 Jan 2017 19:54:24 +0000 (20:54 +0100)]
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

7 years agoadd delete x-run marker script
Robin Gareus [Thu, 19 Jan 2017 18:35:55 +0000 (19:35 +0100)]
add delete x-run marker script

7 years agoFix metronome level preference display
Robin Gareus [Thu, 19 Jan 2017 18:27:26 +0000 (19:27 +0100)]
Fix metronome level preference display

click-level fader is not a component added to the top-level, the page
intercepts the parameter_changed signal

7 years agoAllow to change metronome level via mouse-wheel
Robin Gareus [Thu, 19 Jan 2017 18:12:25 +0000 (19:12 +0100)]
Allow to change metronome level via mouse-wheel

7 years agoRelax monitor-section processor channel restriction
Robin Gareus [Thu, 19 Jan 2017 17:32:45 +0000 (18:32 +0100)]
Relax monitor-section processor channel restriction

7 years agoUpdate monitor section controls when channelcount changes
Robin Gareus [Thu, 19 Jan 2017 14:42:27 +0000 (15:42 +0100)]
Update monitor section controls when channelcount changes

7 years agoGUI: use new preroll-rec + trim mode
Robin Gareus [Thu, 19 Jan 2017 12:04:41 +0000 (13:04 +0100)]
GUI: use new preroll-rec + trim mode

7 years agoAdd some comment
Robin Gareus [Thu, 19 Jan 2017 12:04:07 +0000 (13:04 +0100)]
Add some comment

7 years agoAdd alternative preroll record mode:
Robin Gareus [Thu, 19 Jan 2017 12:03:57 +0000 (13:03 +0100)]
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)

7 years agoRework preroll-rec API:
Robin Gareus [Thu, 19 Jan 2017 11:57:47 +0000 (12:57 +0100)]
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)

7 years agoRemove rec-with-preroll, prepare for rework
Robin Gareus [Thu, 19 Jan 2017 11:41:48 +0000 (12:41 +0100)]
Remove rec-with-preroll, prepare for rework

7 years agoRemove Editor API to calc preroll duration
Robin Gareus [Thu, 19 Jan 2017 11:40:34 +0000 (12:40 +0100)]
Remove Editor API to calc preroll duration

7 years agoMove preroll duration calc into libardour
Robin Gareus [Thu, 19 Jan 2017 11:39:15 +0000 (12:39 +0100)]
Move preroll duration calc into libardour

7 years agoAdd comment regarding themeable boxes
Ben Loftis [Thu, 19 Jan 2017 00:28:21 +0000 (18:28 -0600)]
Add comment regarding themeable boxes

7 years agoTweak some tooltip text.
Ben Loftis [Thu, 19 Jan 2017 00:25:13 +0000 (18:25 -0600)]
Tweak some tooltip text.

7 years agoAllow editor toolbar and background to be themeable.
Ben Loftis [Thu, 19 Jan 2017 00:21:48 +0000 (18:21 -0600)]
Allow editor toolbar and background to be themeable.

7 years agofix up Canvas::Grid child layout
Paul Davis [Wed, 18 Jan 2017 23:23:29 +0000 (00:23 +0100)]
fix up Canvas::Grid child layout

7 years agocorrect translation matrix for Canvas::Widget
Paul Davis [Wed, 18 Jan 2017 23:23:10 +0000 (00:23 +0100)]
correct translation matrix for Canvas::Widget

7 years agofix code for ArdourButton so that an existing translation component to the cairo...
Paul Davis [Wed, 18 Jan 2017 23:22:05 +0000 (00:22 +0100)]
fix code for ArdourButton so that an existing translation component to the cairo transformation matrix is honored correctly

7 years agodo not add items twice to their canvas parent!
Paul Davis [Wed, 18 Jan 2017 09:21:58 +0000 (10:21 +0100)]
do not add items twice to their canvas parent!

7 years agoPromote the preroll_seconds config option to include musical time:
Robin Gareus [Wed, 18 Jan 2017 22:47:50 +0000 (23:47 +0100)]
Promote the preroll_seconds config option to include musical time:

Interpret negative preroll time as bars

7 years agoprepare for musical-time preroll
Robin Gareus [Wed, 18 Jan 2017 16:30:55 +0000 (17:30 +0100)]
prepare for musical-time preroll

7 years agotweak table packing for more consistent spacing between buttons.
Ben Loftis [Wed, 18 Jan 2017 16:21:11 +0000 (10:21 -0600)]
tweak table packing for more consistent spacing between buttons.

7 years agoShuffle the layout of new monitor section, so it is recognizably different than punch...
Ben Loftis [Wed, 18 Jan 2017 14:28:25 +0000 (08:28 -0600)]
Shuffle the layout of new monitor section, so it is recognizably different than punch section; Standardize the button heights.

7 years agoAdd GUI action to record with preroll
Robin Gareus [Wed, 18 Jan 2017 14:16:05 +0000 (15:16 +0100)]
Add GUI action to record with preroll

7 years agoImplement record with preroll
Robin Gareus [Wed, 18 Jan 2017 14:15:48 +0000 (15:15 +0100)]
Implement record with preroll

7 years agoCleanup global monitor options:
Robin Gareus [Wed, 18 Jan 2017 11:25:02 +0000 (12:25 +0100)]
Cleanup global monitor options:

- rely on parameter-changed signal emission to update buttons
- use dedicated button/style names
- improve tooltip

7 years agopush sorted Stripable order back to PI (for control surfaces)
Robin Gareus [Wed, 18 Jan 2017 04:14:48 +0000 (05:14 +0100)]
push sorted Stripable order back to PI (for control surfaces)

7 years agoAdd session option to enable count-in
Robin Gareus [Tue, 17 Jan 2017 19:44:50 +0000 (20:44 +0100)]
Add session option to enable count-in

7 years agoImplement Count-In (before recording), fixed BPM, up to 2 bars
Robin Gareus [Tue, 17 Jan 2017 19:43:55 +0000 (20:43 +0100)]
Implement Count-In (before recording), fixed BPM, up to 2 bars