summaryrefslogtreecommitdiff
path: root/libs/pbd
AgeCommit message (Collapse)Author
2018-09-21Fix --no-nls (2/5), prefer #if in libsRobin Gareus
This is for consistency with system-wide gettext.h which is used by some 3rd party libs. system-wide gettext uses `#if ENABLE_NLS`, not #ifdef
2018-09-10Initial changes needed for building Mixbus (with MSVC) as version 5John Emmas
(Mixbus itself will probably need extra changes)
2018-08-07better debug message with correct namespace for EventLoop::invalidate_request()Paul Davis
2018-05-19Move a couple of #undef'sJohn Emmas
'pbd/timing.h' now includes a call to 'std::numeric_limits<>::max()'
2018-05-17Add a time-profiler with statisticsRobin Gareus
2018-02-15When building with MSVC, allow for the fact that Mixbus and Ardour can be ↵John Emmas
using different versions of the SESSION_FILE format
2017-11-27Fix "open folder" for non-ASCII paths on WindowsRobin Gareus
2017-10-30Move coreaudio_set_realtime_policy into libpbdRobin Gareus
2017-10-27Accommodate newly added/removed source(s) in our MSVC project (libpbd)John Emmas
2017-10-26Add a RAII SpinLock (using boost's spinlock)Robin Gareus
2017-10-18Fix g_stat() for 64bit windows/mingw64Robin Gareus
2017-10-03Prepare support for compression levels (archive + flac)Robin Gareus
2017-09-28Check in a few MSVC projects to accommodate the change from libtimecode to ↵John Emmas
libtemporal This is mostly to see if there'll be any problems when merging these changes into Mixbus. I'm guessing there'll be some conflicts in these projects (and a lot more to follow...)
2017-09-21Don't recurse into MacVST bundle-folders during plugin-scanRobin Gareus
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
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-18Add TouchChanged signal (and re-indent)Robin Gareus
2017-09-16Namespace PBD::RingBufferRobin Gareus
class RingBuffer<> is a very generic name and should not pollute the global namespace.
2017-08-30Avoid assert() when loading xml: Throw an XMLerror if attribute_value fails.Ben Loftis
2017-08-29Abstract definition of rt-scheduler policyRobin Gareus
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-29Add a PBD API to set pthread priorityRobin Gareus
2017-08-05Add API to set thread-priority (for ctrl-surfaces)Robin Gareus
2017-08-04NO-OP: whitespaceRobin Gareus
2017-08-04Graph profiling: allow to override max DSP thread count & calc avg.Robin Gareus
2017-07-30NO-OP: name-change (_list and _lock are also used in other places)Robin Gareus
Derived classes need to explicitly specify namespace and class to avoid ambiguities (even for private members)
2017-07-25Make start_touch() truly idempotentRobin Gareus
Also don't allow outsiders to call Controllable::set_touching()
2017-07-03PBD::init() failing is fatal in main(), don't silently exit.Robin Gareus
2017-07-02Controllable focus notification APIRobin Gareus
This allows to inform control-surfaces about the current GUI control-element. "Link" control-surface interaction to GUI focus.
2017-06-22Accommodate newly introduced source(s) in our MSVC project (libpbd)John Emmas
2017-06-22Remove LocaleGuard from PBD::Controllable state methodsTim Mayberry
These are no longer necessary as float <=> string conversion is handled by locale independent PBD::to_string/string_to via XMLNode::get/set_property
2017-06-21compilation requires <stdint.h>Paul Davis
2017-06-21Remove internal_to_user/user_to_internal APIRobin Gareus
Also GainControl can just use the AutomationControl's implementation of get_user_string()
2017-06-21Centralize control-parameter math functions in libpbd.Robin Gareus
Functions formerly in ardour/util.h and some more functions. The main motivation is libevoral which can use libpbd but not libardour. The eventual goal is to consolidate various different interpolation, scaling and deflection methods.
2017-06-12VCA/SlavableAutomationCtrl re-design:Robin Gareus
* remember master-ctrl value on assignment & save with session * Control/AutomationCtrl only stores ctrl's own value (w/o master) * virtual AutomationControl::get_value () -> use SlavableAC method * MasterRecord uses weak-ptr (fixes recursive ~Controllable() deadlock)
2017-05-29NO-OP: whitespaceRobin Gareus
2017-05-29duplicate routes start off unsoloed to avoid issues related to upstream / ↵Daniel Sheeler
downstream buses
2017-05-26Remove normalization of property names from libpbd xml codeTim Mayberry
It may have been OK to add this code temporarily at this low level, but as it was introduced in 2008, this change is made with the assumption that any Sessions that were affected have been re-saved since then with corrected property names and that "normalization" is no longer necessary. Timing results before changes: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 30375 Max: 48253 Total: 431727 Avg: 43172 (43 msecs) Write : Count: 10 Min: 42553 Max: 49163 Total: 453353 Avg: 45335 (45 msecs) Read : Count: 10 Min: 70307 Max: 75987 Total: 734923 Avg: 73492 (73 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 154486 Max: 307856 Total: 2678989 Avg: 267898 (267 msecs) Write : Count: 10 Min: 304273 Max: 343274 Total: 3169158 Avg: 316915 (316 msecs) Read : Count: 10 Min: 496920 Max: 541394 Total: 5260410 Avg: 526041 (526 msecs) Timing results after changes: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 21437 Max: 39749 Total: 348622 Avg: 34862 (34 msecs) Write : Count: 10 Min: 42320 Max: 49989 Total: 446135 Avg: 44613 (44 msecs) Read : Count: 10 Min: 63252 Max: 68389 Total: 660841 Avg: 66084 (66 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 113458 Max: 263225 Total: 2215595 Avg: 221559 (221 msecs) Write : Count: 10 Min: 305439 Max: 339986 Total: 3150697 Avg: 315069 (315 msecs) Read : Count: 10 Min: 447560 Max: 488121 Total: 4698903 Avg: 469890 (469 msecs)
2017-05-06NO-OP: whitespace and FSF addressRobin Gareus
2017-05-05extend PBD::ID API to allow construction and operator== using uint64_tPaul Davis
This is theoretically dangerous, because a PBD::ID is supposed to be unique, and this new constructor cannot guarantee that. However, the same danger already exists with the std::string-based constructor
2017-04-22Add mechanism to reset/lock semaphoresRobin Gareus
2017-04-21Use correct property names in PBD::Undo classTim Mayberry
These have been "normalized" in XMLProperty ctor for many years, so this does not change the Session format.
2017-04-21Use hyphen for XML property namesTim Mayberry
These have been normalized/modified by the XMLProperty ctor for many years (~9) so special treatment when reading properties should not be needed.
2017-04-20Relax LocaleGuardsRobin Gareus
Arodur itself on longer depends on C/C++ locale for saving/loading sessions. However, the Localeguard is kept for 3rd party plugins: Reset the C locale to "C" to enforce consisten numerics and portable sessions as well as verify that no plugin changes the C++ locale.
2017-04-19Changes needed for building Tim's new 'string_convert' stuff with MSVC (libpbd)John Emmas
2017-04-19Add additional PBD::string_to/to_string specializations for PBD::IDTim Mayberry
2017-04-19Remove PBD::to_string() function from pbd/convert.hTim Mayberry
All uses of this function have now been replaced by PBD::to_string() from pbd/string_convert.h Remove this function so that it isn't mistakenly used to perform numeric to string conversion when the result is being used for serialization as that only works if the global C++ locale is set with LC_NUMERIC=C, which is the case currently but may not be in the future.
2017-04-19Remove now unused PBD::string_is_affirmative functionTim Mayberry
The equivalent function is now PBD::string_to<bool>
2017-04-19Remove unused XMLNode::add_property methodsTim Mayberry
These are now unused and functionality is replaced by XMLNode::set_property set_property is a better name as a node can only have properties with unique names and the property will be set or reset(if it already exists). Changing the name also makes it easier to transition and test the new API.
2017-04-19Use XMLNode::set_property API in xml testsTim Mayberry
2017-04-19Use XMLNode::set_property in PBD::PropertyTemplate<T> classTim Mayberry
2017-04-19Use XMLNode::get/set_property API in PBD::ConfigurationVariable classTim Mayberry