packages feed

music-parts-1.9.0: music-parts.cabal

name:                   music-parts
version:                1.9.0
author:                 Hans Hoglund
maintainer:             Hans Hoglund
license:                BSD3
license-file:           COPYING
synopsis:               Musical instruments, parts and playing techniques.
category:               Music
tested-with:            GHC
build-type:             Simple
cabal-version:          >= 1.10
data-files:             data/instruments.csv

description: 
    Abstract representation of musical parts and instruments.
    .
    This library is part of the Music Suite, see <http://music-suite.github.io>.

source-repository head
  type:                 git
  location:             git://github.com/music-suite/music-parts.git

library                    
    build-depends:      base                    >= 4 &&        < 5,
                        containers              >= 0.5.5.1  && < 1,
                        monadplus,
                        aeson                   >= 0.7.0.6  && < 1,
                        lens                    >= 4.11     && < 5,
                        semigroups              >= 0.13.0.1 && < 1,
                        data-default            >= 0.5.3    && < 1,
                        adjunctions             >= 4.1      && < 5,
                        roman-numerals          >= 0.5.1.4  && < 1,
                        cassava                 >= 0.4.3.0  && < 1,
                        bytestring              >= 0.10.4.0 && < 1,
                        vector-space            >= 0.10.2   && < 1,
                        vector-space-points     >= 0.2      && < 1,

                        music-pitch             == 1.9.0,
                        music-dynamics          == 1.9.0
    exposed-modules:    Data.Semigroup.Option.Instances
                        
                        Music.Parts
                        
                        Music.Parts.Basic
                        Music.Parts.Voices
                        
                        -- -- TODO choral voicings etc
                        -- -- TODO use single type or many? How to do "subtyping"
                        -- -- Prisms, TFs, something else?
                        -- 
                        -- -- TODO require pitch dep
                        -- Music.Parts.Range

                        Music.Parts.Division
                        Music.Parts.Subpart
                        Music.Parts.Solo
                        
                        -- TODO "ensembles", essentially echoing the instrument hierarchy but in plural, i.e. (flute :: Instrument, flutes :: Part)
                        -- TODO write something nice about how division works, why we don't usually export flute1 etc.
                        -- Music.Parts.Strings
                        -- Music.Parts.Woodwind
                        -- Music.Parts.Brass
                        -- Music.Parts.Percussion
                        -- Music.Parts.Instrument.Keyboard
                        -- Music.Parts.Rhythm
                        -- Music.Parts.Other
                        
                        Music.Parts.Instrument
                        Music.Parts.Instrument.Strings
                        Music.Parts.Instrument.Woodwind
                        Music.Parts.Instrument.Brass
                        Music.Parts.Instrument.Percussion
                        Music.Parts.Instrument.Keyboard
                        Music.Parts.Instrument.Vocal
                        -- Music.Parts.Instrument.Rhythm
                        -- Music.Parts.Instrument.Other
                        
                        -- TODO a way to classify parts
                        -- so we know what goes on which staff, what kind of bracket to generate etc
                        
                        -- TODO some sub-subdivision (not for player allocation, but hand/finger)

                        -- For GHCI
                        Music.Parts.Internal.Data
    other-modules:      Paths_music_parts
    hs-source-dirs:     src
    default-language:   Haskell2010
    default-extensions: StandaloneDeriving,
                        TypeFamilies,
                        TypeOperators,
                        GeneralizedNewtypeDeriving,
                        MultiParamTypeClasses,
                        DeriveDataTypeable,
                        ViewPatterns,
                        OverloadedStrings