csound-controllers 0.1.1.0 → 0.1.1.1
raw patch · 2 files changed
+88/−3 lines, 2 filesdep ~csound-expressionPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
Dependency ranges changed: csound-expression
API changes (from Hackage documentation)
+ Csound.Control.Midi.LaunchKey: arrowDownSig :: LkChn -> SE Sig
+ Csound.Control.Midi.LaunchKey: arrowDownTap :: LkChn -> SE Tick
+ Csound.Control.Midi.LaunchKey: arrowDownToggle :: LkChn -> SE (Evt D)
+ Csound.Control.Midi.LaunchKey: arrowLeftSig :: LkChn -> SE Sig
+ Csound.Control.Midi.LaunchKey: arrowLeftTap :: LkChn -> SE Tick
+ Csound.Control.Midi.LaunchKey: arrowLeftToggle :: LkChn -> SE (Evt D)
+ Csound.Control.Midi.LaunchKey: arrowRightSig :: LkChn -> SE Sig
+ Csound.Control.Midi.LaunchKey: arrowRightTap :: LkChn -> SE Tick
+ Csound.Control.Midi.LaunchKey: arrowRightToggle :: LkChn -> SE (Evt D)
+ Csound.Control.Midi.LaunchKey: arrowUpSig :: LkChn -> SE Sig
+ Csound.Control.Midi.LaunchKey: arrowUpTap :: LkChn -> SE Tick
+ Csound.Control.Midi.LaunchKey: arrowUpToggle :: LkChn -> SE (Evt D)
Files
csound-controllers.cabal view
@@ -1,5 +1,5 @@ name: csound-controllers-version: 0.1.1.0+version: 0.1.1.1 description: Please see the README on GitHub at <https://github.com/githubuser/csound-controllers#readme> homepage: https://github.com/githubuser/csound-controllers#readme bug-reports: https://github.com/githubuser/csound-controllers/issues@@ -9,10 +9,12 @@ license: BSD3 license-file: LICENSE build-type: Simple-cabal-version: >= 1.22+cabal-version: 1.12 extra-source-files: ChangeLog.md README.md+Category: Music+Synopsis: MIDI controllers source-repository head type: git@@ -25,7 +27,7 @@ src build-depends: base >=4.7 && <5,- csound-expression >= 5.3.4+ csound-expression >= 5.4.3.1 default-language: Haskell2010 test-suite csound-controllers-test
src/Csound/Control/Midi/LaunchKey.hs view
@@ -13,6 +13,27 @@ , tapBtnRowSig , toggleBtn , toggleBtns+ -- * arrow buttons+ -- | Note that we need to set +-raw_controller_mode=1+ -- to use these buttons in Csound options/flags.++ -- ** Signal producers (1 / 0)+ , arrowUpSig+ , arrowDownSig+ , arrowLeftSig+ , arrowRightSig++ -- ** Sense taps (only ON press)+ , arrowUpTap+ , arrowDownTap+ , arrowLeftTap+ , arrowRightTap++ -- ** Sense on/off taps (1 for ON and 0 for OFF)+ , arrowUpToggle+ , arrowDownToggle+ , arrowLeftToggle+ , arrowRightToggle ) where import Control.Monad@@ -86,3 +107,65 @@ -- pressBtnSig :: Chn -> Int -> SE Sig -- toggleBtnSig :: Chn -> Int -> SE Sig+--++----------------------------------------------++upNum, downNum, leftNum, rightNum :: D++upNum = 114+downNum = 115+leftNum = 116+rightNum = 117++arrowUpSig :: LkChn -> SE Sig+arrowUpSig = arrowSig upNum++arrowDownSig :: LkChn -> SE Sig+arrowDownSig = arrowSig downNum++arrowLeftSig :: LkChn -> SE Sig+arrowLeftSig = arrowSig leftNum++arrowRightSig :: LkChn -> SE Sig+arrowRightSig = arrowSig rightNum++arrowSig :: D -> LkChn -> SE Sig+arrowSig idx (LkChn chn) =+ umidiCtrl (int chn) idx 0++------------------------------------------------++arrowUpTap :: LkChn -> SE Tick+arrowUpTap = toArrowTap upNum++arrowDownTap :: LkChn -> SE Tick+arrowDownTap = toArrowTap downNum++arrowLeftTap :: LkChn -> SE Tick+arrowLeftTap = toArrowTap leftNum++arrowRightTap :: LkChn -> SE Tick+arrowRightTap = toArrowTap rightNum++toArrowTap :: D -> LkChn -> SE Tick+toArrowTap idx chn =+ fmap (fmap (const unit) . filterE ((==* 1) . sig) . snaps) $ arrowSig idx chn++------------------------------------------------++arrowUpToggle :: LkChn -> SE (Evt D)+arrowUpToggle = toArrowToggle upNum++arrowDownToggle :: LkChn -> SE (Evt D)+arrowDownToggle = toArrowToggle downNum++arrowLeftToggle :: LkChn -> SE (Evt D)+arrowLeftToggle = toArrowToggle leftNum++arrowRightToggle :: LkChn -> SE (Evt D)+arrowRightToggle = toArrowToggle rightNum++toArrowToggle :: D -> LkChn -> SE (Evt D)+toArrowToggle idx chn = fmap snaps $ arrowSig idx chn+