13
0
Commit Graph

7867 Commits

Author SHA1 Message Date
83326a06ca basic code to use SVModifier plus one definition in dark.colors 2014-12-14 23:34:59 -05:00
56ca52651e fix up requested color names everywhere.
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14 16:15:38 -05:00
f00fa04f10 new version of dark.colors 2014-12-14 16:14:47 -05:00
5f98054269 remove now-unused headers 2014-12-14 16:14:32 -05:00
59f32dc80f remove base color concept from UIConfiguration and ThemeManager.
What used to be "relative colors" (defined relative to base colors) are now defined
in absolute terms.
2014-12-14 16:14:18 -05:00
48a7a11974 initial pass to replace all UIConfiguration::get_XXXXXX() calls with UIConfiguration::color(name).
IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-14 12:27:07 -05:00
06f2136c4f merge conflict resolution (text colors are no longer specified explicitly) 2014-12-14 12:18:55 -05:00
c98366c7c8 fixed merge conflict 2014-12-14 09:36:01 -05:00
ee38c44109 Structure MIDI device selector by manufacturer.
Unfortunately we store the state of models as simply model, so if there's ever
duplicate model names, we're somewhat screwed, but this makes the (previously
unmanageably huge) menu usable, while retaining the "model name as global
identifier" state unmodified.
2014-12-13 00:37:34 -05:00
17a58ecd4b Use ArdourDropdown for MIDI device selector. 2014-12-12 23:38:41 -05:00
e19e05fc59 hide a lot of color debugging noise 2014-12-12 15:27:32 -05:00
cb13fe578f show-more-ui-prefs-from-view-window is only a mixbus thing 2014-12-12 12:32:32 -06:00
f05a98f4fe more color tweaks 2014-12-12 11:27:29 -06:00
26bd753a11 more color tweaks 2014-12-12 11:03:50 -06:00
c2025a62a6 derive ArdourButton LED inactive color from active color, rather than requiring explicit definition 2014-12-12 11:48:45 -05:00
8de98a1d87 rescue some of the worst casualties of the color changes 2014-12-11 18:01:11 -06:00
8e0cea5128 remove unnecessary button fill color definitions AND fix up "variable" names in COLOR_ALIAS macros (makes no difference to function 2014-12-11 17:05:13 -05:00
66709c8cd0 remove unnecessary button fill colors 2014-12-11 17:04:40 -05:00
75e6a36d8e fall back on "generic button" colors in ArdourButton if specifically named fills + LED colors are not defined 2014-12-11 17:04:21 -05:00
bd430c2080 allow UIConfiguration::color() to tell caller that it could not find the named color 2014-12-11 17:03:52 -05:00
9278ae23c4 tweaks to minsec and timecode ruler display, especially at very high zoom.
Imported from work on Tracks done in Tel Aviv, November 2014
2014-12-11 12:51:01 -05:00
f1fd7feec6 add Grygorii Zharun to contributor list 2014-12-11 09:04:38 -05:00
764a8b9475 fix indentation 2014-12-11 09:04:26 -05:00
GZharun
8962adab4e [Summary] Fixed issue with shifted playhead polygon when new session is created 2014-12-11 08:53:26 -05:00
d3d0e342d4 tracked down another remaining SessionHandleRef
import_status.sources kept references to the
most recently imported ARDOUR::SndFileSource
“all new sources” from Session::import_files()
2014-12-10 21:45:11 +01:00
2bbef1f32e update_time_selection_display should work when in smart mode 2014-12-09 16:18:48 -06:00
e66752cec1 add set-session-extents-from-edit-range 2014-12-09 16:18:47 -06:00
1e0c1751a5 more DEBUG::Butler output, formatting corrections, and a warning on cerr if capture/playback buffers are too full/empty 2014-12-09 16:36:52 -05:00
8e93139872 fix meter scale colors (meterbridge) 2014-12-09 19:41:54 +01:00
246a4f3018 correct install location for .mo files (i18n) and cleanup LOCALEDIR use a bit 2014-12-09 08:19:11 -05:00
1648b94905 install single color theme file during waf install 2014-12-08 22:18:50 -05:00
b7c5f27b14 remove debug output 2014-12-08 22:09:37 -05:00
0bb8e80f87 more tweaking of color management.
User's own modification to NAME.colors are stored in $CONFIG/my-NAME.colors now.
2014-12-08 22:02:38 -05:00
9ac551abab another metric ton of color work 2014-12-08 22:02:38 -05:00
624a86c39d lots more color work, closer and closer to being ready for ... being taken apart again 2014-12-08 22:02:38 -05:00
74becec17f change GTK rc file system to use just a single file, which is color-neutral.
* packaging scripts need modification
* light theme file left in place to help with possible generation of alternate theme
2014-12-08 22:02:38 -05:00
aff8a806a2 more color work, including removing rgba{_p_}_from_style() 2014-12-08 22:02:38 -05:00
8455ebce90 noop, simplify code.
(!mixer || !editor) are checked at the top of the funtion
and also used without checks further down.
2014-12-08 18:47:10 +01:00
894192ca23 When we pass an integer clarify which overloaded version of sqrt() to call 2014-12-08 10:29:45 +00:00
9548b916e7 Don't switch to internal when switching to draw. 2014-12-07 23:59:07 -05:00
4f8714a038 Fix alignment of automation paste.
Preserve alignment between notes and control points when doing an internal
copy/paste of both.

Relative alignment between points on multi-paste is still not preserved.  Both
behaviours here are actually useful, perhaps a modifier...
2014-12-07 23:16:42 -05:00
116722f182 Fix uninitialized value in note create drag. 2014-12-07 20:37:53 -05:00
dff9e60c7f Draw region automation with draw in either mode.
Perhaps debatable if contents should be edited when not in internal mode
whatsoever, but consistent with audio region gain and track automation.  It's
less of a problem with the draw tool than, say, object since drawing stuff is
its entire purpose.
2014-12-07 20:37:53 -05:00
603748d68a Unify gain and draw tools.
There might be a few special cases lingering around from attempts at magic tool
business, but this seems to work fine as far as I can tell.
2014-12-07 20:37:46 -05:00
bbdad822cd Fix and simplify step_mouse_mode. 2014-12-07 19:04:33 -05:00
ec8c0e93bb Fix shift-rect-select with MIDI notes. 2014-12-07 17:30:06 -05:00
69c3a807cc new code-level defaults for audio peak meter colors 2014-12-07 16:11:24 -05:00
acd54f1c58 Revert "new code-level defaults for audio peak meter colors"
This reverts commit 564d2860f85340ea091cfa4d92cb5f84d2a40fb1.
2014-12-07 16:11:24 -05:00
a5e5c14c77 new code-level defaults for audio peak meter colors 2014-12-07 16:11:24 -05:00
95e47d65f4 sane audio meter default colors 2014-12-07 22:01:26 +01:00
d5ef338d9d remove old alias names for meter fills from default_ui_config 2014-12-07 15:12:28 -05:00
eaa456ff70 the return of correct audio meter colors 2014-12-07 15:06:33 -05:00
66f3de615f remove stacktrace 2014-12-07 14:23:24 -05:00
d425a43b26 fix up various issues with UIConfiguration, saving state, RC file loading etc. 2014-12-07 14:20:17 -05:00
9ac7ddb31d remove all explicit button text colors; use contrasting_text_color() instead.
Also, use a slightly off-white rather than pure white, which should really be configurable
2014-12-07 13:55:40 -05:00
b37be190f3 fix up a logic problem when editing palette colors 2014-12-07 13:44:12 -05:00
d7ca81cced remove debug output 2014-12-07 13:44:00 -05:00
8ada45344e fix default gtk background color 2014-12-07 13:43:40 -05:00
700edbdf39 big strides in color management 2014-12-07 13:12:48 -05:00
8f4ab08e20 revert UIConfiguration back to a normal member of ARDOUR_UI 2014-12-07 13:12:48 -05:00
d586289be5 first mostly-working build supporting GTK rethemeing via the Theme Manager 2014-12-07 13:12:48 -05:00
1b99e298e2 Make draw tool add points to track automation. 2014-12-07 00:26:00 -05:00
bfbb0f6178 Add legatize and remove overlap MIDI operations.
We're going to need the ability to apply MIDI edit operations to a note/control
selection soon...
2014-12-06 23:42:11 -05:00
f4a30e1f60 Support keyboard shift-click to select many notes.
Also support selecting with button 1 if shift is held, more discoverable.
2014-12-06 22:43:06 -05:00
39da38dd6e Nudge notes by 1 bar if secondary modifier active.
Similar to how transpose moves an octave if the same modifier is active.
2014-12-06 22:43:06 -05:00
60a045271e Allow creation of MIDI control points object tool. 2014-12-06 22:43:06 -05:00
16d60ef2f7 Grab keyboard only with note selection.
When entered, the keyboard is grabbed when the selection becomes non-empty, and
ungrabbed if it becomes empty again or the region is left or the user switches
out of internal mode.

This fixes scroll in internal mode and note moving with arrow keys.  Also frees
up useful keybindings when there is no note selection, which is much nicer than
the "nothing works in edit mode at all" greedy grab approach used previously.

Attempt #874327892 of getting this damned grabbing right.
2014-12-06 22:43:06 -05:00
89be7ae58c Fix crash on quit when in a non-route time axis. 2014-12-06 22:43:06 -05:00
2ea4ae603a Fix crash on shift+rclick of region to remove.
This doesn't seem to have been touched for years, and I don't see how such an
obvious bug could possibly have been around for so long, but, well, this fixes
it as far as I can tell.
2014-12-06 22:43:06 -05:00
09bd88c9df Fix crash when resizing a track quickly.
Triggered by resize drag an automation track very quickly upwards to shrink it
to the minimum.  Caused by unsigned integer underflow.
2014-12-06 22:43:06 -05:00
9f5023175f Fix crash when showing MIDI regions we shouldn't.
I am not sure what causes this, but it can happen when finishing a record
sometimes.  Probably MidiSource::_writing isn't updated in the right order with
whatever triggers the redisplay, but at least not crashing is better...
2014-12-06 16:46:00 -05:00
60f4f5b9d8 Fix inappropriately massive flag font. 2014-12-06 16:07:32 -05:00
8339850e14 Fix patch flag scroll theft when in normal mode. 2014-12-06 16:05:47 -05:00
4650912ae3 Adapt range when copying between automation types.
For things like copying from pitch bender to a CC.

Also things like fader to pan, but that seems a bit funny.  The conversion
probably needs to be a bit smarter here, perhaps taking the normal into
consideration...
2014-12-06 13:40:35 -05:00
96a9292a40 Restore an accidentally deleted #include 2014-12-06 17:50:36 +00:00
63082821d8 Support paste between automation lanes.
Also push the increasingly unwieldly paste parameters into a context object.

As with othe things, currently it is only possible to do "cross-type paste" by
explicitly selecting the target track.  We will need to get automation region
view selection working to do better here, but at least for now it's possible to
get the data over.
2014-12-06 12:20:52 -05:00
db1fc6c3fa Fix wacky return type. 2014-12-06 12:19:52 -05:00
2a28345bab Use source-relative time converter directly. 2014-12-06 10:27:18 -05:00
34fcf22476 Fix internal paste when selection has only points. 2014-12-06 10:26:25 -05:00
38a874ecb8 fix/amend pre commit 2014-12-06 08:24:21 +01:00
12a4ddc952 fix another ambiguity, this time: WINAPI Rectangle 2014-12-06 07:40:17 +01:00
d223e2ed57 fix ambiguous reference.
OSX CoreServices typedef's struct Rect
2014-12-06 05:52:31 +01:00
a65cd2a1b9 Make scroll work on MIDI regions when internal.
For some reason, grabbing the magic keyboard focus makes scroll stop working
regardless of what MRV::canvas_group_event() returns.  I can't figure out any
reason to grab the keyboard in this case anyway, so I just removed it.

Also simlify MRV event handling code in general.
2014-12-05 17:36:02 -05:00
4bc4cd0e20 save and restore color aliases 2014-12-05 11:17:56 -05:00
ab4b0dcffe add default (for now) color aliases to default_ui_config 2014-12-05 11:17:43 -05:00
db9fbac7b5 added new header file for color aliases 2014-12-05 09:36:55 -05:00
0045891362 part two of remove CANVAS_STRING_VARIABLE (it was replaced by CANVAS_FONT_VARIABLE 2014-12-05 09:26:12 -05:00
dd49a249ad remove CANVAS_STRING_VARIABLE (it was replaced by CANVAS_FONT_VARIABLE 2014-12-05 09:25:34 -05:00
2449fc9681 several steps closer to more sane color system 2014-12-05 09:01:55 -05:00
d0a18a8c35 correct alias definitions in default derived color list 2014-12-05 09:01:55 -05:00
46ed23116e make new color aliases actually work 2014-12-05 09:01:55 -05:00
8e54baa65f working compilation for new color code 2014-12-05 09:01:55 -05:00
b426873f6f Add MIDI control points only in internal/pencil. 2014-12-04 22:40:39 -05:00
24727e65be Make gain controls step by roughly 1.0/0.1 dB.
Shoot for roughly 30 steps for all controls.

Always keep sensible step information in ParameterDescriptor and just convert
for the UI.

This is a little weird, but it's less weird than it was before, and works.
2014-12-04 00:30:47 -05:00
d2a069178a allow spaces in TOP, cd to gtk2_ardour to avoid dup midnam, etc warnings 2014-12-03 20:45:12 +01:00
06f615c053 reduce confusion. 2014-12-03 13:52:29 +01:00
4b751f9e87 Move setting _fmode flag on windows into PBD::init
This moves setting of _fmode slightly later in the initialization
of the application via Ardour::init.
2014-12-03 17:31:05 +07:00
23c0452e05 Add test_search_path to find test files in MidnamTest 2014-12-03 17:31:04 +07:00
edac6abdd7 Remove old scripts from when scons was used for build system 2014-12-03 17:31:04 +07:00
61f9ca9f3c Use test utility function to find evoral test files
either via EVORAL_TEST_PATH env var or on windows via directory relative
to dll
2014-12-03 17:31:04 +07:00
40df14fa16 export ARDOUR/PBD_TEST_PATH so that ./waf test finds the pbd test files 2014-12-03 17:31:03 +07:00
b9567b6d46 Use ardev_common.sh to setup environment for running libardour tests 2014-12-03 17:31:03 +07:00
ec00c6d652 Because we're building the gdk-pixbuf modules statically (i.e. no longer as DLLs) it's not necessary to edit the user's 'gdk-pixbuf.loaders' file (MSVC build only) 2014-12-02 19:08:12 +00:00
86de0386c9 Fix automation write/touch. 2014-12-01 23:35:24 -05:00
b3ea22fc3f Remove unused method. 2014-12-01 23:35:24 -05:00
767c0238a3 Replace half-baked param metadata with descriptor.
Among other things, this means that automation controls/lists have the actual
min/max/normal/toggled of parameters, and not those inferred from the Parameter
ID, which is not correct for things like plugin parameters.

Pushing things down to the Evoral::ParmeterDescriptor may be useful in the
future to have lists do smarter things based on parameter range, but currently
I have just pushed down the above-mentioned currently used attributes.
2014-12-01 23:35:24 -05:00
Julien de Kozak
cb8abbe8d2 Make it compile with C++11 support.
Reference : https://bugs.webkit.org/show_bug.cgi?id=59249
2014-12-01 23:18:11 +01:00
002c3b1646 Add comment about parameters to coverage() including the end point. 2014-12-01 20:06:08 +00:00
0ffeaa6d6a Remove braindead Parameter inheritance abuse. 2014-11-30 23:56:20 -05:00
302c93df04 Fix test runner for tests that use files. 2014-11-30 23:56:19 -05:00
2588b1cac9 Trim the include tree. 2014-11-30 23:56:19 -05:00
cf537b97f5 Add missing namespace qualifiers. 2014-11-30 23:56:19 -05:00
0f72ea4a34 Factor out duplicated track automation code.
Mute automation for MIDI tracks.
2014-11-30 23:56:19 -05:00
52d97c8cfb update interface for processor-box faders step/page
see also 4d4c20b8c
2014-12-01 00:33:11 +01:00
4d4c20b8cc gtk interface update for controller step/page size 2014-11-30 15:05:40 +01:00
77d5fb7a35 Fix write for boolean automation. 2014-11-29 14:32:12 -05:00
48bb90eb88 show values on faders (fixes bug in 55c6165) 2014-11-29 14:49:03 +01:00
58663db374 change ownership of processor window-proxy
fixes crashes:
* If the Editor-Mixer shows a channel with a plugin that
has been edited in the Mixer, double-clicking the plugin 
will try to bring up a 2nd instance of the plugin-UI.
* When closing Ardour both the Mixer and the Editor-Mixer try to delete the underlying plugin, resulting in a double free.
2014-11-29 10:06:25 +01:00
ed1bbefd19 Somewhat working gain automation.
This probably isn't correct in several ways, but it works more than it did, so
I figure it's push worthy.

Still not working:

 * Saving mute automation list
 * Dragged control points are not snapped to model restrictions
   (boolean, in this case, but general problem)
 * Line goes funny if you record mute automation
   (as opposed to drawing it which works)
2014-11-29 01:25:27 -05:00
f190e630ab Show discrete/toggled automation as stepped line. 2014-11-28 21:15:28 -05:00
55c616519b Use a button as controller for toggled parameters. 2014-11-28 18:40:23 -05:00
e3da7aff8c Remove redundant calls to start/end_touch.
The controllers do this automatically.
2014-11-28 18:31:18 -05:00
16947f751b Remove dead code. 2014-11-27 04:17:15 -05:00
140540ef59 variable name change for slightly increased clarity 2014-11-26 18:22:22 +02:00
137425faf1 continue tweaks on the color road 2014-11-26 18:22:22 +02:00
7fc1152d31 newly generated, quantized-hue relative color definitions 2014-11-26 18:22:22 +02:00
7636bfe4ed add back grays 2014-11-26 18:22:22 +02:00
82aea4b047 add default values for base colors (configurable colors) to default_ui_config.in 2014-11-26 18:22:22 +02:00
ed65c801c5 save base colors (configurable colors) in normal way (code had been removed) 2014-11-26 18:22:22 +02:00
318a9edab9 massive reworking of color selection implementation 2014-11-26 18:22:22 +02:00
e9768e934f move creation of UIConfiguration object to precede creation of ArdourUI.
This is pretty kludgy but we need the UIConfiguration object (or any color management object) to be the first to connect to
the ColorsChanged signal.

Might be better to make the UIConfiguration object a delegate for the ThemeManager.
2014-11-26 18:22:22 +02:00
fcd7ec92d4 With printf() / snprintf() etc "%f" actually requests a double, not a float
Let's pass the correct type, since we can't rely on these functions to do intelligent conversion
2014-11-26 09:57:14 +00:00
97981e9007 fix indentation nightmare from 9559cf3947 2014-11-25 12:17:26 +02:00
5101916a17 fix case of included header file 2014-11-25 12:17:26 +02:00
VKamyshniy
c14c365419 [Summary] Fixing behavior of the FloatingTextEntry 2014-11-25 12:17:26 +02:00
76334847c5 quick sanity check 2014-11-25 10:35:50 +01:00
8a58ffd151 NOOP, fix some “missing sentinel” -Wformat 2014-11-25 10:23:10 +01:00
ea5876b836 Remove dead code. 2014-11-25 02:11:44 -05:00
d953f1ce0e when dragging on the canvas, use x,y pointer coordinates to decide if motion has occured.
Using _last_pointer_frame breaks when dragging to the left of the canvas, because we clamp
the value of the frame to >= 0. Motion would step once the pointer crossed the left edge
of the canvas because the frame value would always be zero.

This is not a problem when using the pointer x,y values which end up appropriately negative
under all conditions.
2014-11-24 21:59:29 +02:00
bf2625de40 Now that we're building pango's language modules statically (i.e. no longer as DLLs) it's not necessary to edit the user's 'pango.modules' file 2014-11-24 12:58:26 +00:00
3a7652200d also search for 32bit xjadeo on 64bit windows 2014-11-24 01:43:31 +01:00
1b6cbf743b update harvid & ffmpeg binary path discovery on windows (64 & 32 bit) 2014-11-23 23:57:55 +01:00
5aba4df252 fix/silence various compiler warnings.
* ifdef unused static functions
* brackets around assignment and comparision
* no return statement in function returning non-void
* boost concept_checks.hpp unused-local-typedefs
2014-11-23 23:57:55 +01:00
dcf632d99f assign minsec_ruler_scale and minsec_mark_modulo when zoomed very far out
Avoids crash when computing % minsec_mark_modulo.
2014-11-23 14:36:38 +02:00
57c1b6e261 Fix quantization and other time-related ops. 2014-11-22 21:49:42 -05:00
bed95a64a0 Fix note resizing. 2014-11-22 15:33:40 -05:00
73ad993597 Fix invisible discrete control points. 2014-11-22 04:39:30 -05:00
c1cfa12d6e Wrap MusicalTime in a class.
This lets us get a more explicit handle on time conversions, and is the main
step towards using actual beat:tick time and getting away from floating point
precision problems.
2014-11-22 04:05:42 -05:00
24f7eccc86 Factor out copy-paste code to get grid type in beats defaulting to 1. 2014-11-22 00:46:15 -05:00
41a9060df9 Move time converters only to the region views that actually need them.
A step towards sorting out time issues more solidly, the time situation of MIDI
region views and automation region views is slightly different.
2014-11-22 00:46:15 -05:00
7def8de5a3 Use memento_command_binder() to (probably) fix MSVC build and other things.
Remove ugly hack that does the same thing.
2014-11-20 12:01:39 -05:00
9d8bbf4b9a Remove unused variables. 2014-11-20 11:31:31 -05:00
4ffdc99c5f fix range selection of mixer strips; shift+selecting a single strip would select from there til the end 2014-11-19 17:27:13 -06:00
9bac4df9ec also load hotspot file (if it exists) for default cursors 2014-11-19 00:21:31 +01:00
f082c42994 drop hotspot info when changing cursors. 2014-11-18 22:11:12 +01:00
37a1717c22 add square cursors (for windows)
cursor icons squared with north-west gravity.
hotspots are identical to original icons.

otherwise gdkcursor-win32 creates square cursors with
center gravity and hotspot X/Y differs.
2014-11-18 22:00:58 +01:00
4389fd2ace tabs are tabs and spaces are spaces
see http://ardour.org/styleguide.html #26
2014-11-18 21:59:28 +01:00
7518c363e5 assert no null pointer dereference 2014-11-18 21:59:04 +01:00
Jeremy Carter
fe6e6e3f35 Plugin Automation All: Fix bug where Switches weren't being changed. 2014-11-18 14:26:50 -05:00
e8716de015 Make MIDI channel selector rows/col constraints actually do something.
Seems kind of pointless since it's always 4 anyway, but whatever.
2014-11-18 02:55:04 -05:00
bd577a0663 Avoid possible use of uninitialized values.
This could only happen with a broken widget, but it shuts up clang and doesn't
hurt.
2014-11-18 02:55:03 -05:00
976a150e6b Remove obviously dead/redundant code. 2014-11-18 02:55:03 -05:00
aabde88de0 Fix incredibly unlikely NULL pointer dereference. 2014-11-18 02:53:27 -05:00
2c85e7acac Fix zoom out limiting logic to actually limit minimum zoom. 2014-11-18 02:53:27 -05:00
adea8ab68f Fix mismatched note resize drag cursor and behaviour. 2014-11-18 02:53:27 -05:00
5799cb8509 Fix edit point selector on Mixbus. 2014-11-18 02:53:27 -05:00
843551d9d8 remove cruft 2014-11-18 06:15:22 +01:00
484e380536 silence clang "dead assignment" warnings 2014-11-18 04:46:37 +01:00
37937d9c69 synchronize preferences and monitor-section 2014-11-18 03:49:20 +01:00
bd5713f009 remove cruft (monitor section knobs are cairo now) 2014-11-18 02:15:06 +01:00
f39286f92f NOOP, re-indent and remove trailing whitespace 2014-11-18 02:15:06 +01:00
85cf4b4dbd Fix visibility of MIDI controller automation tracks across saves.
Fix some inaccurate/misleading comments that led to said bug.

Gracefully handle the "impossible" case where we can't figure out a state ID
for an automation track, instead of crashing.
2014-11-17 00:13:53 -05:00
c91b691260 Don't hide selected control points.
There was already code for this, but actually setting the corresponding
visibility flags seems to have been lost at some point.
2014-11-16 22:46:59 -05:00
563f5c11a6 Support cut/copy/paste of MIDI notes and controllers at the same time. 2014-11-16 22:35:45 -05:00
2fa6caad95 Support cut/copy/paste of several regions and lines at once.
The idea here is to do the reasonable thing, and copy objects of some
type (e.g. MIDI region, gain line) to tracks with a matching type.  The user
can override this with a track selection, which will be used straight-up.

Lost: ability to copy/paste lines across types, e.g. gain to pan.  This is
often questionable, but sometimes useful, so we will need to implement some
sort of "greedy mode" to make it possible.  Implementation simple, but not sure
what to do.  Perhaps this should only be possible if one automation track is
explicitly (i.e. via track selection) involved, and the types are at least
compatible-ish?
2014-11-16 22:35:45 -05:00
5393982c80 Don't add spurious points when copy/pasting automation. 2014-11-16 22:35:45 -05:00
9321aedb24 Reset repeated paste state on cut/copy. 2014-11-16 22:35:45 -05:00
b4fcdbb100 Don't add origin value to MIDI controller regions on initial insert.
This should probably hijack the same modifier as the guard points and work the
same on all automation tracks, but I did it this way to not change behaviour of
track automation where a default is much more reasonable.
2014-11-16 22:35:45 -05:00
d63161426f Add "maybe" rounding modes for rounding only if necessary. 2014-11-16 22:35:45 -05:00
fd9ccc7058 Use an enum for RoundMode instead of magic numbers.
No functional changes in this one (for easier auditing), but towards having
round up/down only if necessary modes, rather than kludging around that
situation with a double round as we do currently.
2014-11-16 22:35:45 -05:00
9c5e63bcc6 Make selected control points bright red rather than vice-versa. 2014-11-16 22:35:45 -05:00
8793e60af2 Use symbol for paste operation like everywhere else. 2014-11-16 22:35:45 -05:00
3f8251962f Fix crash when splitting regions in internal edit mode. 2014-11-16 22:35:45 -05:00
55ce10f498 NULL pointer dereference? 2014-11-17 03:58:05 +01:00
ad739cd018 add some assert() messages.
as hints clang static analyzer "Called C++ object pointer is null"
2014-11-17 03:49:19 +01:00
47f4005dbc fix logic (and possible segfault if !editor) 2014-11-17 03:28:33 +01:00
4a17f9e941 round control-scroll offsets towards zero
fixes MCU "Locate called for negative sample position"
2014-11-15 19:41:15 +01:00
0680d0b0ee fix compilation with --no-nls 2014-11-15 19:27:17 +01:00
163dc756e5 Fix selection in automation regions (MIDI controllers).
We shouldn't have to manually drive the drag here, but if the ARV handler
returns false, the event doesn't propagate correctly for some reason and the
drag is not driven by the Editor.
2014-11-15 03:48:40 -05:00
de1ebcc149 Fix entering/editing MIDI region "automation" (controllers).
Two issues:

1) AutomationRegionView not receiving events (CC breakage).

2) Entered values must be rounded to integer for MIDI controllers.  This should
be done more generically with ParameterDescriptor for all controls (also
supporting boolean toggles and such), once ParameterDescriptor becomes more
pervasive and takes over Evoral::Parameter, but this will do for now.
2014-11-15 02:58:39 -05:00
89a1980818 Only create MIDI regions on click when in draw mode.
It was much too easy to accidentally create MIDI regions in object mode.  If
the user isn't in draw mode anyway, then even after creating a region, they
can't put notes in it, so I don't think we've lost any discoverability here.
2014-11-15 02:03:40 -05:00
31acd96384 Implement "multi-paste" for notes, regions, and automation.
The idea here is that pasting several times to the same location doesn't make
sense.  Instead, the paste is appended past the last paste, snapped to the
grid.  This make it simple to replicate a given section a number of times,
simply by copying once and pasting several times.

This behaviour only appears when successive pastes are done to the same
location (whatever the edit point is).  When the paste point changes, the
"multi-paste" state is reset.

Boots 'n cats 'n boots 'n cats.
2014-11-14 20:04:19 -05:00
b01d1813f8 Fix missing return statement in deleted region scenario. 2014-11-14 20:04:19 -05:00
31b6b05125 Fix MIDI note cut/copy/paste. 2014-11-14 20:04:19 -05:00
497f0389d0 add Jeremy Carter to the about authors list 2014-11-14 17:16:06 -05:00
251735080d fix up some suboptimal and crash-prone aspects of 7c263f3bc4 from Jeremy Carter 2014-11-14 17:14:48 -05:00
Jeremy Carter
592bfdd3f4 Merge remote-tracking branch 'upstream/master' 2014-11-14 13:34:15 -05:00
6b3a8915f3 add abort() to non-reached code
This cleans up a lot of false-positives in static analysis
and also helps compilers to optimize code paths in general.
(tagging the fatal stingstream operator as ‘noreturn’ is
far less trivial)
2014-11-14 11:30:08 +01:00
5d5d9cb9e2 Fix various sticky/broken cursor issues.
This still isn't quite right, but it's a lot less broken than before, at least.
2014-11-14 02:37:36 -05:00
14e53b89c7 Fix wonky note length when create-dragging notes backwards.
Specifically, when pivoting from forwards to backwards (around the drag start
point), the note length was too long.  Setting both the start and end x
coordinates of the rect every time to the right value does the right thing.
2014-11-14 00:33:05 -05:00
3b23aed5e1 Fix error when create-dragging note backwards past start of region (#5934). 2014-11-14 00:31:28 -05:00
a733a2a4c5 Don't make MIDI regions in note mode completely invisible.
This makes for extremely confusing behaviour, particularly when creating new
regions.  This is still probably too transparent, IMO, but at least isn't
totally mysterious.  "visible" is a bit of a misnomer in the code, now.
2014-11-13 23:33:11 -05:00
a1e4befcca Fix crash after deleting automation region views (#4718). 2014-11-13 22:18:15 -05:00
589cc3162b Fix crash when deleting overlapped regions.
Use RegionSelection for MIDI regions as well, since the old dumb stub didn't do
some things correctly.  There's probably no reason to have a separate class for
this at all, and some good ones for putting all regions in the same selection,
so we should probably do that.  For now they are still separate in the
selection but use the same base class.
2014-11-13 21:32:08 -05:00
0547694ac3 fix compilation with gcc-4.9.1 2014-11-13 00:11:32 +01:00
533b545295 add popup message and error log for AU crash reports 2014-11-12 13:35:15 +01:00
d5ec118a1e add AU plugin scan to Preferences UI 2014-11-12 13:32:53 +01:00
Jeremy Carter
ca249f3e7c fixed automation *_all button crash 2014-11-11 19:33:25 -05:00
Jeremy Carter
7c263f3bc4 Added Write All, Play All, etc. automation buttons to generic plugin UI 2014-11-11 18:05:27 -05:00
72b063b6eb add 512px icon 2014-11-11 15:22:09 +01:00
73e25ec571 redraw entire canvas when ColorsChanged is emitted 2014-11-10 10:45:33 -05:00
0960122686 set canvas background color 2014-11-10 10:45:18 -05:00
1e6432450b add new color variable for arrange canvas background
Conflicts:
	gtk2_ardour/canvas_vars.h
	gtk2_ardour/default_ui_config.in
2014-11-10 10:45:00 -05:00
4260d0ca0e use new canvas colors header as necessary 2014-11-07 14:24:27 -05:00
1e8645bb8e remove TimeAxisViewItem::RIGHT_EDGE_SHIFT; fix up x-coordinate for right edge of an audio fade out 2014-11-07 12:58:56 -05:00
91c29b0ce5 simplify removal of outline from streamview base rect 2014-11-07 12:58:56 -05:00
cdcd1e973c simplify removal of outline from automation time axis base rect 2014-11-07 12:58:56 -05:00
30740983e0 fix up dimensions of ghostregion colored rect 2014-11-07 12:58:56 -05:00
44873d23e1 don't created vestigial frame canvas item for TimeAxisViewItem unless actually needed.
They don't cost very much but there's just really no point cluttering up the scene graph with generally invisible
and insensitive items
2014-11-07 12:58:56 -05:00
33b2dccacc add a selection frame to TimeAxisViewItem along with a slew of other height/positional fixes 2014-11-05 19:45:23 -05:00
555ceba876 various positional fixes for TimeAxisView, including moving the separator line to the bottom, and keeping it in the same coordinate space as the TAV group 2014-11-05 19:45:23 -05:00
9da7a15c60 streamview no longer outlines any part of its canvas rect (we leave that to time axis view separators)
Also remove commented "- 1.0" adjustments that were already commented
2014-11-05 19:45:23 -05:00
8641dcdb0c permit initial contents of a FloatingTextEntry 2014-11-05 07:41:43 -05:00
f1e6b28ab7 use ArdourCanvas::TimeRectangle for regions, notes, markers 2014-11-03 21:48:08 -05:00
90825340c9 move start of a time axis view back to 0.0 on the x-axis, not 1.0 2014-11-03 21:48:08 -05:00
9f3f017736 Check whether frequency controls are audible or low and provide appropriate controls.
Always clamp set value to controller range.
2014-11-03 18:41:57 -05:00
6e16f69c26 Add menu to set frequency controls in beats, and half or double current value.
Test with e.g. fomp:cs_phaser1_lfo LFO frequency.
2014-11-03 17:29:11 -05:00
35672fb80a Note selector dialog for note controls. 2014-11-03 16:37:19 -05:00
7204702c3f Reduce coupling between Plugin and PluginInsert. 2014-11-03 13:40:50 -05:00
21dde8f2a7 Fix crash when showing UI for plugins with output control ports. 2014-11-02 13:02:54 -05:00
23d95e1bca repropagate button press event outside of FloatingTextEntry so that the click is still effective, as well as terminating the edit 2014-11-02 11:25:49 -05:00
f76109d873 use modal grab and event_is_inside_widget_window() to provide "expected" behaviour when editing in a FloatingTextEntry 2014-11-02 08:58:07 -05:00
e4e6f00103 slightly increased debugging output for -D accelerators 2014-11-02 08:57:58 -05:00
47c4929bc2 Display gain and midiNote plugin parameters/properties nicely.
Show fancy values on generic GUI controls, automation lane controls, and automation lane verbose cursor.
Fix text display of midiNote values.
Make bigstep of midiNote parameters 12 (one octave).
Add ARDOUR::value_as_string() as a stateless one-stop-shop for value printing.
2014-11-02 02:10:24 -05:00
8a128b33d3 Automation of LV2 plugin properties.
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-11-02 02:10:24 -05:00
6dfb11c2d0 Move ParameterDescriptor from Plugin to its own header.
This fixes circular dependency issues that arise when using ParameterDescriptor more widely.
2014-11-02 02:10:24 -05:00
bd6ba1717e Decouple ControlUI from port index. 2014-11-02 02:10:24 -05:00
0178f85b05 Don't complain about properties with plugins that do not support them. 2014-11-02 02:09:14 -05:00
7baa3275e0 one off by one off - red-selection outline
This mitigates issues introduced with 3.5-3406-g90872c2
but is not a final solution. The x-axis is still broken.
see #5589 comment0015955
2014-11-01 21:05:43 +01:00
dbecf44416 NOOP, just whitespace/indenting 2014-11-01 18:24:47 +01:00
049c11de58 Slider Controller API Change
Prepare to allow BarController (with Spinbutton) to translate
internal/interface values for the SpinBox.

(The change is irrelevant for the fader/slider itself which
always use the [user-]interface value)
2014-11-01 18:22:29 +01:00
45b7a03b7b retain selection on track-height change 2014-11-01 16:54:52 +01:00
52f44dc4da convert interface <> internal values for all automation
fixes Send-Fader, Gain-Automation and various Plugin-Slider ranges
2014-11-01 07:27:35 +01:00
5de6c21ec1 More generic RT-safe implementation of LV2 properties. 2014-10-31 20:46:43 -04:00
0a60077a61 Fix spelling error. 2014-10-31 20:46:09 -04:00
db98083f20 Remove unused variable. 2014-10-31 20:46:09 -04:00
cbb4be908a add new floating text entry class (ported from Tracks) 2014-10-31 12:26:57 -04:00
f7ce57e5b2 plug memory leak 2014-10-31 06:02:32 +01:00
b8cea19b95 prototype [LV2]patch-change support for generic plugin UIs. 2014-10-31 03:26:47 +01:00
1648d9cbc6 fix "Session Setup" dialog obscures "File Open" dlg on windows. 2014-10-29 23:05:46 +01:00