libadm
libadm copied to clipboard
Audio Definition Model (ITU-R BS.2076) handling library
block duration assignment sets duration attributes here: ttps://github.com/ebu/libadm/blob/9955fbd2941756140b3e4a47c1fdcef7d711e162/src/utilities/block_duration_assignment.cpp#L83C1-L88 If the block has a default rtime, it will still have a duration set, which is invalid. Thus just needs `block.set(block.template get());`...
closes #191 Perhaps this should be called `isVariantType` instead? It's nice if the name of this matches `std::holds_alternative` which will eventually replace this. Code size changes are not dramatic, but...
To check which type a variant holds, both `v.which() == x` and `v.type() == typeid(T)` are used,, and i'm not keen on either. The options are: - `v.which()`: Fast, small...
todo: - [x] update the big comment - [x] revisit VariantParameter -- perhaps this can now be implemented without the virtual base - ~no, this is still required. one possible...
I think the first part of this is fairly obvious and worth merging soon, but i'm not sure about the move stuff. `getNamedTypeDefault` is different from `getDefault` for two reasons:...
this test passes, and probably shouldn't: ```cpp TEST_CASE("NamedType_increment_check") { using namespace adm; using NamedIntegerRange = detail::NamedType; NamedIntegerRange value(0); value--; } ```
``` include/adm/elements/gain_interaction_range.hpp 13:#ifndef M_PI 14:#define M_PI 3.14159265359f include/adm/elements/position.hpp 13:#ifndef M_PI 14:#define M_PI 3.14159265359f include/adm/elements/position_interaction_range.hpp 12:#ifndef M_PI 13:#define M_PI 3.14159265359f ```
also update `CompareRtimeDurationLess`, which may have been changed in https://github.com/ebu/libadm/pull/182
This accepts a vector of nodes: https://github.com/ebu/libadm/blob/3f94a9b84ecc93c55beacb706f3ea1d71e065b3d/src/private/xml_parser.cpp#L768 and it's not moved in here: https://github.com/ebu/libadm/blob/3f94a9b84ecc93c55beacb706f3ea1d71e065b3d/include/adm/private/xml_parser_helper.hpp#L254
An `audioTrackFormat` representing some custom codec might have user-defined `formatLabel` and `formatDefinition` attributes (see 2076-2 page 80). libadm throws a parsing error if it encounters anything other than `formatDefinition=0000 formatLabel=Undefined`...