"""
# Mixer

FL Studio built-in module.

Allows you to control and interact with the FL Studio Mixer and effects tracks.

## Note

* Mixer tracks are zero-indexed
"""


from .__selection import (
    trackNumber,
    setTrackNumber,
    isTrackSelected,
    selectTrack,
    selectAll,
    deselectAll,
    setActiveTrack,
)
from .__tracks import (
    getTrackName,
    setTrackName,
    getTrackColor,
    setTrackColor,
    getSlotColor,
    setSlotColor,
    isTrackArmed,
    armTrack,
    isTrackSolo,
    soloTrack,
    isTrackEnabled,
    isTrackAutomationEnabled,
    enableTrack,
    isTrackMuted,
    muteTrack,
    isTrackMuteLock,
    getTrackVolume,
    setTrackVolume,
    getTrackPan,
    setTrackPan,
    getTrackStereoSep,
    setTrackStereoSep,
    setRouteTo,
    setRouteToLevel,
    getRouteToLevel,
    getRouteSendActive,
    afterRoutingChanged,
    getTrackPeaks,
    getTrackRecordingFileName,
    linkTrackToChannel,
    getTrackDockSide,
    isTrackSlotsEnabled,
    enableTrackSlots,
    isTrackRevPolarity,
    revTrackPolarity,
    isTrackSwapChannels,
    swapTrackChannels,
    linkChannelToTrack,
)
from .__properties import (
    getTrackInfo,
    trackCount,
    getSongStepPos,
    getCurrentTempo,
    getRecPPS,
    getSongTickPos,
    getLastPeakVol,
    focusEditor,
    getActiveEffectIndex,
)
from .__events import (
    getTrackPluginId,
    isTrackPluginValid,
    getEventValue,
    remoteFindEventValue,
    getEventIDName,
    getEventIDValueString,
    getAutoSmoothEventValue,
    automateEvent,
)
from .__eq import (
    getEqBandCount,
    getEqGain,
    setEqGain,
    getEqFrequency,
    setEqFrequency,
    getEqBandwidth,
    setEqBandwidth,
)


__all__ = [
    'trackNumber',
    'setTrackNumber',
    'isTrackSelected',
    'selectTrack',
    'selectAll',
    'deselectAll',
    'getTrackName',
    'setTrackName',
    'getTrackColor',
    'setTrackColor',
    'getSlotColor',
    'setSlotColor',
    'isTrackArmed',
    'armTrack',
    'isTrackSolo',
    'soloTrack',
    'isTrackEnabled',
    'isTrackAutomationEnabled',
    'enableTrack',
    'isTrackMuted',
    'muteTrack',
    'isTrackMuteLock',
    'getTrackVolume',
    'setTrackVolume',
    'getTrackPan',
    'setTrackPan',
    'getTrackStereoSep',
    'setTrackStereoSep',
    'setRouteTo',
    'setRouteToLevel',
    'getRouteToLevel',
    'getRouteSendActive',
    'afterRoutingChanged',
    'getTrackPeaks',
    'getTrackRecordingFileName',
    'linkTrackToChannel',
    'getTrackDockSide',
    'isTrackSlotsEnabled',
    'enableTrackSlots',
    'isTrackRevPolarity',
    'revTrackPolarity',
    'isTrackSwapChannels',
    'swapTrackChannels',
    'getTrackInfo',
    'trackCount',
    'getSongStepPos',
    'getCurrentTempo',
    'getRecPPS',
    'getSongTickPos',
    'getLastPeakVol',
    'getTrackPluginId',
    'isTrackPluginValid',
    'getEventValue',
    'remoteFindEventValue',
    'getEventIDName',
    'getEventIDValueString',
    'getAutoSmoothEventValue',
    'automateEvent',
    'linkChannelToTrack',
    'setActiveTrack',
    'focusEditor',
    'getActiveEffectIndex',
    'getEqBandCount',
    'getEqGain',
    'setEqGain',
    'getEqFrequency',
    'setEqFrequency',
    'getEqBandwidth',
    'setEqBandwidth',
]
