13
0
Commit Graph

8562 Commits

Author SHA1 Message Date
4abea520df Do not disable record (performing transport stop) during locate request when MTC source is activated
This is required for the case when we leave Tracks ready for record and then activate MTC source.
2015-06-29 14:18:12 -04:00
16dccfcb8a Add some libardour support for indicating MTC active status.
The general design here is wrong, because it should be more general and cover all possible sync sources.
But it does work, it is used in Tracks, and my attempt to do it correctly revealed the problem to be
an EXTREMELY difficult design issue (as in: two weeks of work on it did not really solve the
fundamental issues with slave design).

So, here it is for now, c/o Grygorii
2015-06-29 14:18:12 -04:00
5c8c249db9 Revert "[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog."
This reverts commit c9a190b7470d29bc6528195323a907a8d619c1d4. Change was
already in place (and used correct initialization order as well).
2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
fa3a843d61 [Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog. 2015-06-29 14:18:12 -04:00
GZharun
67d42d9b28 [Summary] Do not restore routes connection using XML IO state for TracksLive, because this is redundant for TracksLive.
Moreover if the device is changed XML state of IO contains port names of  the old device which causes attempts to connect to non existent ports.
[Reviewed by] Paul Davis
2015-06-29 14:18:12 -04:00
GZharun
939e7c2d52 Fixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
[Reviewed] PDavis
2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
8505c16057 [Summary] Just adding comment for better code-maintaining. 2015-06-29 14:18:12 -04:00
125c5e224c superior fix for limits on track name length 2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
eab6e309b2 [Summary] Fixed bug: Dragging Region with copying it provoked a crash. The reason is: too short room for name generated for new region. 2015-06-29 14:18:12 -04:00
GZharun
87f1c66ba1 [Summary] Fixed race condition: "should_do_transport_work" must not be dropped to 0 outside, it's illegal. It may cause "should_do_transport_work" go below 0 and make butler to round for a very-very long time (hang and possible lock of other threads) before stop() call returns.
_butler->stop () is synchronous, so its safe to wait in this call for butler to finish it's work.

[Reviewed by] PDavis
2015-06-29 14:18:12 -04:00
7ef5aea500 when reversing regions, use the original source's SR, not the current session one 2015-06-29 14:18:12 -04:00
4a27a8b531 when creating new sources for a non-realtime Filter process, add option to use the same SR as the initial sources 2015-06-29 14:18:12 -04:00
f116455280 after changing session SR, reset all write sources to use new rate 2015-06-29 14:18:12 -04:00
c4e3135617 Tracks does not (want to) support destructive tracks 2015-06-29 14:18:12 -04:00
d0b5f87fba Tracks specific fix for SR reverting to previous value while creating new session 2015-06-29 14:18:12 -04:00
c5a657ceee add 176.4kHz to available sample rates in export GUI 2015-06-29 14:18:12 -04:00
54ec059a6f add 176.4kHz to export sample possibilities 2015-06-29 14:18:12 -04:00
d98bf248ad more reliable check for session files, to cover *.ardour.bak cases, and exclude them 2015-06-29 14:18:12 -04:00
f6149dffa3 Tracks puts the master bus remote ID into a different "namespace" than Ardour 2015-06-29 14:18:12 -04:00
ba151374b0 Tracks does not use a K20 meter for the master 2015-06-29 14:18:12 -04:00
VKamyshniy
94fc1dc745 [Summary] In Location::set_state - adding emitted FlagsChanged (if any flag changed). This is not a hot fix - it's for UNDO changed skipping state for SKIP markers. Paul has approved this change. 2015-06-29 14:18:12 -04:00
8488d8f6a5 remove unnecessary and unused changes from grygorii 2015-06-29 14:18:12 -04:00
fb89ff4643 remove unused method 2015-06-29 14:18:12 -04:00
f11fc1852c fix whitespace/indentation and remove references to ScopedConnectionLists that were not used even in Tracks 2015-06-29 14:18:12 -04:00
GZharun
317bacfa3a [Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events 2015-06-29 14:18:12 -04:00
b8f29872a7 noop: indentation 2015-06-29 14:18:12 -04:00
a6a522766b add required header 2015-06-29 14:18:12 -04:00
0b1a10b2d5 make use of loop range as default export range being Tracks specific 2015-06-29 14:18:12 -04:00
VKamyshniy
14226356d8 [Summary] Per Igor's request: if auto play loop is set on, the main timespan should be the range loop location. 2015-06-29 14:18:11 -04:00
860e22ac6d when loop range is set, if loop-is-mode and seamless looping, set loop for all tracks 2015-06-29 14:18:11 -04:00
13964dd9eb fix inadvertent typo 2015-06-29 14:18:11 -04:00
b558d00789 Tracks uses -inf gain on newly created tracks 2015-06-29 14:18:11 -04:00
fab465c4cc bring in more connection-related changes from Tracks 2015-06-29 14:18:11 -04:00
c57aecafb1 add engine_state_controller.cc to libardour sources when building tracks 2015-06-29 14:18:11 -04:00
c9f6cd88b1 add track auto-naming options from Tracks 2015-06-29 14:18:11 -04:00
3a56004f65 fix crash caused by missing return; add explanatory comments 2015-06-29 14:18:11 -04:00
4d64aed5d2 fix typo in Tracks build 2015-06-29 14:18:11 -04:00
42f5cc4784 include Tracks engine state controller header for Tracks build 2015-06-29 14:18:11 -04:00
4cd7f2568c add required profile header 2015-06-29 14:18:11 -04:00
33d1d8a6c1 change names for scene I/O port connection methods 2015-06-29 14:18:11 -04:00
18415ba6cd avoid redundant IO port reconnections in Tracks runtime case 2015-06-29 14:18:11 -04:00
49e292f360 noop: more style guide fixes 2015-06-29 14:18:11 -04:00
6eebb6326a noop: fix indentation to match style guide 2015-06-29 14:18:11 -04:00
71dd7ce934 add EngineStateController code from Tracks 2015-06-29 14:18:11 -04:00
3c3d62c18a Fixed issue with crash when invalid get_connections request is made on invalid port handle. (Grygorii) 2015-06-29 14:18:11 -04:00
32224ee608 add in more Tracks-related auto-(re)connect changes 2015-06-29 14:18:11 -04:00
bebb03a0a4 add in more Tracks-related auto-(re)connect changes, all conditionalized by Profile 2015-06-29 14:18:11 -04:00
c46ec135e5 initial incorporation of Tracks' automatic reconnect features, based on current Tracks code 2015-06-29 14:18:11 -04:00
de4efe73a6 merge several of the trickiest Tracks- and platform-specific RC configuration variables 2015-06-29 14:18:11 -04:00
d1747b4137 no-op: indentation and whitespace fixes 2015-06-29 14:18:11 -04:00
GZharun
ae8c494c02 [Summary] Added export cleanup
[Reviewed by] Andriy Mishyn
2015-06-29 14:18:11 -04:00
f9aeb659ee indentation and formatting cleanup 2015-06-29 14:18:11 -04:00
GZharun
f837b66c20 [Summary] Fixed issue with export built on Mavericks. There was not check on empty sets in ExportFormatSpecification class.
C standard, section 6.5.6.8 says:
"...if the result points one past the last element of the array object, it shall not be used as the operand of a unary * operator that is evaluated..."
So GCC compiler and CLANG compiler (Mavericks) process this operation different way. GCC returns 0 on an attempt to dereference end iterator when CLANG returns a non 0 value.
2015-06-29 14:18:11 -04:00
Greg Zharun
5877f255f0 [Summary] Fixed windows build 2015-06-29 14:18:11 -04:00
04b2d34362 add channel_count() to audio source API 2015-06-29 14:18:11 -04:00
9c95a8bdea another signal related to record state added from Tracks.
This doesn't appear to have obviously distinct semantics from RecordStateChanged
but Tracks is using it and I can't verify instantly that it could be replaced
by RecordStateChanged.
2015-06-29 14:18:11 -04:00
43f4b82485 distribute use of RouteAddedOrRemoved to appropriate places.
It might be wise to use this rather than GUIIdle but that needs further investigation
2015-06-29 14:18:11 -04:00
8c880b6529 include emission of RouteAddedOrRemoved in Session::add_audio_track() 2015-06-29 14:18:11 -04:00
11e371c5e7 integrate Session::remove_routes() from Tracks and replace Session::remove_route() internal implementation.
The singular case replicated (and was the model for) the plural case.
2015-06-29 14:18:11 -04:00
e7fa40762c re-do previous commit with less variables 2015-06-29 14:18:11 -04:00
024a061804 Tracks calls tracks "Tracks"; Ardour uses type-names 2015-06-29 14:18:11 -04:00
b3d0b85328 Session::reconnect_midi_scene_ports() is a Tracks thing.
It requires the EngineStateController which is not merged at this time
2015-06-29 14:18:11 -04:00
9fffa74267 add missing profile header 2015-06-29 14:18:11 -04:00
GZharun
2f790bc638 fix bank ID when MIDI Scene change handles a program change message 2015-06-29 14:18:11 -04:00
511f609a14 add Session::reconnect_midi_scene_ports() 2015-06-29 14:18:10 -04:00
2f95da983b add comment 2015-06-29 14:18:10 -04:00
584d8095ee totally bizarre and incorrect solo/mute behaviour for Tracks (ONLY) 2015-06-29 14:18:10 -04:00
nikolay
ed291ee8d0 [Summary] Changed function name update_route_active_state() on update_route_record_state()
[Reviewed] GZharun

Conflicts:
	libs/ardour/ardour/session.h
	libs/ardour/session.cc
	libs/ardour/session_state.cc
2015-06-29 14:18:10 -04:00
9320b51032 provide Session::have_rec_disabled_track() 2015-06-29 14:18:10 -04:00
0108f9f18d add the Tracks version of Track::monitoring_state()
This drastically-stripped down version of the Ardour original is used only when USE_TRACKS_CODE_FEATURES
is defined. It doesn't respond to many aspects/features of libardour.
2015-06-29 14:18:10 -04:00
8a6b23f28f adding routes no longer saves session but leaves it marked dirty (Tracks semantics for add_routes() retained) 2015-06-29 14:18:10 -04:00
039127c89a fix indentation 2015-06-29 14:18:10 -04:00
GZharun
c4f6faa424 [Summary] Region changes will make session dirty 2015-06-29 14:18:10 -04:00
43f45ed0b0 mark session dirty when markers/ranges are changed 2015-06-29 14:18:10 -04:00
4235367acd fixed previous commit from Tracks to work correctly in all cases 2015-06-29 14:18:10 -04:00
Valeriy Kamyshniy
07c81a763f [Summary] BUG FIXED: New name of a session saved with “save as”, was not stored in the session recent list.
[Reviewed] YPozdnyakov
2015-06-29 14:18:10 -04:00
Valeriy Kamyshniy
1f98535b52 [Summary] Adding informative message to failed file copy exception in Session::save_as.
[Review required] Paul Davis
2015-06-29 14:18:10 -04:00
445d742af1 save recent templates analogously to recent sessions 2015-06-29 14:18:10 -04:00
0365c5cc47 Tracks-specific handling of template dir 2015-06-29 14:18:10 -04:00
893cb3460c fix cherry-pick logic failure with Session::save_template() - Tracks case already taken care of 2015-06-29 14:18:10 -04:00
Valeriy Kamyshniy
1acee68037 [Summary] a) On MAC OS, .DS_Store files are ignored when saving a session by “Save As”.
b) plugins folder is not created for Templates.

