Commit graph

73 commits

Author SHA1 Message Date
Ben Loftis
a7141e1fc3 Transport_play should not jump back.
Typical use of transport controls is to ffwd and rewind, then "play".
This doesn't work well if the Play command always resets to starting position.
2016-01-19 14:00:51 -06:00
Ben Loftis
5493e20c84 Add all_tracks_rec actions 2016-01-19 14:00:03 -06:00
Ben Loftis
c5b93e2a01 track scrolling and zooming 2016-01-18 18:24:14 +01:00
Ben Loftis
27d82af077 add some horz and vert zoom actions; remove some whitespace from the code of the ui-actions, so they are easier to see and maintain 2016-01-18 18:24:14 +01:00
Ben Loftis
16623b1cb3 add more remote transport toggles for touchOSC: midi_panic, toggle_roll, stop_forget, set_X_range, quick snapshots. also add boilerplate for monitor controls, but those are not implemented yet 2016-01-18 18:24:14 +01:00
Ben Loftis
36e1ff48bc implement mark_in, mark_out, toggle_click 2016-01-18 18:24:14 +01:00
Ben Loftis
f0d9295dd6 implement remover_marker, jump_by_bars, and jump_by_seconds 2016-01-18 18:24:14 +01:00
Paul Davis
0d9efc1148 redesign cross-thread registration/signalling system
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00
Paul Davis
2e3721ecf4 add goto_zero() function for BasicUI 2015-11-24 23:40:54 -05:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Paul Davis
2ea5962af2 rationalize save/restore of control surface "feedback" property 2015-06-24 13:46:07 -04:00
Robin Gareus
d00ab0221a allow to set/change loop-range via OSC 2015-04-12 23:40:35 +02:00
Paul Davis
8a4fdbf023 final eradication of jack header files from anything except the JACK backend 2014-04-11 02:52:28 -04:00
Paul Davis
e6c3cece64 remove recently added conflation of mingw64 and msvc with respect to symbol export 2014-03-02 14:59:08 -05:00
Paul Davis
19395ac258 when mingw is mingw64, it appears that we need to use __declspec() and not __attribute__((visibility)) for export control 2014-03-01 15:16:39 -05:00
Paul Davis
79b7fb82f3 try to get export/visibility and build conditionals right for surfaces/, once more 2014-01-25 13:57:28 -05:00
Paul Davis
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
John Emmas
897fbdc652 Small patch to see if Ben's build problem gets fixed 2014-01-05 15:08:38 +00:00
Paul Davis
b0e4f81eb3 merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
Paul Davis
b0a10da783 clean up aspects of ControlProtocol API 2013-12-21 15:31:28 -05:00
Tim Mayberry
3a885d6177 Only use __declspec(dllimport/dllexport) for MSVC compiler
Use the gcc visibility attributes when building with the MinGW compiler(gcc).
GCC also supports the __declspec syntax but it will not compile at the moment
until the issues(which may not even be exactly the same issues as with MSVC)
are resolved.
2013-12-05 21:11:18 +10:00
Paul Davis
f85c67501c reverse the visibility.h files assumptions that we don't build shared libs by default
This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will
need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript.

Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build
on such an old version.
2013-10-18 11:50:44 -04:00
John Emmas
b855e5f322 Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/wscript
	libs/ardour/ardour/audioregion.h
	libs/ardour/ardour/debug.h
	libs/ardour/ardour/directory_names.h
	libs/ardour/ardour/filesystem_paths.h
	libs/ardour/ardour/session_event.h
	libs/gtkmm2ext/gtkmm2ext/utils.h
	libs/panners/1in2out/wscript
	libs/panners/2in2out/wscript
	libs/panners/vbap/wscript
	libs/pbd/pbd/debug.h
	libs/pbd/pbd/file_utils.h
	libs/pbd/pbd/pathexpand.h
	libs/pbd/pbd/ringbuffer.h
	libs/pbd/pbd/ringbufferNPT.h
	libs/pbd/pbd/search_path.h
	libs/pbd/pbd/stacktrace.h
	libs/pbd/pbd/uuid.h
	libs/pbd/pbd/uuid_boost.h
	libs/surfaces/control_protocol/control_protocol/basic_ui.h
	libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
Paul Davis
5896d773e4 add export control to control protocol library 2013-10-17 13:15:24 -04:00
John Emmas
5c8306f148 'libs/surfaces' - Add an additional visibility specifier (ARDOURCP_API as well as ARDOURSURFACE_API) 2013-09-04 15:54:35 +01:00
Paul Davis
a435e6357f use visibility macros to control visibility in control surface DLL/DSO's 2013-09-03 08:33:51 -04:00
David Robillard
27a1cf2cf7 Compile cleanly with clang.
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC
environment variables, e.g.:

CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build


