Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Functions to normalise UGen names. SC3
UGen names are
capitalised, hsc3
cannot use the same names for UGen constructor
functions. The functions here are heuristics, and are likely only
partial.
Synopsis
- sc3_name_edges_plain :: String -> [Bool]
- sc3_name_edges :: String -> [Bool]
- sc3_name_to_hs_name :: String -> String
- sc3_name_to_lisp_name :: String -> String
- sc3_ugen_name_sep :: String -> Maybe (String, Maybe Rate)
Documentation
sc3_name_edges_plain :: String -> [Bool] Source #
Find all SC3 name edges. Edges occur at non lower-case letters.
sc3_name_edges :: String -> [Bool] Source #
Find non-initial SC3 name edges.
sc3_name_edges "SinOsc" == [False,False,False,True,False,False] sc3_name_edges "FFT" == [False,False,False] sc3_name_edges "DFM1" == [False,False,False,False] sc3_name_edges "PV_Add" == [False,False,False,True,False,False] sc3_name_edges "A2K" == [False,False,False] sc3_name_edges "Lag2UD" == [False,False,False,True,True,True]
sc3_name_to_hs_name :: String -> String Source #
Convert from SC3 name to HS style name.
s = words "SinOsc LFSaw FFT PV_Add AllpassN BHiPass BinaryOpUGen HPZ1 RLPF TGrains DFM1 FBSineC A2K Lag2UD IIRFilter FMGrainB" l = words "sinOsc lfSaw fft pv_Add allpassN bHiPass binaryOpUGen hpz1 rlpf tGrains dfm1 fbSineC a2k lag2UD iirFilter fmGrainB" map sc3_name_to_hs_name s == l
sc3_name_to_lisp_name :: String -> String Source #
Convert from SC3 name to Lisp style name.
s = words "SinOsc LFSaw FFT PV_Add AllpassN BHiPass BinaryOpUGen HPZ1 RLPF TGrains DFM1" l = words "sin-osc lf-saw fft pv-add allpass-n b-hi-pass binary-op-u-gen hpz1 rlpf t-grains dfm1" map sc3_name_to_lisp_name s == l