[Required review] Paul Davis, YPozdnyakov

Conflicts:
	libs/ardour/session_state.cc
2015-06-29 14:18:10 -04:00
Valeriy Kamyshniy
7c5d849247 [Summary] For tracks when saving templates, we need stored the Auto Loop Range and all MIDI markers. As well, just to follow canonical rule: dealing with a pointer (_location in Session::state) check it for NULL prior to any operation (s), accessing the pointer.
[Review required] YPozdnyakov, GZharun, Paul Davis
2015-06-29 14:18:10 -04:00
2a1d0e20f0 emit SessionSaveUnderWay signal during template save 2015-06-29 14:18:10 -04:00
fba9bff5b0 improved error handling and checking for Session::save_template() 2015-06-29 14:18:10 -04:00
7fae6bcd87 copy all XCode project files from Tracks.
Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical
2015-06-29 14:18:10 -04:00
14ffde884f conditionalize background fades depending on whether this is a tracks or other build 2015-06-29 14:18:10 -04:00
26b0201c69 tweak for static library build 2015-06-29 14:18:10 -04:00
b385d02022 merge two small pieces of code by Valeriy into libs/gtkmm2ext, conditionally used ONLY in Tracks builds.
This code is not acceptable for use in Ardour ... comments in code explain more.
2015-06-29 14:18:10 -04:00
d682c42d5a better implementation of configure and build time is_tracks_build() test 2015-06-29 14:18:10 -04:00
8c41a412c1 fix up waves_fastmeter.cc code to work with current fastmeter API 2015-06-29 14:18:10 -04:00
e1bd9401d5 add clean and nice check for Tracks builds 2015-06-29 14:18:10 -04:00
8a9dc2c2d5 conditionally use correct fast meter implementation 2015-06-29 14:18:10 -04:00
d4c28adc6f add Waves Tracks version of fastmeter 2015-06-29 14:18:10 -04:00
Nikolay
f3719922c8 [Summary] Changed class PersistentTooltip. Now it can be used for 'non-draggable' tooltips.
[Feature reviewed] MKosharnyy
[Reviewed] VKamyshniy

