music-preludes (empty) → 1.2
raw patch · 4 files changed
+103/−0 lines, 4 filesdep +basedep +music-dynamicsdep +music-dynamics-literalsetup-changed
Dependencies added: base, music-dynamics, music-dynamics-literal, music-pitch, music-pitch-literal, music-score, musicxml2, semigroups, vector-space
Files
- COPYING +26/−0
- Setup.lhs +4/−0
- music-preludes.cabal +34/−0
- src/Music/Prelude/Piano.hs +39/−0
+ COPYING view
@@ -0,0 +1,26 @@++Copyright (c) 2013, Hans Höglund+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:+ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.+ * Redistributions in binary form must reproduce the above copyright+ notice, this list of conditions and the following disclaimer in the+ documentation and/or other materials provided with the distribution.+ * Neither the name of the <organization> nor the+ names of its contributors may be used to endorse or promote products+ derived from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+
+ Setup.lhs view
@@ -0,0 +1,4 @@+#! /usr/bin/env runhaskell++> import Distribution.Simple+> main = defaultMain
+ music-preludes.cabal view
@@ -0,0 +1,34 @@++name: music-preludes+version: 1.2+cabal-version: >= 1.2+author: Hans Hoglund+maintainer: Hans Hoglund+license: BSD3+license-file: COPYING+synopsis: Some useful preludes for the Music Suite.+category: Music+tested-with: GHC+build-type: Simple++description: + Some useful preludes for the Haskell Music Suite.++ This library is part of the Haskell Music Suite, see <http://musicsuite.github.com>.++library + build-depends: + base >= 4 && < 5,+ music-score,+ musicxml2,+ vector-space,+ semigroups,+ music-pitch,+ music-pitch-literal,+ music-dynamics,+ music-dynamics-literal+ + hs-source-dirs: src+ exposed-modules:+ Music.Prelude.Piano+
+ src/Music/Prelude/Piano.hs view
@@ -0,0 +1,39 @@++module Music.Prelude.Piano (+ module Music.Score,+ module Music.Score.Combinators,+ module Music.Pitch.Literal,+ module Data.Semigroup,+ module Data.VectorSpace,+ module Data.AffineSpace,+ putXml,+ showXml,+ asScore+ ) where++import Music.Score+import Music.Score.Combinators+import Music.Pitch.Literal+import Music.Dynamics.Literal+import Data.Semigroup+import Data.VectorSpace hiding (Sum, getSum)+import Data.AffineSpace+import qualified Music.MusicXml as Xml+++putXml = putStrLn . Xml.showXml . toXml . asScore+showXml = Xml.showXml . toXml . asScore++asScore :: Score Note -> Score Note+asScore = id++data NotePart+ = Pno+ deriving (Eq, Ord, Enum)++instance Show NotePart where+ show Pno = "Piano"++type Note = (VoiceT NotePart (TieT+ (TremoloT (HarmonicT (SlideT+ (DynamicT (ArticulationT (TextT Integer))))))))