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
da4365255c
fix typo in 58fec98a
...
the documentation was correct: “GTK+ uses G_PRIORITY_HIGH_IDLE + 10
for resizing operations, and G_PRIORITY_HIGH_IDLE + 20 for redrawing
operations.” but the priority for the idle visual changer was wrong.
fixes, follow-playhead and zoom/scrolling under load (no idle)
2014-10-29 18:31:13 +01:00
1d0612ceb6
redraw summary when theme preference changes & consolidate code.
2014-10-29 16:07:13 +01:00
fdedf7153e
Kind of Blue
2014-10-29 12:06:20 +01:00
cca7ddf046
fix vertical canvas scrolling
...
* properly account for hidden tracks
* allow to scroll to last track
2014-10-29 12:06:20 +01:00
300d765f17
fix summary display (offset on-canvas rulers)
2014-10-29 12:06:20 +01:00
ea26d70cad
fix summary re-size
...
w/USE_CAIRO_IMAGE_SURFACE
2014-10-29 12:06:20 +01:00
bb792c0e07
ugly hacks to make the peak display widget not act like a text entry widget. This should die.
2014-10-28 20:31:06 -04:00
0abcce0735
Revert "change the peak display widget from Gtkmm2ext::FocusEntry to ArdourButton, since it is absolutely not editable."
...
This reverts commit 58f7d02bf2
.
Conflicts:
gtk2_ardour/default_ui_config.in
gtk2_ardour/gain_meter.cc
2014-10-28 20:31:06 -04:00
4ed910748c
don't show x-fade menu when right-clicking on frame handles
...
Fix crash with midi-regions (they have a frame-handle but no x-fade).
fixes 2nd part of #5992 (backtrace 20141021-B)
This is nicer in one way: When the cursor is "trim" the x-fade
context menu is no longer accessible.
And a bit worse: The x-fade context menu is only accessible on the
small fade-handles (boxes) and on the x-fade itself.
2014-10-28 16:43:45 +01:00
c0a28fca09
add win IRC channel
2014-10-28 02:40:04 +01:00
8dc41bb700
fix potential crash at session close (when port-matrix is visible)
...
remove_aux_or_listen() -> PortMatrix::route_processors_changed()
-> setup_global_ports() -> PortGroupList::gather() -> crash
if some session ports were already removed.
2014-10-27 21:15:39 +01:00
ec92524fe9
file binary compat is for windows in general (not msvc)
...
Fixes crash with MIDI file save/load.
2014-10-26 03:10:53 +01:00
baea04713f
combine short periodic timeout functions for windows.
...
Fixes excessive CPU usage (spinlock instead of sleep/WaitForSingleObject)
MS Windows has a scheduler time-slice of 15ms.
Ardour has two fast timeout functions: The FPS timeout (20-60Hz, clock
video-monitor) and a fast-screen-update (25Hz, meters etc).
They are loosely coupled (async) and scheduled from the main application
thread (gtk main).
Since they're async, gtk schedules them as needed. Even though the actual
period of the separate timeouts is larger. The effective period between
all timeout callbacks is <15ms and the main application thread never idles.
2014-10-25 19:21:15 +02:00
f900711136
port changes to ARDOUR::Location and ARDOUR::Locations APIs from Tracks to Ardour.
...
Fixes deadlocks caused by mutex on Locations list, and clarifies the purposes and uses of the class-level and
object-level change-related signals.
2014-10-24 12:18:46 -04:00
a7ca603ab6
show meter-bridge context-menu on mouse-down
2014-10-23 14:45:54 +02:00
c5e97ea21b
Don't show meter-type menu for MIDI-only meters
2014-10-23 14:45:49 +02:00
730e09ce65
another round of compiler warning fixes
2014-10-23 05:31:40 +02:00
ca48fffd72
avoid name conflict with Note (gtk2_ardour/note.h)
2014-10-23 03:43:04 +02:00
c6a3d6bc48
small round of compiler warning fixes
2014-10-23 03:43:04 +02:00
5ff0c6b319
prevent negative playhead positions from entering code via serialized state
2014-10-22 17:07:11 -04:00
aa7fdf82a0
windows: allow loading session with absolute path
2014-10-22 15:22:55 +02:00
1428d003df
hide splash screen on Windows
...
..until we get GDK window stack to play along.
2014-10-22 14:30:11 +02:00
ba4d1cd1c1
remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config()
2014-10-21 22:58:58 -04:00
90df6f3fe6
some keyboard layouts have KP_Separator instead of KP_Decimal
2014-10-21 16:36:15 -05:00
65821f96b8
slightly closer to correct color for peak display button when not active.
...
This cannot be correct at present because all buttons get a fade applied to them.
2014-10-21 17:26:52 -04:00
7f15aaf0cf
set correct font for peak display button
2014-10-21 17:26:21 -04:00
00f604019d
add ::set_layout_font (const Pango::FontDescription&) to ArdourButton
2014-10-21 17:25:50 -04:00
58f7d02bf2
change the peak display widget from Gtkmm2ext::FocusEntry to ArdourButton, since it is absolutely not editable.
...
This adds a new button name and corresponding colors in default_ui_config which requires a theme reset
2014-10-21 16:01:31 -04:00
b2a183d4b7
a few tweaks to zoom computations so that zoom-to-range works correctly
2014-10-21 14:48:45 -04:00
b73f725676
remove mouse zoom mode; bind z to zoom-to-range
2014-10-21 12:47:53 -04:00
46f5c0c769
fix note 15897 on #5589 - only use fader cursor for region gain line when in mouse gain mode
2014-10-21 11:50:06 -04:00
c2ae228dd3
add mouse mode enums to enums.cc (just for utility purposes)
2014-10-21 11:49:27 -04:00
f369208334
Disallow midi-note duration changes beyond region boundaries
...
Fixes crash/assert with negative Beats.
TODO discuss alternative:
automatically extend/trim region (if possible) or
accept but hide notes that are out of bounds. That would need
some solution for ghost notes which still can have negative Beats
while dragging.
2014-10-21 15:48:11 +02:00
4cde08cdb8
fix midi-ghost region y-scale
2014-10-21 14:05:41 +02:00
58fec98a4d
fix track height resizing on OSX.
...
If the transport is running, g_idle with G_PRIORITY_DEFAULT_IDLE is
never called.
TODO: check other g_idle functions in libs/gtkmm2ext
2014-10-21 13:20:17 +02:00
31b033f0d2
fix region drag/drop from region list
...
The canvas’ Y-offset (rulers & scroll) needs to be subtracted here.
2014-10-21 11:46:15 +02:00
148c1f1768
fix stuck key-grab/scrolling.
...
Problem: mouse-scrolling over a MIDI region in internal edit mode
never released “magic widget focus” (mod keys and global scrolls after
that were ignored). -> added to leave_notify.
Also, the MouseModeChanged signal needs to be emitted when internal edit,
mode changes in order to trigger MidiRegionView::mouse_mode_changed(),
which in turn releases the magic focus while still hovering over a MIDI
region.
2014-10-21 11:07:53 +02:00
a9532179d5
Midi Region: pass unhandled scroll events to regionview
...
see note in MidiRegionView:📜 “allow PrimaryModifier scroll
through so that it still works for zoom.”
2014-10-21 11:01:28 +02:00
a1245de1ba
track height fixes:
...
* retain [custom] track-height
Editor::override_visible_track_count() is called repeatedly (for
every change), there was a 50/50 chance of it saving the right value.
* adjust default for new sessions: use “Normal” track height until
told otherwise.
2014-10-20 20:33:28 +02:00
ffde2fb5f9
OS 10.10 compile fixes
...
* fix clang pickiness regarding boolean
* ignore ‘verify’ macro
* tested with Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
2014-10-19 23:15:13 +02:00
d34bd9e6a0
fix midi automation sliders
...
Allow controls to work without a list. see also 34c1465
and b469cd2
2014-10-16 21:21:45 +02:00
8d8717800d
add tearoff reattach for the editor
2014-10-16 13:44:36 -04:00
8097b8c762
add action and menu entry for "reattach all tearoffs".
...
So far only does the transport tearoff
2014-10-16 13:44:36 -04:00
fd79656d60
remove duplicate windows includes
2014-10-16 11:51:47 +02:00
ad017365f7
Merge branch 'cairocanvas'
2014-10-16 05:12:52 -04:00
e250eb5525
forward port ffd5c24
from master (extend video file ext list)
2014-10-16 01:16:07 +02:00
f77f54a6e2
correct msg in fatal error
2014-10-14 12:57:39 -04:00
128b240f46
remove code commented out in 0874426a
(2009/06)
2014-10-14 12:56:28 -04:00
fc08e10562
fix note 0015914 (part of #5589 )
2014-10-13 21:02:20 -04:00
4d0f30f5a8
fix note 0015900 on #5589 (cursor doesn't change when switching edit point
2014-10-13 15:19:07 -04:00
7ea039ee91
add script to run vst-scanner in gdb
2014-10-11 21:00:59 +02:00
e19e6dc73a
amend 5d0303b
- fix editor summary leak
2014-10-11 13:36:52 +02:00
5d0303b851
fix memory leak in editor summary.
2014-10-10 16:18:03 +02:00
ac420ba87d
amend previous commit
...
blame gitx 0.15.1949: it updates the stage view
even though the changes are not staged.
2014-10-10 15:24:52 +02:00
3121f5b2fc
add script to run ardour in valgrind/massif
2014-10-10 15:03:26 +02:00
e6252e0494
add support for OSX 10.9 clang's lldb (there's no gdb on 10.9)
2014-10-09 09:56:18 +02:00
aac3ca5521
initialize some uninitialized vars - closes #5974
2014-10-08 19:16:21 +02:00
a7da906a79
NOOP, proper label for flat carbon header includes
2014-10-07 16:53:10 +02:00
aab64ecd5c
OSX 10.9.5 clang++ loves nil more than ever
...
#undef nil // for sigc++ compat does no longer work as expected.
2014-10-07 14:48:08 +02:00
7bfa25777b
OSX 10.9.5 compile fixes - part one
2014-10-07 14:46:06 +02:00
d1564669cf
windows application icon
2014-10-05 02:12:25 +02:00
3f7986198b
fix typo in 9034e58b1
2014-10-03 23:58:51 +02:00
9034e58b15
set mingw vamp plugin path
2014-10-03 23:07:45 +02:00
c3847269c2
fix crash when changing the Audio System
...
When the i/o channel spinbox widgets are realized, they call
print_channel_count(). A "0" is formatted as "all available channels".
This causes the GTK::Entry inside the spinbox to emit a "changed"
signal which in turn triggers a parameter_changed(), [..], store_state(),
which calls into the spinbox again while it is being realized,
which makes gtkmm barf.
Start Ardour with JACK running (autoconnect to jack), Window ->
Audio/Midi settings -> initial no_control_notebook. Change
Audio System -> [control widgets are realized] -> glibmm std::exception
2014-10-03 15:32:12 +02:00
5e61c8ab12
fix engine control widget sensitivity
2014-10-03 15:08:06 +02:00
c2fc7f04a7
Don't select newly created regions after splitting selected regions (except on Mixbus)
...
I can't see a reason to select the newly-created regions after
splitting selected regions: I can't think of any case where you'd want
the next operation to apply to both the regions, and it makes it very
easy (in my experience) to trim/move/&c. both regions afterwards by
mistake.
However, this behaviour is desired for Mixbus, so make the selection of
regions after a split of selected regions dependent on
Profile->get_mixbus() for now.
2014-10-02 21:00:33 +01:00
1d790355ca
Fix warning from ./waf i18n about empty string
...
./waf i18n warns about passing an empty string to _(). Actually, the code
in question just wants to make a label not appear, so it might as well
just hide or show it as appropriate rather than attempting to set its
text to the empty string.
2014-10-02 18:03:19 +01:00
609d3688f0
Updated UK English translation
2014-10-02 18:03:19 +01:00
44f71ce599
Text tweaks and typo fixes
2014-10-02 18:03:19 +01:00
1c5246b5f1
amend 24289299
- pango fontmap w/mingw
2014-10-02 19:01:12 +02:00
242892999f
register ArdourMono font with windows
2014-10-02 06:11:15 +02:00
0d20cd5911
from zero to windows installer
2014-10-02 00:48:36 +02:00
4f58638ac0
harfbuzzed - also reverts 666de70d
2014-10-01 16:24:37 +02:00
d75d6a833a
mingw environment: ArdourMono.ttf
2014-10-01 04:01:14 +02:00
a968df97de
update video NO_OFFSET to 64 bit
2014-10-01 00:26:21 +02:00
50a7637d09
fix waf install, update ui config name
2014-10-01 00:12:29 +02:00
666de70ddc
pango --with-included-modules=yes does not provide explicit pangoft header
2014-09-30 19:08:17 +02:00
6ce93913f5
VST native windows does not need vst/winmain.c
2014-09-30 19:08:16 +02:00
87d3d5a08a
fix include order
2014-09-30 19:08:16 +02:00
e7255b0473
rename variable: 'small' is a keyword on mingw/win32
2014-09-30 19:08:16 +02:00
738336fbd5
invalidate meter's ColorsChanged connection:
...
fixes crash: open session, close, open another session, change theme.
old [destoyed] meters from first session were notified about color change.
2014-09-27 19:17:13 +02:00
fb0de10b93
un-hardcode DIN & VU meter-colors,
2014-09-27 17:28:32 +02:00
4cc07a2a5c
reinstate tooltip style
2014-09-26 11:04:56 -04:00
94fd0b39e0
fix position of left edge of a marker rectangle when the label is on the left, and slightly pad the rectangle when the label is on the right
2014-09-22 12:03:30 -04:00
45fd3593eb
Fix finding session templates
...
Session templates are directories: use find_paths_matching_filter() rather
that find_files_matching_filter() to search for them. Fix a tiny comment
typo I spotted along the way too.
2014-09-22 13:21:14 +01:00
6a971e645d
use new ARDOUR::Location signals in GUI
...
Conflicts:
gtk2_ardour/editor_markers.cc
2014-09-19 23:06:26 -04:00
ceff2e3a62
plugin widgets were written to use Internal values, so use that for now
2014-09-18 17:25:11 -05:00
e9ab53402c
add action and menu item to control use of skip playback
2014-09-17 12:28:36 -04:00
0943a559e0
shift-drag on range marker bar creates skip ranges, for now
2014-09-17 10:59:19 -04:00
9331aa69bd
new code to support creating skip markers
2014-09-17 09:39:29 -04:00
4130513689
remove old connections to (now) static Location signals
2014-09-17 09:39:05 -04:00
f415e24514
do not stupidly try to save punch/loop/session ranges during clear_ranges op
2014-09-17 09:38:17 -04:00
dc924db851
correctly connect to Location static signals
2014-09-17 09:37:39 -04:00
4e411dfd7b
set the CairoWidget focus handler; reset focus when the mouse pointer leaves the Editor window
2014-09-16 12:46:39 -04:00
9204b2837e
ArdourButton should call the focus handler of CairoWidget from its button press event
2014-09-16 12:45:21 -04:00