Manually clean up merge mess, indentation, logic weakness, initializer order, etc.

Conflicts:
	libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
	libs/gtkmm2ext/persistent_tooltip.cc
2015-06-29 14:18:09 -04:00
2363fb71e3 hand-merge libs/gtkmm2ext part of f49d31a82 from Tracks; provides a way to disable/re-enable OS X main menu 2015-06-29 14:16:43 -04:00
Nikolay
7e097c5efc [Summary] Bug fix #44332 "Please fit the Pan values monitor to channel borders"
[Feature reviewed] AMishyn
[Reviewed] VKamyshniy

Fixed up by Paul Davis to fix logic mistakes and unnecessary complexity,
and indentation.

Conflicts:
	libs/gtkmm2ext/persistent_tooltip.cc
2015-06-29 14:16:43 -04:00
YPozdnyakov
4465fb62f3 [Summary]: add keybindings Cmd-h (hide application) for mac
Conflicts:
	gtk2_ardour/ardour_ui.cc
	gtk2_ardour/ardour_ui.h
	gtk2_ardour/ardour_ui_ed.cc
2015-06-29 14:16:43 -04:00
YPozdnyakov
57dd0ef2f6 [Summary]: fix declaration of Cocoa NSApplicationDelegate methods [Reviewed by] Paul Davis
Conflicts:
	libs/gtkmm2ext/gtkapplication_quartz.mm
