Commit Graph

34 Commits

Author SHA1 Message Date
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus 3623b39168
Replace ::user_double() with ::get_double() 1/2 2022-06-29 01:39:02 +02:00
Paul Davis 65b7b3f2eb fix unset per-thread tempo map in AutomationWatch thread 2022-06-20 08:43:00 -06:00
Robin Gareus 24bbf403b9
Replace Glib::Threads with PBD::Thread (1/2) 2022-03-01 01:33:49 +01:00
Paul Davis 84da57eb02 nutempo #warning removal 2021-08-13 12:51:33 -06:00
Paul Davis eae9d276fe libardour: conversion to use timeline types (mega-commit) 2021-08-13 12:51:29 -06:00
Robin Gareus 7ce43739e8
Tweak sched priorities use given and 4 levels below. 2021-06-10 14:38:45 +02:00
Robin Gareus 9708987003
Fix automation write-mode (overwrite existing automation)
AutomationWatch::transport_state_change() is called at a time
when transport has just started to roll, but may not yet be rolling
(count-in, latency-preroll).

Later, after pre-roll is complete and transport starts moving,
AutomationWatch::transport_state_change() is not called again.

Thus set_in_write_pass(true); is never called, and writing
automation assumes that all changes happen while stopped.

In 'write" mode, guard points are added for each change, when
the transport is stopped.

Before this change, this happened at periodic intervals even
when rolling.
2020-06-12 05:08:29 +02:00
Robin Gareus c365c6cdb2
Set thread-names (libs) 2020-03-29 14:56:22 +02:00
Robin Gareus ff301419b3
Fix automation-write when locating
When locating while writing automation, begin a new write-pass,
and add a guard point at the locate target position.

NB set_in_write_pass takes 3 arguments: (write_enable, add_point, when)
the last two default to false, 0.
2019-11-13 16:57:28 +01:00
Robin Gareus a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus 3a776b58ce Use new RT-priority API 2018-10-11 15:29:43 +02:00
Paul Davis 30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus 467c801ce8 Abstract definition of rt-scheduler policy
pthread-w32 does not support pthread_setschedparam() with
SCHED_FIFO and bails out. While pthread_create() simply ignores the policy
and sets the priority regadless.

This only affects ctrl-surface event-loops & AutomationWatch on Windows.
2017-08-29 20:35:36 +02:00
Robin Gareus 6ab00534c0 Set Automationwatch thread priority (needs to be higher than GUI)
This fixes an issue with sparse automation touch/write when the CPU is
busy (stationary playhead, waveform rendering, or just high DSP load)
2017-08-29 17:25:23 +02:00
Robin Gareus fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
Robin Gareus 24829c93b8 AutomationWatch: single DropReferences connection per AC 2017-07-22 15:40:27 +02:00
Robin Gareus c1912b6d51 Write inverse master automation.
* The UI and ctrl-surface controls use and display the combined value,
including control-masters.

 * The Automation lane of a control is the raw value of the control
without masters.

When touching (or writing) automation, the control-master needs to be
factored out (or subtracted). e.g press+hold a control -> write inverse
master automation.
2017-06-13 18:09:59 +02:00
Paul Davis 93192705bd at transport stop, clear all existing automation watches (touch) 2017-01-23 13:25:24 +01:00
nick_m 2d47196f43 Automation watch sets position for new write pass when transport stopped. 2015-11-01 23:21:08 +11: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
nick_m 15819f0896 Automation -use editor_add in gui, record straight lines with fewer points.
- don't keep setting/unsetting write pass when transport frame
	  remains the same (think larger jack buffer sizes)
	- insert guards are now 64 frames after when.
	- refactor previous approach.
2015-06-17 09:54:22 +10:00
Ben Loftis 07997a6d38 likely fix for debug build 2015-03-25 14:47:18 -05:00
Ben Loftis 4a7236b773 fix touch-recording of automation in a loop 2015-03-25 14:28:36 -05:00
Paul Davis 130df9c2b1 use new ControlList::add() argument 2014-02-19 23:25:08 -05:00
John Emmas 490311bc08 'libs/ardour' - Main body of changes required for building with MSVC 2013-08-04 15:36:07 +01:00
Paul Davis 9f7e293c3b Use Glib::usleep for portability 2013-07-11 15:10:10 -04:00
Paul Davis 04cba6eca0 fix (?) behaviour when punching into automation write mode while the transport is moving, hopefully without breaking anything else 2013-04-02 16:10:51 -04:00
Paul Davis 8b3d0f04c1 tweak config param for automation sampling interval, set to 500msec by default, and expose in prefs dialog
git-svn-id: svn://localhost/ardour2/branches/3.0@13533 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-19 21:31:44 +00:00
Paul Davis bb9ab696b1 likely fixes for most remaining issues with data in automation/control lists, but more testing needed
git-svn-id: svn://localhost/ardour2/branches/3.0@13497 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 15:06:41 +00:00
Paul Davis 3cd8138a41 convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
Paul Davis 3c252e9321 lots more fidgety work on automation. sort of works now, but undo/redo needs attention
git-svn-id: svn://localhost/ardour2/branches/3.0@13047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17 03:10:40 +00:00
Paul Davis 5e26deeb6c add missing files
git-svn-id: svn://localhost/ardour2/branches/3.0@13039 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13 21:13:35 +00:00