Commit graph

31 commits

Author SHA1 Message Date
Robin Gareus
fa07233a17 mutex 'er up
Some overzealous locking to track down RequestObject related crashes.

bc0fa4d689 wrongly locked the current event loop's
request_invalidation_lock instead of the invalidation's list lock.

Also Abstract UI is able to delete requests concurrently with with
EventLoop invalidation.
e.g. PortManager::PortRegisteredOrUnregistered  and GlobalPortMatrixWindow
so the lock needs to be exposed.

If this solves various issues, mutexes should to be consolidated
(request_buffer_map_lock + request_invalidation_lock) and be chosen
such that there is as little contention as possible.
2016-12-13 23:47:07 +01:00
nick_m
d9dea0a3aa rename Region pos_beats -> quarter_note 2016-11-11 03:37:08 +11:00
nick_m
594137f5cc remove public pulse methods from TempoMap.
- the only object whose musical position is not expressed in
	  quarter notes is MetricSection.
	  there is now no need to expose this.
2016-11-11 03:37:08 +11:00
nick_m
dca96d8b5d rename Region pulse to pos_beats. use new beat distance api where required.
- add more debugging output detecting regions whose
	  beat and frame position do not align on a playlist.
	  this is required as a check as we have never used
	  frame rounding on constant tempi before 8884a5723dc
2016-11-11 03:37:08 +11:00
Robin Gareus
a1a1112998 include session-utils with windows bundles 2016-10-14 18:36:54 +02:00
nick_m
4faf44588f Interpret start & length_beats properties as double rather than Evoral::Beats.
- Evoral::Beats operator!= would prevent an increment
	  of start_beats by intervals of less than a tick,
	  so its possible that other subtle problems
	  existed due to this kind of thing.
2016-10-10 03:39:57 +11:00
nick_m
bb3312c3bb fix_bbtppq: add missing space - no-op 2016-10-01 11:30:40 +10:00
nick_m
c742596024 fix_bbtppqn: setting start and length accounts for for multiple tempi, 2016-10-01 09:08:54 +10:00
nick_m
e67303b0e4 fix_bbtppq: fix typo. 2016-09-29 23:45:15 +10:00
nick_m
52ce0dc354 fix_bbtppq update: format text, remove old sources in region method. 2016-09-29 22:34:32 +10:00
Robin Gareus
96b35db9bd Fix error: conversion from 'int' to non-scalar type 2016-09-29 13:41:17 +02:00
nick_m
4634801cf1 Rename headless-chicken utility to fix_bbtppq 2016-09-29 02:26:16 +10:00
nick_m
b9332f5fe2 headless-chicken: force setting of region length properties, clean up code. 2016-09-29 01:27:42 +10:00
nick_m
83fd395476 headless-chicken: skip !writable sources, ensure midi path is writable. 2016-09-29 01:27:42 +10:00
nick_m
ab888ae4f6 headless-chicken: ensure new sources are empty, misc renaming. 2016-09-29 01:27:42 +10:00
nick_m
05dd601240 headless-chicken: misc fixes.
-clean up user text, remove double null ptr check,
	 we're using namespace std::
2016-09-29 01:27:42 +10:00
nick_m
460d5986f9 headless-chicken: various fixes
- one_source_per_region_fix no longer clobbers midi source
	- allow user to override per-region fix and suggest they do so.
	- fix multiple note divisor detection.
2016-09-29 01:27:42 +10:00
nick_m
8c6e9e15d4 Add headless-chicken session utility.
- provides an upgrade path for sessions affected by a nasty bug
	  present in some 5.0 - 5.3 MIDI sessions.
	  If testing from source, it can be run from the session_utils directory
	  using ./run ardour5-headless-chicken -h
2016-09-29 01:27:42 +10:00
Robin Gareus
44a04be437 update session utils for API change in 636522 2016-08-22 18:52:08 +02:00
Robin Gareus
8c944c08ea Normalize API rename part 2 2016-07-18 17:37:13 +02:00
Robin Gareus
f43ccd7321 update session-utils
* use target name in help text
* add options and documentation to copy-mixer
2016-06-03 23:09:18 +02:00
Robin Gareus
fe0ad00e7f copy mixer utility evolution 2016-06-02 22:25:41 +02:00
Robin Gareus
ea85217437 session-utils tweaks
* emulate 256 i/o (don't loose connections)
* allow "silent" start
2016-06-02 22:25:41 +02:00
Robin Gareus
1af8b564b4 fix typo in export-util help text 2016-06-02 22:25:41 +02:00
Robin Gareus
1fd04a37c1 prototype tool to copy mixer/route settings between sessions 2016-06-02 14:07:25 +02:00
Robin Gareus
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
Robin Gareus
883a6a3d4e UI updates for export-abort 2016-02-09 21:37:28 +01:00
Robin Gareus
d56a44bf36 UI updates for detailed export state. 2016-02-09 13:19:34 +01:00
Robin Gareus
47c08a36eb session-utils use the "Dummy" backend 2016-01-07 13:30:34 +01:00
Robin Gareus
53d8b45457 session-utils: use session's sample-rate 2015-12-16 23:22:05 +01:00
Robin Gareus
b228c11311 commandline session utilities 2015-12-16 00:25:07 +01:00