2015-06-29 14:16:43 -04:00
d541fda2be current version of valeriy's fader object requires access to libardour API (to be changed) 2015-06-29 14:16:43 -04:00
b9a09bc920 add fader implementation from Tracks 2015-06-29 14:16:43 -04:00
Greg Zharun
92e4f227de [Summary] Added correct memory alignment for Windows in ../pbd/malign.h
[Reviewed by] YPozdnyakov
2015-06-29 14:16:43 -04:00
24c531a9a6 fix panner selection logic and code in wscript 2015-06-29 14:16:43 -04:00
GZharun
ef59fbffa1 [Summary] Added possibility to identify IO thread which does not have required resources initialized during process callback handling
Conflicts:
	libs/ardour/ardour/audioengine.h
	libs/backends/wavesaudio/waves_audiobackend.cc
	libs/pbd/pbd/pool.h
2015-06-29 14:16:42 -04:00
017e580c9f add stacktrace() support for Windows (Grygorii Zharun) 2015-06-29 14:16:42 -04:00
dd9e646b40 fix static library build 2015-06-29 14:16:42 -04:00
YPozdnyakov
6103035594 [Summary]: Switching from Multi-Out mode to Stereo-out shouldn’t reset panner's value in the new created tracks. Profile->get_trx () was used. [Reviewed by GZharun] [Not Reviewed by Paul Davis]. 2015-06-29 14:16:42 -04:00
100d324e7a make available panners dependent on program name 2015-06-29 14:16:42 -04:00
ed72d9ddae update system config 2015-06-29 18:57:21 +02:00
d7c71d5cdb add missing config variable for shuttle_max_speed 2015-06-29 18:57:01 +02:00
bdd46bada9 link to new floss-tutorial
Still ardour3, but close to A4.
2015-06-28 03:28:09 +02:00
f10ad8eaa5 don’t confuse “Fader” with “Trim” (both <Amp>s)
Fixes pre-fader send mute point.
2015-06-28 02:47:45 +02:00
8803cd664c a more-likely-to-be-correct version of swing quantization.
This needs to be converted to fixed point, still.
2015-06-26 22:15:57 -04:00
7bc9d8aa90 swing quantize should skip the FIRST note and start on the SECOND, then alternate, notes 2015-06-26 16:16:25 -04:00
0613a02e10 Try to avoid coincident tempo/meter markers when removing time
If a tempo or meter marker exists immediately after the range being removed
by a 'remove time' operation, don't try to move the last marker within the
range being removed to the same position.

