Cargo Features

[dependencies]
djio = { version = "0.0.19", default-features = false, features = ["midi", "midir", "jack", "hid", "blinking-led-task", "blinking-led-task-tokio-rt", "controller-thread", "all-controllers", "midi-controllers", "denon-dj-mc6000mk2", "korg-kaoss-dj", "pioneer-ddj-400", "hid-controllers", "ni-traktor-kontrol-s4mk3", "experimental-param"] }
default = all-controllers, blinking-led-task-tokio-rt, controller-thread, midir

All cross-platform features are enabled by default.

midi denon-dj-mc6000mk2? korg-kaoss-dj? pioneer-ddj-400?

Affects devices::generic_midi

midir default

Enables midir ^0.9.1

jack

Enables jack of optional midir ^0.9.1

hid ni-traktor-kontrol-s4mk3?

Enables hidapi

Affects djio::hid

blinking-led-task blinking-led-task-tokio-rt

Enables time of tokio and tokio of discro ^0.28.1

Optional dependencies

blinking-led-task-tokio-rt default = blinking-led-task

Enables rt of tokio

tokio:

Includes basic task execution capabilities

Affects blinking_led_task::spawn_blinking_led_task

controller-thread default

Enables rt and time of tokio

all-controllers default = hid-controllers, midi-controllers

Controller support features
TODO: Extract each controller into a separate crate after the API has settled.

midi-controllers all-controllers = denon-dj-mc6000mk2, korg-kaoss-dj, pioneer-ddj-400

MIDI controllers

Affects devices::MIDI_DJ_CONTROLLER_DESCRIPTORS

denon-dj-mc6000mk2 midi-controllers? = midi

Affects devices::denon_dj_mc6000mk2

korg-kaoss-dj midi-controllers? = midi

Affects devices::korg_kaoss_dj

pioneer-ddj-400 midi-controllers? = midi

Affects devices::pioneer_ddj_400

hid-controllers all-controllers = ni-traktor-kontrol-s4mk3

HID controllers

Affects devices::HID_DJ_CONTROLLER_DESCRIPTORS

ni-traktor-kontrol-s4mk3 hid-controllers? = hid

Affects devices::ni_traktor_kontrol_s4mk3

experimental-param

Experimental features

Enables crossbeam-utils and enum-as-inner

crossbeam-utils:

Optional dependencies (experimental features)

Affects djio::param