Commit graph

7631 commits

Author SHA1 Message Date
Paul Davis
72f6f9bcba add SessionEvent::Action to libs/ardour enums registration 2015-02-05 16:21:08 -05:00
Paul Davis
15c6a0eb0e expand SessionEvent API to allow ::clear_events() to work correctly.
clear_events() must run in realtime context, which is likely to be asynchronous
with respect to the thread that calls it. So allow caller to pass in a functor
that will be executed (also in realtime context) after the clear is done.

Additionally, allow for a cross-thread callback to the event loop/thread which
initiated/allocated the clear event request so that it can flush its own pending
loop. This part probably isn't necessary but doesn't hurt and is a useful model.
The event would be placed back in the free list at the next event allocation
by the calling thread anyway.
2015-02-05 16:21:08 -05:00
Paul Davis
58713b667f expand PBD::Pool API and add additional DEBUG_TRACE output.
Expanded API splits apart some CrossThreadPool functionality, and provides
access to current pool status information (available(), total(), used(), pending_size())
2015-02-05 16:21:08 -05:00
Paul Davis
09c6e8dd47 set name of GUI event loop thread 2015-02-05 16:21:08 -05:00
GZharun
90f219bf85 [Summary] Implemented menu items for playhead modes, related actions, set priorities and default values
[Reviewed by QA] MKosharniy
2015-02-04 17:44:01 +02:00
Valeriy Kamyshniy
393682ce75 [Summary] make the added behavior TRACKS specific:
Gain for a newly created route depends on
 the current output_auto_connect mode:

    -18 for Stereo Out mode
    -0 Multi Out mode

As well removed unnecessary setting gain with 0 dB.
2015-02-03 21:39:41 +02:00
Valeriy Kamyshniy
955995f3a2 [Summar] Bux FIX:
Fader of newly created track(s) has wrong position (values)
Default fader position should be different according to PRD

In Stereo mode fader should have position -18dB
In Multiout mode fader should have position 0dB
2015-02-03 20:58:32 +02:00
VKamyshniy
2283681322 [Summary] Per Igor's request: if auto play loop is set on, the main timespan should be the range loop location. 2015-02-03 19:14:27 +02:00
YPozdnyakov
50b9a8c785 [Summary]: change method ARDOUR::find_session. Files '*.ardour.bak' aren't correct session files. Absence of this check could lead to crash. 2015-02-03 18:11:41 +02:00
Greg Zharun
314236e1c6 [Summary] Fixed bug with per thread pool error on Windows, when opening device control panel 2015-02-03 12:32:56 +02:00
YPozdnyakov
0b908a8b92 [Summary]: add possibility of starting Tracks from application api (as a result of dbl click / drag-n-drop on session file). Correct opening session file from application api when SessionDialog is running. Rework class SessionDialog. Rework method load_from_application_api (). 2015-02-02 18:50:50 +02:00
Valeriy Kamyshniy
3b888537bc [Summary] Defalut for super-rapid-clock-update was switched from FALSE to TRUE 2015-02-02 12:14:55 +02:00
VKamyshniy
d2a0ecd417 [Summary] Occasionally added missing comma. 2015-01-31 21:43:26 +02:00
Paul Davis
6aa29f3b09 make sure we allocate large enough buffers when doing a non-butler context disk buffer refill.
The size of the buffer now needs to reflect that we calculate read
refills in bytes, and if we are not using 32 bit float sample format
on disk, that can translate into > 1M samples.
2015-01-30 12:57:58 -05:00
Paul Davis
4aad37ebcb remove some debugging output related to varifill 2015-01-29 19:01:59 -05:00
Paul Davis
d6e38070ce more tweaks for varifill model, and avoid filling playback buffers during session loading 2015-01-29 19:01:59 -05:00
Paul Davis
d697bf5388 stop transport when process_routes fails, even when using the parallel graph execution model 2015-01-29 19:01:59 -05:00
Paul Davis
104a74f93a fix incorrect return value from sndfile_data_width() 2015-01-29 19:01:59 -05:00
Paul Davis
22c6dcd975 add function to get data width for ARDOUR::SampleFormat 2015-01-29 11:55:35 -05:00
Paul Davis
a846c8fc0e add initial support for vari-fill
When refilling playback buffer, try to fill it completely, or at least
using the next-lowest power-of-2 as the amount to read. When locating,
where we use do_refill_with_alloc(), only partially fill the buffer.

Work not yet finished, but possibly promising.

Conflicts:
	libs/ardour/ardour/midi_diskstream.h
	libs/ardour/diskstream.cc
2015-01-29 11:55:35 -05:00
Greg Zharun
0ffc6cef5d [Summary] Implemented restriction logic usecases for Record
[Details] Please, note, that insensitive (during record) topbar buttons will have incorrect look so far. Will be fixed by VKamyshniy
[Reviewed by QA] MKosharniy
2015-01-29 17:59:21 +02:00
Paul Davis
ed915cb540 playhead priority: if rolling and range selection vanishes while we are paying attention, ignore the change 2015-01-28 21:52:54 -05:00
GZharun
9ff171d2b8 [Summary] Fixed bug : 45119. Split makes 2 operations when using Select + Split key command
[Deatils] Fixed up region partitioning when slicing a range inside a region. Defect description is completely wrong. Region partitioning was not correct but NOT "split makes 2 operations".
[Reviewed by QA] MKosharniy
2015-01-28 18:19:10 +02:00
GZharun
331a918633 [Summary] Moved session buffers adjustment during butler thread set up to the place we are ready to handle them. 2015-01-28 16:43:08 +02:00
GZharun
ff8b4693bf [Summary] HOT FIX: Fixed crash which happens on an attempt to load a session with audio after preferences removal, when buffer preset is set to Medium.
[Details] It happened because ARDOUR::Butler::thread_work() was called before Buttler::map_parameters() method was called, which sets up the correct buffering parameters (set_buffering_parameters () call) according to chosen preset.
I've added this calls into Butler::start_thread () to make sure everything is set up and ready for use for Butler.

This is a hot fix, because it requires the review from Paul Davis, and probably more gentle solution. But it's possible this commit may become the main solution itself.
2015-01-28 12:44:49 +02:00
GZharun
bc6fefc839 [Summary] Made hdd buffering parameters casting to be performed more correct way
[Reviewed by] Paul Davis
2015-01-28 10:28:45 +02:00
Valeriy Kamyshniy
2ee2cc81eb [Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog. 2015-01-27 23:54:15 +02:00
GZharun
0aee0aab3e [Summary] Added HDD buffering drop down to the tracks control panel and connected required functionality to it. 2015-01-27 15:04:58 +02:00
YPozdnyakov
8d45456007 [Summary]: remove unused declarations 2015-01-27 13:56:22 +02:00
YPozdnyakov
d048d3fbba [Summary]: on OS X, do not require additional click to activate the SessionDialog [Suggested by Paul Davis] 2015-01-27 13:51:41 +02:00
YPozdnyakov
006c1d2104 [Summary]: fix declaration of Cocoa NSApplicationDelegate methods [Reviewed by] Paul Davis 2015-01-27 13:47:47 +02:00
Greg Zharun
ac2cb8d1d3 [Summary] Added abort () call instead of exit () if fatal error occurs to catch a back trace. 2015-01-27 12:04:11 +02:00
GZharun
71b44e9308 [Summary] HOT FIX: the returned value should be 65536 samples, which is an equivalent to 262144 bytes
[Reviewed by] Paul Davis
2015-01-27 10:45:25 +02:00
Paul Davis
1a71eedea0 Revert "make application active immediately, without requiring click"
This reverts commit 90399c80e6.

Will likely be applied separately by someone else.
2015-01-26 15:55:50 -05:00
Paul Davis
f808e772bc fix timing of Butler mapping config parameters to avoid crash.
Amazing that this didn't show up on Linux at all, or on the first run after build. Computers ... sigh.
2015-01-26 15:54:29 -05:00
Paul Davis
90399c80e6 make application active immediately, without requiring click 2015-01-26 15:15:14 -05:00
Paul Davis
92c8b8fae9 introduce the idea of buffering presets, along with 3 possible settings (plus custom).
Actual numbers for the parameters are still to be determined/verified, and probably subject to
some platform specificity.
2015-01-26 15:13:48 -05:00
GZharun
f76ae60204 [Summary] HOT FIX to the issue provoked by this commit: f8996e50c6
[Details] New read chunks exceed ring buffers capacity. When there is an attempt to playback we get error message.
2015-01-26 13:02:50 +02:00
GZharun
8e76cb5153 [Summary] Fixed crash with an attempt to remove loop marker and place playhead on any place under it
[Reviewed by] Paul Davis
[Reviewed by QA] MKosharniy
2015-01-26 10:44:48 +02:00
Paul Davis
83cbcd41aa replace all uses of POSIX locale with C locale - Windows does not support POSIX locale 2015-01-24 19:50:28 -05:00
Paul Davis
1ec29e4d97 make butler thread merely ask for session state save, not actually do the save itself.
This prevents the possibility of cross-thread calls in the GUI when it adds its state
to the session via extra XML
2015-01-24 19:32:39 -05:00
Paul Davis
8ca0573a5c Add a new signal (not yet used) to initiate session saves; alter signal name for existing signal used to allow other objects to add XML state to session
Conflicts:
	gtk2_ardour/video_timeline.cc
2015-01-24 19:31:50 -05:00
Paul Davis
05a5bcc84c ScrollGroup::covers_{window,canvas}() need to account for possible non-zero position of the group.
They also do NOT need to consider scroll offset
2015-01-24 18:13:56 -05:00
Paul Davis
7356ff6ab5 ScrollGroups are kept in their own list, so ::window_to_canvas() does not need to inspect root group children to find them 2015-01-24 18:13:56 -05:00
Paul Davis
f8996e50c6 split apart read and write chunk size and offer platform-dependent sizes for reading. Write chunk size should remain unchanged from before.
Conflicts:
	libs/ardour/diskstream.cc
	libs/ardour/midi_diskstream.cc
2015-01-24 10:43:30 -05:00
Nikolay
0655bd6d9a [Summary] Apply Solo, Exclusive Solo, Momentary Solo and Solo isolated to all selected tracks
[Feature reviewed] MKosharnyy
[Reviewed] GZharun
2015-01-21 18:25:28 +02:00
GZharun
7c27aa375e [Summary] Region changes will make session dirty 2015-01-21 13:37:51 +02:00
GZharun
e56a5a2d8d [Summary] Adding routes won't save session anymore, but will leave it dirty 2015-01-20 17:40:48 +02:00
GZharun
c25e35f2d4 [Summary] Fixed several issues which made session dirty when it's just loaded or created from scratch 2015-01-20 16:25:26 +02:00
GZharun
b76231f0de [Summary] Added files to Tracks Xcode project 2015-01-20 13:58:54 +02:00