Ideally, TempoMap::remove_time() should do the same stuff as insert_time()
to make sure that meter changes only occur on bar lines, but that's for
another time.
2015-06-25 17:24:20 +01:00
94e4e2f55f rename TempoMap::cut_time() to remove_time()
Everywhere else, 'cut time' has been renamed to 'remove time': for consistency,
rename this one remaining function to match.
2015-06-25 15:33:53 +01:00
5aa834e1d8 fix windows debug builds:
undefined reference to `std::basic_ostream >& boost::operator<< , ArdourCanvas::Rect>(std::basic_ostream >&, boost::optional const&)'
2015-06-25 14:33:45 +02:00
fe672c827c show zero line when a DC offset moves waveform so that it doesn't intersect with the zero line (from Nimal Ratnayake <nimalr@pdn.ac.lk>) 2015-06-24 14:12:13 -04:00
2ea5962af2 rationalize save/restore of control surface "feedback" property 2015-06-24 13:46:07 -04:00
2b81d4d0fe do not draw waveform outline at x-positions where the waveform "spread" would not leave at least 1 pixel between the two outline pixels.
Plus a better comment.
2015-06-23 17:12:52 -04:00
e9224a58d1 several changes, major and minor, to improve threaded waveview rendering 2015-06-23 14:26:26 -04:00
97c9722236 silence clang int/float/double -Wabsolute-value 2015-06-23 15:46:00 +02:00
dece3c20ca create sortable, linear list for cache clearing on demand, rather than trying to maintain it in parallel with the cache map 2015-06-23 08:42:55 -04:00
424f6539b4 change location for initialization of static WaveView image cache, and provide a visible method to set the cache flush threshold 2015-06-23 08:17:48 -04:00
239052759f stop endless loop in WaveViewCache::cache_flush()
Still need to figure out how this could ever happen. It requires an image (shared pointer) to
be in the linear cache image list but not in the map
2015-06-22 22:00:45 -04:00
974e5dcc0c Add option to mackie control profile editor to remove binding (fixes #6301) 2015-06-21 12:42:48 -04:00
e5ea600ba0 Remove "" around CATALOG number in .cue file
cue2ddp definitely wants the bar code number *not* enclosed in quotes in
.cue files. Leave the quotes in .toc files: cdrdao definitely does need
these.
2015-06-21 14:48:33 +01:00
b66cc472e8 also log session-load error to stderr.
If the session fails to load, the editor and error-log window will
never be visible.
2015-06-19 22:54:22 +02:00
10203b5517 two more corrections to waveform zooming changes 2015-06-19 08:32:05 -04:00
3cf8cb3c3e fix call to consolidate image cache to use the information held in the request 2015-06-19 08:29:05 -04:00
8491a015e3 stop pixel jitter when changing waveview height.
To avoid pixel jitter, the top and bottom of each line in the waveview must be computed together in a single computation,
rather than independently.

Also, remove various height corrections and cairo translations that are not necessary or relevant anymore. A subsequent
commit for the GUI will pick up on this work to get the appearance completely correct
2015-06-19 08:14:02 -04:00
1043357cc9 attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView 2015-06-19 08:10:45 -04:00
2ec9151170 fix compiler const-cast warning 2015-06-19 08:10:35 -04:00
a1932c7feb Correctly re-start an iteration (if we delete one of the items being iterated) 2015-06-19 12:55:38 +01:00
9d4c93aca7 -Wsign-compare 2015-06-16 19:27:22 +02:00
90220998af add Record-Safe feature to libardour (from Nikolay Polyanovskii) 2015-06-16 08:44:03 -04:00
d65f03d074 fixes for canvas text display on Retina (from Valeriy) 2015-06-16 07:52:00 -04:00
dc2030cfd7 ALSA backend: add support for half-duplex devices 2015-06-14 22:26:06 +02:00
acd95215a4 allow to scan for half-duplex ALSA devices 2015-06-14 22:26:06 +02:00
94c146c780 prepare ALSA backend for half-duplex 2015-06-14 22:26:06 +02:00
573ec69a9a probe buffersize if jackd is already running. 2015-06-14 18:10:31 +02:00
b86a8edcff NOOP, reindent code. 2015-06-13 22:05:29 +02:00
c8e16998bf fix crash on OSX displaying MIDI sysex, or similar text. 2015-06-13 22:04:31 +02:00
cc543280d9 We were 2 more debug "bits" away from overflow, so recast PBD::DEBUG mechanism away from a 64bit integer and toward std::bitset.
Clean up a few minor related PBD::DEBUG issues along the way
2015-06-12 18:14:09 -04:00
10643779b6 more refactoring of WaveView threaded code to try to get to heart of crash bug 2015-06-11 17:04:08 -04:00
077e625734 don't queue a callback with the idle event for waveview image generation if one is already queued.
Also, hold relevant lock when waking image rendering thread.
2015-06-11 13:35:01 -04:00
ceb3c38090 comment tweak 2015-06-11 13:35:01 -04:00
97de6efe5d fix transport loop sub-state events
Loading a session with a loop-range, or setting
a loop-range adds LoopDeclick events.
Normal play back (no loop) never processes/clears the events.
Ardour was constantly doing split cycles for nothing.

This lead to stuck midi-notes: Split cycle calls
increment_global_port_buffer_offset() but the midi_diskstream
itself was not aware of any loop positions or offsets.

Entering loop playback adds those events explicitly
in Session::set_play_loop(). auto_loop_changed() only
needs to add/replace session-events when actively looping.
2015-06-11 15:08:22 +02:00
753d1ac392 possible fix for crashes related to vanishing waveviews (and if it doesn't fix anything, it is still more correct than it was) 2015-06-10 22:26:58 -04:00
ac2b0a327c fix basic error with computation of partial image width; add use of DEBUG_TRACE (DEBUG::WaveView,...) 2015-06-10 18:48:12 -04:00
1c6c9e95ba add PBD::DEBUG::WaveView 2015-06-10 18:48:12 -04:00