Skip to content

Move calculation of waveform extents to high-level API #149

@mr-smidge

Description

@mr-smidge

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);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions