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