Robin Gareus [Wed, 29 Oct 2014 05:37:20 +0000 (06:37 +0100)]
Kind of Blue
Robin Gareus [Wed, 29 Oct 2014 05:35:55 +0000 (06:35 +0100)]
fix vertical canvas scrolling
* properly account for hidden tracks
* allow to scroll to last track
Robin Gareus [Wed, 29 Oct 2014 04:43:38 +0000 (05:43 +0100)]
fix summary display (offset on-canvas rulers)
Robin Gareus [Wed, 29 Oct 2014 04:41:58 +0000 (05:41 +0100)]
fix summary re-size
w/USE_CAIRO_IMAGE_SURFACE
Paul Davis [Wed, 29 Oct 2014 00:30:57 +0000 (20:30 -0400)]
ugly hacks to make the peak display widget not act like a text entry widget. This should die.
Paul Davis [Tue, 28 Oct 2014 14:12:01 +0000 (10:12 -0400)]
Revert "change the peak display widget from Gtkmm2ext::FocusEntry to ArdourButton, since it is absolutely not editable."
This reverts commit
58f7d02bf21776f7537ac16ae41646859dbca0b1.
Conflicts:
gtk2_ardour/default_ui_config.in
gtk2_ardour/gain_meter.cc
Robin Gareus [Tue, 28 Oct 2014 15:43:45 +0000 (16:43 +0100)]
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.
Robin Gareus [Tue, 28 Oct 2014 01:40:04 +0000 (02:40 +0100)]
add win IRC channel
Robin Gareus [Tue, 28 Oct 2014 01:18:46 +0000 (02:18 +0100)]
turn pixfader into a cairowidget
Robin Gareus [Tue, 28 Oct 2014 01:15:10 +0000 (02:15 +0100)]
allow to use cairo-image/software surface for canvas & cairowidgets
Robin Gareus [Tue, 28 Oct 2014 00:27:14 +0000 (01:27 +0100)]
remove unused old API
Robin Gareus [Mon, 27 Oct 2014 20:15:39 +0000 (21:15 +0100)]
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.
Robin Gareus [Sun, 26 Oct 2014 02:10:53 +0000 (03:10 +0100)]
file binary compat is for windows in general (not msvc)
Fixes crash with MIDI file save/load.
Robin Gareus [Sun, 26 Oct 2014 01:24:35 +0000 (02:24 +0100)]
update GPL (formatting and update FSF address)
Verbatim copy of https://www.gnu.org/licenses/gpl-2.0.txt
Also remove the "How to apply" section below "End of Terms",
this allows to use this file 1:1 as License in Installer.
Robin Gareus [Sat, 25 Oct 2014 20:00:47 +0000 (22:00 +0200)]
fix gcc/C++11
Robin Gareus [Sat, 25 Oct 2014 17:21:15 +0000 (19:21 +0200)]
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.
Robin Gareus [Sat, 25 Oct 2014 14:15:54 +0000 (16:15 +0200)]
skip meter re-draw when no pixels are changed.
Robin Gareus [Sat, 25 Oct 2014 14:12:38 +0000 (16:12 +0200)]
proper solution for variable-args jack_client_open()
John Emmas [Fri, 24 Oct 2014 17:38:09 +0000 (18:38 +0100)]
Add some newly introduced source files to our MSVC project (gtkmm2ext)
John Emmas [Fri, 24 Oct 2014 17:37:24 +0000 (18:37 +0100)]
Add some newly introduced source files to our MSVC project (jack_audiobackend)
John Emmas [Fri, 24 Oct 2014 17:34:01 +0000 (18:34 +0100)]
Some minor bits of casting to keep MSVC happy when building 'backends/jack/weak_libjack.c'
Paul Davis [Fri, 24 Oct 2014 16:18:40 +0000 (12:18 -0400)]
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.
Paul Davis [Fri, 24 Oct 2014 16:16:55 +0000 (12:16 -0400)]
avoid const cast warning
Paul Davis [Fri, 24 Oct 2014 14:40:52 +0000 (10:40 -0400)]
add #include that had gone unnoticed before
Robin Gareus [Fri, 24 Oct 2014 15:19:28 +0000 (17:19 +0200)]
fix screwup in prev commit-diff
Robin Gareus [Fri, 24 Oct 2014 15:15:03 +0000 (17:15 +0200)]
add explicit construction (for MSVC) and some debug messages
Robin Gareus [Fri, 24 Oct 2014 14:19:44 +0000 (16:19 +0200)]
fix jack transport return value
Robin Gareus [Fri, 24 Oct 2014 13:18:38 +0000 (15:18 +0200)]
use x-macros to simplify weak-jack implementation
Robin Gareus [Fri, 24 Oct 2014 12:36:04 +0000 (14:36 +0200)]
fix libjack names
Robin Gareus [Thu, 23 Oct 2014 18:34:44 +0000 (20:34 +0200)]
fix 64bit compile with old gcc
Paul Davis [Thu, 23 Oct 2014 17:17:27 +0000 (13:17 -0400)]
add new Gtk2mmext::EmScale class for measuring font-based sizing
Robin Gareus [Thu, 23 Oct 2014 11:02:09 +0000 (13:02 +0200)]
skip unavailable backends early on.
Robin Gareus [Thu, 23 Oct 2014 11:02:02 +0000 (13:02 +0200)]
add 'available' interface to the AudioBackendInfo
If a backend can be loaded, it does not mean that it can be used;
e.g. weak-linked jack-backend if libjack is not available.
Robin Gareus [Thu, 23 Oct 2014 11:01:45 +0000 (13:01 +0200)]
weak/runtime jack linking: load libjack dynamically at runtime
Robin Gareus [Thu, 23 Oct 2014 12:45:14 +0000 (14:45 +0200)]
show meter-bridge context-menu on mouse-down
Robin Gareus [Thu, 23 Oct 2014 12:25:05 +0000 (14:25 +0200)]
Don't show meter-type menu for MIDI-only meters
Robin Gareus [Thu, 23 Oct 2014 03:11:10 +0000 (05:11 +0200)]
another round of compiler warning fixes
Robin Gareus [Thu, 23 Oct 2014 01:40:44 +0000 (03:40 +0200)]
avoid name conflict with Note (gtk2_ardour/note.h)
Robin Gareus [Thu, 23 Oct 2014 01:32:14 +0000 (03:32 +0200)]
small round of compiler warning fixes
Robin Gareus [Thu, 23 Oct 2014 00:59:47 +0000 (02:59 +0200)]
silence clang ‘unused include file/compiler flag’ warnings
Robin Gareus [Wed, 22 Oct 2014 21:58:57 +0000 (23:58 +0200)]
windows installer: add option to use zlib (a lot faster)
Robin Gareus [Wed, 22 Oct 2014 21:57:55 +0000 (23:57 +0200)]
fix jack/mingw compilation
Paul Davis [Wed, 22 Oct 2014 21:06:53 +0000 (17:06 -0400)]
fix delivery of MMC events under split process cycle conditions
Paul Davis [Wed, 22 Oct 2014 21:06:33 +0000 (17:06 -0400)]
require a timestamp on MIDI::MachineControl::send()
Paul Davis [Wed, 22 Oct 2014 21:05:58 +0000 (17:05 -0400)]
fix timestamps for immediate MIDI events to deal with split process cycle conditions
Paul Davis [Wed, 22 Oct 2014 21:04:12 +0000 (17:04 -0400)]
error/debug output when dropping MIDI event due to timing now shows MIDI bytes
Paul Davis [Wed, 22 Oct 2014 21:02:38 +0000 (17:02 -0400)]
remove unused code
Paul Davis [Wed, 22 Oct 2014 21:02:15 +0000 (17:02 -0400)]
fix all 4 backends' failure to include the main "backend" thread when computing ::in_process_thread()
Paul Davis [Wed, 22 Oct 2014 16:18:31 +0000 (12:18 -0400)]
ignore negative value locates and MMC locate commands
Paul Davis [Wed, 22 Oct 2014 16:17:59 +0000 (12:17 -0400)]
prevent negative playhead positions from entering code via serialized state
Robin Gareus [Wed, 22 Oct 2014 14:56:12 +0000 (16:56 +0200)]
remove obsolete jack includes in libardour
Robin Gareus [Wed, 22 Oct 2014 13:22:55 +0000 (15:22 +0200)]
windows: allow loading session with absolute path
Robin Gareus [Wed, 22 Oct 2014 12:29:33 +0000 (14:29 +0200)]
hide splash screen on Windows
..until we get GDK window stack to play along.
Paul Davis [Wed, 22 Oct 2014 02:58:31 +0000 (22:58 -0400)]
revert to previous waf version
Paul Davis [Wed, 22 Oct 2014 02:55:08 +0000 (22:55 -0400)]
remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config()
Ben Loftis [Tue, 21 Oct 2014 21:36:15 +0000 (16:36 -0500)]
some keyboard layouts have KP_Separator instead of KP_Decimal
Paul Davis [Tue, 21 Oct 2014 21:26:52 +0000 (17:26 -0400)]
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.
Paul Davis [Tue, 21 Oct 2014 21:26:21 +0000 (17:26 -0400)]
set correct font for peak display button
Paul Davis [Tue, 21 Oct 2014 21:25:50 +0000 (17:25 -0400)]
add ::set_layout_font (const Pango::FontDescription&) to ArdourButton
Paul Davis [Tue, 21 Oct 2014 20:01:23 +0000 (16:01 -0400)]
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
Robin Gareus [Tue, 21 Oct 2014 18:16:10 +0000 (20:16 +0200)]
migrate build & package scripts to where they belong.
The build stack-script remains in ardour-build-tools.
Paul Davis [Tue, 21 Oct 2014 18:48:45 +0000 (14:48 -0400)]
a few tweaks to zoom computations so that zoom-to-range works correctly
Paul Davis [Tue, 21 Oct 2014 16:47:53 +0000 (12:47 -0400)]
remove mouse zoom mode; bind z to zoom-to-range
Paul Davis [Tue, 21 Oct 2014 15:50:06 +0000 (11:50 -0400)]
fix note 15897 on #5589 - only use fader cursor for region gain line when in mouse gain mode
Paul Davis [Tue, 21 Oct 2014 15:49:27 +0000 (11:49 -0400)]
add mouse mode enums to enums.cc (just for utility purposes)
Robin Gareus [Tue, 21 Oct 2014 13:12:13 +0000 (15:12 +0200)]
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.
Robin Gareus [Tue, 21 Oct 2014 12:05:41 +0000 (14:05 +0200)]
fix midi-ghost region y-scale
Robin Gareus [Tue, 21 Oct 2014 11:20:17 +0000 (13:20 +0200)]
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
Robin Gareus [Tue, 21 Oct 2014 09:46:15 +0000 (11:46 +0200)]
fix region drag/drop from region list
The canvas’ Y-offset (rulers & scroll) needs to be subtracted here.
Robin Gareus [Tue, 21 Oct 2014 09:07:53 +0000 (11:07 +0200)]
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.
Robin Gareus [Tue, 21 Oct 2014 09:01:28 +0000 (11:01 +0200)]
Midi Region: pass unhandled scroll events to regionview
see note in MidiRegionView::scroll: “allow PrimaryModifier scroll
through so that it still works for zoom.”
Robin Gareus [Mon, 20 Oct 2014 21:30:33 +0000 (23:30 +0200)]
stopgap solution for VST plugins that call audioMasterWantMidi during effOpen
audioMasterWantMidi needs plugin _info, but _info is currently only
available after instantiating the plugin in LXVSTPluginInfo::load().
vstfx_instantiate() -> effOpen -> [plugin] -> vst_callback(..,opcode=6,..) -> crash
Robin Gareus [Mon, 20 Oct 2014 21:21:58 +0000 (23:21 +0200)]
add support for VST plugins without any parameters
Robin Gareus [Mon, 20 Oct 2014 18:33:28 +0000 (20:33 +0200)]
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.
Robin Gareus [Sun, 19 Oct 2014 17:54:01 +0000 (19:54 +0200)]
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)
Robin Gareus [Sun, 19 Oct 2014 19:26:17 +0000 (21:26 +0200)]
separate host and target (OSX)
Robin Gareus [Sun, 19 Oct 2014 18:43:38 +0000 (20:43 +0200)]
git ignore OSX packaging
Robin Gareus [Fri, 17 Oct 2014 08:58:49 +0000 (10:58 +0200)]
windows: don’t popup message box when libjack is not found
Robin Gareus [Thu, 16 Oct 2014 19:21:11 +0000 (21:21 +0200)]
fix midi automation sliders
Allow controls to work without a list. see also
34c1465 and
b469cd2
Paul Davis [Thu, 16 Oct 2014 17:43:07 +0000 (13:43 -0400)]
add tearoff reattach for the editor
Paul Davis [Thu, 16 Oct 2014 17:31:20 +0000 (13:31 -0400)]
add action and menu entry for "reattach all tearoffs".
So far only does the transport tearoff
Robin Gareus [Thu, 16 Oct 2014 14:16:41 +0000 (16:16 +0200)]
add OSX 10.9 version flags
TODO: here, Xcode 6.0.1 and OS10.9.5 mmacosx-version-min=10.5 works
and produces binaries compatible with 10.5 or later, but that may
no be standard. - Please x-check, for now 10.8 should work everywhere.
Paul Davis [Thu, 16 Oct 2014 11:22:26 +0000 (07:22 -0400)]
include default UI config file in linux package
Paul Davis [Thu, 16 Oct 2014 10:17:48 +0000 (06:17 -0400)]
package ui_dark.rc file in linux packages
Robin Gareus [Thu, 16 Oct 2014 09:51:47 +0000 (11:51 +0200)]
remove duplicate windows includes
Paul Davis [Thu, 16 Oct 2014 09:12:52 +0000 (05:12 -0400)]
Merge branch 'cairocanvas'
Paul Davis [Thu, 16 Oct 2014 01:12:19 +0000 (21:12 -0400)]
when cancelling an import, call DropReferences so that the Session forgets about the new sources.
Not doing this leaves the sources in the session list and then the session fails to open on next load
because the files are not there.
Arguably we should not announce the new files until they are complete, but this is a simpler fix for now.
Robin Gareus [Wed, 15 Oct 2014 23:15:45 +0000 (01:15 +0200)]
forward port
ffd5c24 from master (extend video file ext list)
Paul Davis [Wed, 15 Oct 2014 23:08:46 +0000 (19:08 -0400)]
remove debug output
Paul Davis [Wed, 15 Oct 2014 22:44:17 +0000 (18:44 -0400)]
when flushing notifications/signals from an ARDOUR::Playlist, emit the RegionAdded/ContentsChanged signals first so that when LayersChanged is sent, the receivers know about all the new regions
Paul Davis [Wed, 15 Oct 2014 19:12:02 +0000 (15:12 -0400)]
add mutex/lock to all Evoral::SMF methods that use _smf/libsmf, to avoid inadvertent corruption via multithreaded access.
Serialization of Session::save_state() will already protect against most of this, but there is really no
good reason why Evoral::SMF's API should require single-threaded/explicit serialization.
Ben Loftis [Wed, 15 Oct 2014 16:09:00 +0000 (11:09 -0500)]
allow internal generators to make noise, even if we are not rolling, and using auto-input
Robin Gareus [Wed, 15 Oct 2014 13:49:49 +0000 (15:49 +0200)]
allow zero-latency sessions
e.g. sessions with disconnected master-out,
or Dummmy (both jack and ardour) with no latency.
Paul Davis [Tue, 14 Oct 2014 20:58:11 +0000 (16:58 -0400)]
make backend selection by product name more explicit
Paul Davis [Tue, 14 Oct 2014 16:57:39 +0000 (12:57 -0400)]
correct msg in fatal error
Paul Davis [Tue, 14 Oct 2014 16:56:28 +0000 (12:56 -0400)]
remove code commented out in
0874426a (2009/06)
Paul Davis [Tue, 14 Oct 2014 02:40:08 +0000 (22:40 -0400)]
Containers should not consider the size of invisible items when computing their own bounding boxes.
This fixes issues related to the rulers container believing it was taller than it actually is, and possibly other issues also
Paul Davis [Tue, 14 Oct 2014 01:02:20 +0000 (21:02 -0400)]
fix note
0015914 (part of #5589)
Paul Davis [Mon, 13 Oct 2014 19:19:07 +0000 (15:19 -0400)]
fix note
0015900 on #5589 (cursor doesn't change when switching edit point
Paul Davis [Mon, 13 Oct 2014 17:53:07 +0000 (13:53 -0400)]
remove default/testing tooltips from the canvas