git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 02:54:10 +00:00
Paul Davis
37969d837e remove virtual inheritance of sigc::trackable by Receiver and AbstractUI<T>, done by changing Gtkmm2ext::UI to use composition (HAS-A) rather than inheritance (IS-A) for Receiver; use correct synchronization when starting up a BseUI event loop thread so that tests that start/stop quickly do not encounter a race condition
git-svn-id: svn://localhost/ardour2/branches/3.0@12264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14 17:07:53 +00:00
Paul Davis
edad92a944 control surfaces: make it possible to keep display of current GUI/selection state as we bank through tracks/bussses. note careful use of weak_ptr<Route> to avoid messing with Route lifetimes. this scheme may change
git-svn-id: svn://localhost/ardour2/branches/3.0@12115 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-28 01:43:38 +00:00
Paul Davis
ae2e8c6765 MCP: ctrl-select toggle selections status, analogous to GUI op
git-svn-id: svn://localhost/ardour2/branches/3.0@12102 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 22:10:32 +00:00
Paul Davis
ec97b8e58d MCP: lots of good stuff - recenable bug fixed, cursor keys for vertical scroll work, loop button lights/unlightspan pots don't adjust if there is no panner, etc.
git-svn-id: svn://localhost/ardour2/branches/3.0@12093 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 03:46:18 +00:00
Paul Davis
4bfdcc18bd ControlProtocol doesn't actually need any record of an event loop and doesn't need to connect to any signals itself
git-svn-id: svn://localhost/ardour2/branches/3.0@12063 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23 10:54:34 +00:00
Paul Davis
82c867bf2a MCP: a fistful of improvements. probably best to just try it and see what it broken. KNOWN: pressing vpots without a bank/channel shift will crash ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@12053 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 02:15:24 +00:00
Paul Davis
8f7fa7d93b MCP: timeout display of value when altering with fader or pot; range ops on strip buttons should work; select logic may be broken
git-svn-id: svn://localhost/ardour2/branches/3.0@11959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 16:11:55 +00:00
Paul Davis
62620122a9 propagate GUI track selection to control protocols; make MCP update when GUI track selection changes
git-svn-id: svn://localhost/ardour2/branches/3.0@11941 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 14:34:03 +00:00
Paul Davis
5ae258e23b MCP: share add-marker code with BasicUI; don't allow route locking if the strip has no current route
git-svn-id: svn://localhost/ardour2/branches/3.0@11916 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 20:18:01 +00:00
Paul Davis
bef3ea1adc MCP: F1-7 jump to a given view; F8 closes any currently open dialog; in zoom mode, up/down alter vertical track height of all tracks; option-up/down alters selected track heights
git-svn-id: svn://localhost/ardour2/branches/3.0@11858 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-09 18:53:51 +00:00
Paul Davis
57a046804c MCP: different meter debug trace; initial support for track selection
git-svn-id: svn://localhost/ardour2/branches/3.0@11852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-09 16:15:55 +00:00
Paul Davis
e2d62d9af4 allow ControlProtocols to call for undo/redo in GUI; make MCP use this
git-svn-id: svn://localhost/ardour2/branches/3.0@11851 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-09 15:50:38 +00:00
Paul Davis
f75bbfd8ac track changes to config parameters for MMC device id's correctly (from roy vegard)
git-svn-id: svn://localhost/ardour2/branches/3.0@9985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-13 16:27:29 +00:00
David Robillard
4b861e6039 Rename libmusictime libtimecode (consistent with already used namespace "Timecode").
Move BBT_Time to libtimecode.


git-svn-id: svn://localhost/ardour2/branches/3.0@8271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 18:13:37 +00:00
David Robillard
f6055f2c6f Eliminate circular dependency kludge for control_protocol/smpte.o.
git-svn-id: svn://localhost/ardour2/branches/3.0@8262 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-13 20:46:07 +00:00
Carl Hetherington
cdfbec0eb1 A few type fixes.
git-svn-id: svn://localhost/ardour2/branches/3.0@8154 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-02 19:25:53 +00:00
Carl Hetherington
bce9a0aee7 Revert previous incorrect patch.
git-svn-id: svn://localhost/ardour2/branches/3.0@8144 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01 17:51:17 +00:00
Carl Hetherington
f500846fd4 Remove unused timecode offset stuff.
git-svn-id: svn://localhost/ardour2/branches/3.0@8143 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01 17:42:18 +00:00
Paul Davis
10bdce85a0 megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t
git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 16:24:22 +00:00
Carl Hetherington
1f07948972 Put Mackie surface ports into the Ardour tab of the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@7522 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-30 02:09:39 +00:00
Paul Davis
77cc0f7cc8 editors for control protocols (generalized); editor for Generic MIDI that allows choosing a MIDI binding map (or none); support banking in binding URLs, and other miscellany related to generic MIDI; save+restore JACK_MidiPort connection state (but cause a crash at shutdown time)
git-svn-id: svn://localhost/ardour2/branches/3.0@6411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-29 21:31:14 +00:00
Paul Davis
f450df300c fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00