summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd
AgeCommit message (Collapse)Author
2016-10-10Remove PropertyMap from XMLNode classTim Mayberry
It appears that there is no performance benefit from storing properties in a map for faster lookup or it is counteracted by the penalty of storing and maintaining the additional data structure. Timing results before changes with an optimized build: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 41293 Max: 63746 Total: 564448 Avg: 56444 (56 msecs) Write : Count: 10 Min: 42932 Max: 49221 Total: 453955 Avg: 45395 (45 msecs) Read : Count: 10 Min: 80160 Max: 84678 Total: 824506 Avg: 82450 (82 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 228759 Max: 420236 Total: 3587597 Avg: 358759 (358 msecs) Write : Count: 10 Min: 307095 Max: 348767 Total: 3205704 Avg: 320570 (320 msecs) Read : Count: 10 Min: 572400 Max: 657219 Total: 5959630 Avg: 595963 (595 msecs) Perf results after changes: XMLTest::testPerfMediumXMLDocumentTiming Create : Count: 10 Min: 30610 Max: 42656 Total: 376672 Avg: 37667 (37 msecs) Write : Count: 10 Min: 42804 Max: 54277 Total: 460455 Avg: 46045 (46 msecs) Read : Count: 10 Min: 70364 Max: 85484 Total: 750909 Avg: 75090 (75 msecs) XMLTest::testPerfLargeXMLDocumentTiming Create : Count: 10 Min: 164360 Max: 356995 Total: 3064482 Avg: 306448 (306 msecs) Write : Count: 10 Min: 308655 Max: 372953 Total: 3226707 Avg: 322670 (322 msecs) Read : Count: 10 Min: 517243 Max: 541839 Total: 5289950 Avg: 528995 (528 msecs)
2016-10-10Add XMLNode::operator==/!=() for comparing XMLNode instancesTim Mayberry
Implemented to be able to test that when writing an XML document via XMLTree and then reading back into another XMLTree the structure is equivalent as a general API test of pbd/xml++.h to check for breakage when changing implementation.
2016-10-10Add PBD::Timing::elapsed_msecs() as convenience APITim Mayberry
2016-09-19add API to create [tar.xz] archivesRobin Gareus
2016-09-19Move PBD::canonical_path to pbd/file_utils.h/cc and reimplement for WindowsTim Mayberry
This fixes the libpbd testCanonicalPathUTF8 and libardour open_session_utf8_path unit tests You can now have Sessions with localized names containing characters that aren't in the system codepage on Windows. It also fixes the issue where a Session would not open when it was moved into a path with characters that aren't in the system codepage. The only use case for calling canonical_path/realpath on the session path AFAICT is for resolving relative paths that are passed via the command line/terminal. I'm doubtful that works correctly on Windows because of character encoding issues with the current API we use for that(not glib), so it is slightly ironic that this issue was caused by an incorrect implementation of a function that is not really necessary on Windows at this point in time.
2016-09-14implement file-[un]archive progress reportRobin Gareus
2016-09-13Add support for built-in file/url unzip/untarRobin Gareus
This introduces new build-dependency: libarchive (http://www.libarchive.org/)
2016-08-19Move 'round()' / 'trunc()' etc so that they won't conflict with any versions ↵John Emmas
already available in MSVC
2016-08-19'roundf()' wasn't introduced in MSVC until VS2013 - so for the time being, ↵John Emmas
let's emulate it using 'floorf()'
2016-08-14change PBD::Transmitter code to use PBD::Signal<> not sigc::signal<>, since ↵Paul Davis
the latter is not thread safe
2016-07-19re-add TLSFRobin Gareus
2016-07-14prevent duplicate symbols (fix OSX compilation)Robin Gareus
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-14redesign PBD::LocaleGuard to work correctly (i.e. not break translations)Paul Davis
2016-07-14add a natural sort algorithmRobin Gareus
2016-07-10add a single-element ring-buffer write functionRobin Gareus
2016-07-01add the potential for a bit more debugging of signal connectsPaul Davis
2016-07-01add the potential for a bit more debugging of signal connectsPaul Davis
2016-06-26Enable build for FreeBSD (part 1/2)Robin Gareus
Adopted from Michael Beer -- GH pull-request #232 with minor changes: * rebased on master, * removed trailing whitespace, * don't explicitly change saved configuration defaults (wscript) * moved sys/wait (WNOHANG) to header include * separate changes in GUI and lib
2016-05-31move ControllableDescriptor from libpbd to libardour; add support for ↵Paul Davis
describing VCAs
2016-05-31a slew of as-yet incomplete work to get VCA solo+mute closer to workingPaul Davis
2016-05-31add a new Controllable::NotAutomable flagPaul Davis
2016-05-31universal change in the design of the way Route/Track controls are designed ↵Paul Davis
and used. The controls now own their own state, rather than proxy for state in their owners. Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31change API of Controllable::Changed signal to include (from_self, ↵Paul Davis
GroupControlDisposition) This allows the signal to convey more information, which may be required by some handlers of a control's Changed signal
2016-05-28Emulate 'log1p()' and 'expm1()' using 'log()' and 'exp()'John Emmas
(for MSVC which didn't implement those functions until very recent versions).
2016-05-07locale debuggingRobin Gareus
2016-05-05we always only use the "C" locale when saving.Robin Gareus
2016-05-05rework locale-guard for C and C++ localesRobin Gareus
let's hope querying the C-locale is more lightweight than setting it on windows.
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-05-03add a const method to check for existing key/value propertiesRobin Gareus
handy to lookup up XMLNodes with "id" == ID w/o allocating memory.
2016-04-24some notes on mem-leaks...Robin Gareus
2016-04-12some strategic documentationRobin Gareus
Prevent class descriptions inheriting the doc from PBD:Stateful by adding some specific doc.
2016-04-08Revert "experimental session-save speedup" -- needs C++11Robin Gareus
This reverts commit d1dcedaccfd5adfd661724476003410d5d251756.
2016-04-08more potential session-save speedup.Robin Gareus
std:vector trumps std::list speed in all aspects: traversal, insertion (at end) and Deletion. ..but we'll have to be careful about iterators..
2016-04-08experimental session-save speedupRobin Gareus
property order is not important, unordered_map lookup and insertion is O(1)
2016-04-03don't collect rt-mempoll statistics anymore (by default)Robin Gareus
2016-03-31Add a few class documentations to override inherited doc.Robin Gareus
clang doxygen comments follows class inheritance. Undocumented Ardour classes which inherit from sigc::trackable also inherit sigc's documentation.
2016-03-19suppress realloc-poll debug messages in optimized buildsRobin Gareus
2016-03-14add new Controllable::GroupDisposition value, ForGroup, to identify changes ↵Paul Davis
being made *for* a RouteGroup
2016-02-22realloc-pool unit-testRobin Gareus
2016-02-22time-bound memory-poolRobin Gareus
O(1) realloc() for use with Lua. A standard malloc/free/realloc API is exposed for testing and other potential use-cases. The current configuration it's performs well for lua-metatables (regular calls to realloc() with varying tiny chunks ~1-50 bytes) For the use-case at hand it outperforms TLSF.
2016-02-22add syntax and scaffolding for MIDI binding maps to refer to selected ↵Paul Davis
tracks/busses. THIS DOES NOT WORK YET. Selection information is not available in libardour at this time
2016-02-17allot to open OSX Finder with arbitrary pathsRobin Gareus
2016-02-13amend d814acb - SystemExec/Export debuggingRobin Gareus
2016-02-12add some debugging capability for users of SystemExec. Needs review.Ben Loftis
2016-01-22rename Controllable::WholeGroup => InverseGroup to reflect real intent.Paul Davis
Add logic to RouteGroupMember::use_group() to implement the real intent of InverseGroup
2016-01-16clean up functors used in cross-thread call_slot() messages, in case they ↵Paul Davis
contain shared_ptr<T>, which could result in a dangling reference
2016-01-14remove debug outputPaul Davis
2016-01-14fully clean up request buffers when a thread diesPaul Davis
2016-01-14manually revert 4b3043cc and 141e6fb8181; add detailed explanatory commentPaul Davis