A user of libdjinterop who wishes to attach a waveform to a track might be interested to know if there are any recommended (or required) sizes of the waveform to attach. The library currently offers functions for this, but they are specialised to Engine DJ and still require some "inside" knowledge of the Engine database's specific schema.
For example, Mixxx has some nasty code like this:
djinterop::waveform_extents extents = dbSchemaVersion >=
djinterop::engine::engine_schema::schema_2_18_0
? e::calculate_overview_waveform_extents(
frameCount, pTrack->getSampleRate())
: e::calculate_high_resolution_waveform_extents(
frameCount, pTrack->getSampleRate());
Instead, it might be better if there is a function available as part of the high-level API, along the lines of:
djinterop::waveform_extents calculate_recommended_waveform_extents(const database& db, unsigned long long sample_count, double sample_rate);
A user of libdjinterop who wishes to attach a waveform to a track might be interested to know if there are any recommended (or required) sizes of the waveform to attach. The library currently offers functions for this, but they are specialised to Engine DJ and still require some "inside" knowledge of the Engine database's specific schema.
For example, Mixxx has some nasty code like this:
djinterop::waveform_extents extents = dbSchemaVersion >= djinterop::engine::engine_schema::schema_2_18_0 ? e::calculate_overview_waveform_extents( frameCount, pTrack->getSampleRate()) : e::calculate_high_resolution_waveform_extents( frameCount, pTrack->getSampleRate());Instead, it might be better if there is a function available as part of the high-level API, along the lines of: