Liking cljdoc? Tell your friends :D

bach.track


compile-trackclj

(compile-track track)

Provides a 'compiled' version of a parsed track that contains all of the information necessary to easily interpret a track as a single stream of normalized data (no references, all values are resolved)

Provides a 'compiled' version of a parsed track that contains all of the information necessary to easily
interpret a track as a single stream of normalized data (no references, all values are resolved)
sourceraw docstring

compiled-trackclj

source

default-headersclj

source

default-scaleclj

source

default-tempoclj

source

default-time-signatureclj

source

deref-variablesclj

(deref-variables track)

Dereferences any variables found in the parsed track. Does NOT support hoisting (yet)

Dereferences any variables found in the parsed track. Does NOT support hoisting (yet)
sourceraw docstring

find-headerclj

(find-header track label default)

Generically finds a header entry / meta tag in a parsed track by its label

Generically finds a header entry / meta tag in a parsed track by its label
sourceraw docstring

get-beat-unitclj

(get-beat-unit track)

Determines the reference unit to use for beats, based on time signature

Determines the reference unit to use for beats, based on time signature
sourceraw docstring

get-beat-unit-ratioclj

(get-beat-unit-ratio track)

Determines the ratio between the beat unit and the number of beats per measure

Determines the ratio between the beat unit and the number of beats per measure
sourceraw docstring

get-beats-per-measureclj

(get-beats-per-measure track)

Determines how many beats are in each measure, based on the time signature

Determines how many beats are in each measure, based on the time signature
sourceraw docstring

get-headersclj

(get-headers track)

Provides the headers (aka meta info) for a parsed track

Provides the headers (aka meta info) for a parsed track
sourceraw docstring

get-lowest-beatclj

(get-lowest-beat track)

Despite its name, this determines the greatest common beat (by duration) among every beat in a track. Once a this beat is found, a track can be iterated through evenly (and without variance) by its duration. This logic serves as the basis for normalization of the track, enabling trivial and optimal interpretation.

Despite its name, this determines the greatest common beat (by duration) among every beat in a track.
Once a this beat is found, a track can be iterated through evenly (and without variance) by its duration.
This logic serves as the basis for normalization of the track, enabling trivial and optimal interpretation.
sourceraw docstring

get-meterclj

(get-meter track)
source

get-ms-per-beatclj

(get-ms-per-beat track)

Determines the number of milliseconds each beat should be played for (normalized to lowest common beat). Mostly exists to make parsing easier for the high-level interpreter / player

Determines the number of milliseconds each beat should be played for (normalized to lowest common beat).
Mostly exists to make parsing easier for the high-level interpreter / player
sourceraw docstring

get-normalized-beats-per-measureclj

(get-normalized-beats-per-measure track)

Determines how many beats are in a measure, normalized against the lowest beat of the track

Determines how many beats are in a measure, normalized against the lowest beat of the track
sourceraw docstring

get-normalized-total-beatsclj

(get-normalized-total-beats track)

Determines the total beats in a track normalized to the lowest beat of the track

Determines the total beats in a track normalized to the lowest beat of the track
sourceraw docstring

get-normalized-total-measuresclj

(get-normalized-total-measures track)

Determines the total number of measures in a track, normalized to the lowest common beat

Determines the total number of measures in a track, normalized to the lowest common beat
sourceraw docstring

get-scaled-beat-unitclj

(get-scaled-beat-unit track)

Determines the reference unit to use for beats, scaled to a quarter note @see https://music.stackexchange.com/a/24141

Determines the reference unit to use for beats, scaled to a quarter note
@see https://music.stackexchange.com/a/24141
sourceraw docstring

get-scaled-total-beatsclj

(get-scaled-total-beats track)

Determines the total number of beats in the track scaled to the beat unit (4/4 time, 4 beats = four quarter notes)

Determines the total number of beats in the track scaled to the beat unit (4/4 time, 4 beats = four quarter notes)
sourceraw docstring

get-tagsclj

(get-tags track)
source

get-tempoclj

(get-tempo track)
source

get-time-signatureclj

(get-time-signature track)
source

get-titleclj

(get-title track)
source

get-total-beatsclj

(get-total-beats track)

Determines the total number of beats in the track (1 = 1 whole note, NOT necessarily 1 measure depending on the context).

Determines the total number of beats in the track (1 = 1 whole note, NOT necessarily 1 measure depending on the context).
sourceraw docstring

get-total-durationclj

(get-total-duration track unit)

Determines the total time duration of a track (milliseconds, seconds, minutes)

Determines the total time duration of a track (milliseconds, seconds, minutes)
sourceraw docstring

get-total-measuresclj

(get-total-measures track)

Determines the total number of measures in the track. Beats and measures are equivelant here since the beats are not normalized to the lowest common beat

Determines the total number of measures in the track. Beats and measures are equivelant here
since the beats are not normalized to the lowest common beat
sourceraw docstring

normalize-durationclj

(normalize-duration duration unit meter)

Adjusts a beat's duration from being based on whole notes (i.e. 1 = 4 quarter notes) to being based on the provided beat unit (i.e. the duration of a single normalized beat). In general, this determines 'How many unitsdoes the provideddurationequal considering themeter` (i.e. time-sig)?.

Adjusts a beat's duration from being based on whole notes (i.e. 1 = 4 quarter notes) to being based on the provided beat unit (i.e. the duration of a single normalized beat).
In general, this determines 'How many `unit`s` does the provided `duration` equal considering the `meter` (i.e. time-sig)?.
sourceraw docstring

normalize-measuresclj

(normalize-measures track)

Parses the track data exported via Play into a normalized matrix where each row (measure) has the same number of elements (beats). Makes parsing the track much easier for the high-level interpreter / player as the matrix is trivial to iterate through.

Parses the track data exported via `Play` into a normalized matrix where each row (measure) has the same number of elements (beats).
Makes parsing the track much easier for the high-level interpreter / player as the matrix is trivial to iterate through.
sourceraw docstring

powers-of-twoclj

source

provision-headersclj

(provision-headers track)

Combines default static meta information with dynamic meta information to provide a provisioned set of headers

Combines default static meta information with dynamic meta information to provide a provisioned set of headers
sourceraw docstring

reduce-trackclj

(reduce-track track)

Dereferences variables and reduces the primitive values in a parsed track

Dereferences variables and reduces the primitive values in a parsed track
sourceraw docstring

reduce-valuesclj

(reduce-values track)

Reduces any primitive values in a parsed track

Reduces any primitive values in a parsed track
sourceraw docstring

validateclj

(validate track)

Determines if a parsed track is valid or not

Determines if a parsed track is valid or not
sourceraw docstring

validate-memoclj

source

variable-scopeclj

(variable-scope scope)

Provides a localized scope/stack for tracking variables

Provides a localized scope/stack for tracking variables
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close