- Added support for silent audioTrackUid references with ID 0. See
AudioTrackUid::isSilent
andAudioTrackUid::getSilent
. - Added
audioFormatExtended
version
attribute; this should be set for BS.2076-2 compliance:document->set(Version("ITU-R_BS.2076-2"));
.
- Decimal times are now written without trailing zeros past 5 decimal places. To interoperate with ADM parsers which don't support more than 5 digits, users should round times in the ADM document before writing.
- Complementary audio object references are now read by the xml parser.
- Added support for AudioChannelFormatIDRef in AudioTrackUID as per BS.2076-2
- Added support for dB gains. For clarity,
Gain{1.0}
should be replaced withGain::fromLinear(1.0)
, andb.get<Gain>().get()
should be replaced withb.get<Gain>().asLinear()
, though the old API should continue to work. - Added BS.2076-2 gain attribute to audioObjects and all audioBlockFormat types.
- Added BS.2076-2 headLocked attribute to audioObjects and audioBlockFormats.
- Added support for headphoneVirtualise in audioBlockFormat as per BS.2076-2.
- Added support for importance in all audioBlockFormat types as per BS.2076-2.
- Added support for Label elements in AudioProgramme, AudioContent and AudioObject, and AudioComplementaryObjectGroupLabel elements in AudioObject.
- Added support for PositionOffset sub-element in AudioObject.
- Most single-argument constructors have been made explicit. For most code this should not be a problem, but it may sometimes require an extra constructor call when making elements.
- updated required C++ standard from C++11 to C++14
- implemented fractional time format from BS.2076-2
- audioProgramme and audioContent may now have multiple loudnessMetadata elements, as per BS.2076-2
- admConfig.cmake updated to behave better with find_package calls - errors are now reported correctly and info messages are silenced if QUIET has been requested.
- libadm_INCLUDE_DIRS and libadm_LIBRARY_DIRS were removed from admConfig.cmake. Users of these should link to the adm targets instead, as per the documentation.
- CMake GNUInstallDirs module used to determine default install locations
- INSTALL_XXX_DIR cache variables prefixed with ADM
- Install path for .dll on Windows changed to binary dir
- .pdb files now installed for Windows Debug and RelWithDebInfo configurations
has
forNfcRefDist
,ScreenRef
andNormalization
in HOA audioBlockFormat and audioPackFormat now always return true, as these parameters have defaults.
- Added support for Cartesian speaker positions.
- SpeakerPosition is now a boost::variant that can be either a CartesianSpeakerPosition or a SphericalSpeakerPosition
- The previous SpeakerPosition type has been renamed to SphericalSpeakerPosition.
- included mono (0+1+0) to the common definitions lookup tables
- corrected (0+5+0) to point to 5.1 pack (AP_00010003) in common definitions lookup table
- included LFE in common definitions lookup table
- multiple incorrect references to LFE1 changed to LFE in common definitions lookup tables
- corrected B-045 AudioTrackFormat reference in common definitions lookup table
- fixed erroneous test acceptance data
- replaced resource embedder with a cmake function to fix cross-compilation
- updateBlockFormatDurations now throws an exception when given an audioChannelFormat with no audioBlockFormats, rather than segfaulting
- fixed crash when parsing empty ADM documents
- new
addSimpleCommonDefinitionsObjectTo
function - new
addSimpleObjectTo
function - added support to lookup HOA common definitions AudioPackFormatIDs and AudioTrackFormatIDs
- added missing ITU-R BS.2051 setups 0+7+0 and 4+7+0 to common definition lookup tables
- improved
AudioChannelFormat::assignId
logic - huge performance increase for large documents
- fixed bug were not all references were removed if AudioPackFormat was removed from document
- library can now also be used as a CMake subproject
- new CMake option
ADM_HIDE_INTERNAL_SYMBOLS
- new CMake option
ADM_PACKAGE_AND_INSTALL
- new CMake option
BUILD_SHARED_LIBS
audioPackFormat
now supports typeDefinitionHOA
- Renamed CMake library target name from
libadm
toadm
- Renamed CMake option
UNIT_TESTS
toADM_UNIT_TESTS
- Renamed CMake option
EXAMPLES
toADM_EXAMPLES
- properly implemented the
LoudnessMetadata
class - improved common definitions handling
- drastically improved performance by enhancing hex and ID parsing
- boost will automatically be found when finding libadm
- hide symbols only is shared library is build
- An unresolvable reference will now result in an exception instead of a segfault when parsing XML.
- Always return true for values with default values in has<...>() methods.
- The dialogue subelement will now be written by the xml writer
- Added helper function to access optional properties from elements, return a supplied default value if it hasn't been set
- Add utility functions to (re-)calculate block format durations
- Added
adm::ReaderOption
to selectAudioFormatExtended
node search mode
- Use
Catch2
instead ofBoost.Test
for unit testing - Refactored XmlParser tests to use separate files for test data
- Improved search for
AudioFormatExtended
node when parsing XML
- Documentation fixes and clarifications
- Fixed visibility issues of some methods that prevented linking with the shared library
Initial release