hommage 0.0.5 → 0.0.6
raw patch · 76 files changed
+40/−29076 lines, 76 filesdep ~basesetup-changednew-uploader
Dependency ranges changed: base
Files
- LICENSE +30/−0
- Main.hs +0/−8
- Setup.hs +0/−1
- Sound/Hommage/WavFile.hs +3/−2
- Sound/Hommage/dft.c +1/−1
- doc/Sound.Hommage.DFTFilter.html +0/−899
- doc/Sound.Hommage.Envelope.html +0/−1220
- doc/Sound.Hommage.FFT.html +0/−801
- doc/Sound.Hommage.Filter.html +0/−797
- doc/Sound.Hommage.Midi.html +0/−1368
- doc/Sound.Hommage.Misc.html +0/−713
- doc/Sound.Hommage.Notation.html +0/−2053
- doc/Sound.Hommage.Osc.html +0/−700
- doc/Sound.Hommage.Parameter.html +0/−1583
- doc/Sound.Hommage.Play.html +0/−1525
- doc/Sound.Hommage.Rand.html +0/−357
- doc/Sound.Hommage.Sample.html +0/−1258
- doc/Sound.Hommage.Seq.html +0/−473
- doc/Sound.Hommage.Signal.html +0/−1218
- doc/Sound.Hommage.Sound.html +0/−3253
- doc/Sound.Hommage.Tools.html +0/−247
- doc/Sound.Hommage.WavFile.html +0/−1226
- doc/Sound.Hommage.html +0/−643
- doc/doc-index-tA.html +0/−105
- doc/doc-index-tB.html +0/−57
- doc/doc-index-tC.html +0/−129
- doc/doc-index-tD.html +0/−93
- doc/doc-index-tE.html +0/−129
- doc/doc-index-tF.html +0/−105
- doc/doc-index-tG.html +0/−57
- doc/doc-index-tH.html +0/−81
- doc/doc-index-tI.html +0/−93
- doc/doc-index-tL.html +0/−69
- doc/doc-index-tM.html +0/−165
- doc/doc-index-tN.html +0/−81
- doc/doc-index-tO.html +0/−69
- doc/doc-index-tP.html +0/−117
- doc/doc-index-tR.html +0/−69
- doc/doc-index-tS.html +0/−165
- doc/doc-index-tT.html +0/−141
- doc/doc-index-tU.html +0/−57
- doc/doc-index-tW.html +0/−69
- doc/doc-index-v45.html +0/−69
- doc/doc-index-v46.html +0/−57
- doc/doc-index-v58.html +0/−129
- doc/doc-index-v60.html +0/−93
- doc/doc-index-v61.html +0/−57
- doc/doc-index-v62.html +0/−57
- doc/doc-index-vA.html +0/−321
- doc/doc-index-vB.html +0/−153
- doc/doc-index-vC.html +0/−189
- doc/doc-index-vD.html +0/−177
- doc/doc-index-vE.html +0/−213
- doc/doc-index-vF.html +0/−453
- doc/doc-index-vG.html +0/−81
- doc/doc-index-vH.html +0/−129
- doc/doc-index-vI.html +0/−345
- doc/doc-index-vJ.html +0/−57
- doc/doc-index-vK.html +0/−57
- doc/doc-index-vL.html +0/−201
- doc/doc-index-vM.html +0/−621
- doc/doc-index-vN.html +0/−261
- doc/doc-index-vO.html +0/−285
- doc/doc-index-vP.html +0/−285
- doc/doc-index-vQ.html +0/−69
- doc/doc-index-vR.html +0/−561
- doc/doc-index-vS.html +0/−465
- doc/doc-index-vT.html +0/−285
- doc/doc-index-vU.html +0/−177
- doc/doc-index-vW.html +0/−357
- doc/doc-index-vZ.html +0/−57
- doc/doc-index.html +0/−251
- doc/haddock.css +0/−180
- doc/haskell_icon.gif binary
- doc/index.html +0/−179
- hommage.cabal +6/−8
LICENSE view
@@ -0,0 +1,30 @@+Copyright Daniel van den Eijkel 2010++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 Daniel van den Eijkel nor the names of other+ 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 THE COPYRIGHT+OWNER OR CONTRIBUTORS 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.
− Main.hs
@@ -1,8 +0,0 @@-{-# OPTIONS_GHC -Wall -Werror #-}-module Main where--import Sound.Hommage---- | main, do nothing-main :: IO ()-main = return ()
Setup.hs view
@@ -1,4 +1,3 @@ #!/usr/bin/env runhaskell import Distribution.Simple main = defaultMain-
Sound/Hommage/WavFile.hs view
@@ -80,6 +80,7 @@ import Data.IORef import System.IO.Unsafe +import System.IO (hGetChar, hPutChar, hGetBuf, hPutBuf) import GHC.Weak @@ -113,9 +114,9 @@ readWavFile fp = {- putStrLn ("opening " ++ fp) >> -} init where init = do (c,r,_) <- openSingleInputWavFile 100000 fp - either (\rm -> do mkWeak rm () (Just c) + either (\rm -> do mkWeak rm () (Just c) --(putStrLn ("close " ++ fp) >> c)) fmap Left $ loop rm) - (\rs -> do mkWeak rs () (Just c) + (\rs -> do mkWeak rs () (Just c) --(putStrLn ("close " ++ fp) >> c)) fmap Right $ loop rs) r loop r = r >>= maybe (return []) (\a -> return (a : unsafePerformIO (loop r)))
Sound/Hommage/dft.c view
@@ -1,5 +1,5 @@ #include <stdio.h> -/* #include <io.h> */ +// #include <io.h> #include <fcntl.h> #include <stdlib.h> #include <math.h>
− doc/Sound.Hommage.DFTFilter.html
@@ -1,899 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.DFTFilter</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.DFTFilter</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > User-Level Filter Functions</A - ></DT - ><DT - ><A HREF = "#2" - > CoeffArr</A - ></DT - ><DT - ><A HREF = "#3" - > CoeffMap</A - ></DT - ><DT - ><A HREF = "#4" - > IO Wrapper </A - ></DT - ><DT - ><A HREF = "#5" - > Interface to C-code</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Description</TD - ></TR - ><TR - ><TD CLASS = "doc" - > This module imports the C-functions for a Fast Fourier Transform and encapsulates them in - list-mapping functions. (At first it was a DFT algoritm which I changed, but I didn'd change - all the names of the functions, so it is called dft...) - The functionality of this module is used for filtering audio data, i. e. for building - audio filters.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Adftanalyse" - >dftanalyse</A - > :: [Double] -> [Complex Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Adftsynthese" - >dftsynthese</A - > :: [Complex Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Adftfilter" - >dftfilter</A - > :: [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AdftfilterBy" - >dftfilterBy</A - > :: IO (<A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ()) -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AdftfilterBy'" - >dftfilterBy'</A - > :: s -> IO (s -> <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > s) -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3ACoeffArr" - >CoeffArr</A - > = StorableArray Int Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AreadCoeffArr" - >readCoeffArr</A - > :: <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> Int -> IO (Complex Double)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteCoeffArr" - >writeCoeffArr</A - > :: <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> Int -> Complex Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AstoreCoeff" - >storeCoeff</A - > :: IOArray Int (Complex Double) -> <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AunstoreCoeff" - >unstoreCoeff</A - > :: <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> IOArray Int (Complex Double) -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3ACoeffMap" - >CoeffMap</A - > a = <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> IO a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkCoeffMap" - >mkCoeffMap</A - > :: [Double] -> IO (<A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Acoeffmap" - >coeffmap</A - > :: StorableArray Int Double -> <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkAnalyse" - >mkAnalyse</A - > :: IO (Maybe Double -> IO (Maybe (Complex Double)))</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkSynthese" - >mkSynthese</A - > :: IO (Maybe (Complex Double) -> IO (Maybe Double))</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkFilterBuffered" - >mkFilterBuffered</A - > :: IO (<A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ()) -> IO (Maybe Double -> IO (Maybe Double))</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AanalyseDFT" - >analyseDFT</A - > :: StorableArray Int Double -> StorableArray Int Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsyntheseDFT" - >syntheseDFT</A - > :: StorableArray Int Double -> StorableArray Int Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AkurveDFT" - >kurveDFT</A - > :: StorableArray Int Double -> IO ()</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Documentation</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - ><P - > Filtering is done with an FFT algorithm written in C (in the file dft.c). - This module imports the c-functions for fft (<TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AanalyseDFT" - >analyseDFT</A - ></TT - >) and inverse fft (<TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AsyntheseDFT" - >syntheseDFT</A - ></TT - >), - which operate on Arrays with 1024 Double values. - The array-operations are embedded in a mechanism that does buffering, overlapping and windowing - and works like a black box that maps one input value to one output value in the IO monad - (<TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AmkAnalyse" - >mkAnalyse</A - ></TT - >, <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AmkSynthese" - >mkSynthese</A - ></TT - >, <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AmkFilterBuffered" - >mkFilterBuffered</A - ></TT - >). - Around these IO's some list mapping functions are wrapped (<TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3Adftanalyse" - >dftanalyse</A - ></TT - >, <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3Adftsynthese" - >dftsynthese</A - ></TT - >, <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3Adftfilter" - >dftfilter</A - ></TT - >, - <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AdftfilterBy" - >dftfilterBy</A - ></TT - >) for convenient use in a Haskell programm.</P - ><P - > Mapping the Fourier coefficients during the filter process means filtering the data. - The result depends on the way the coefficients are mapped resp. modified while mapping. - The function to do this has the type of <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - ></TT - >.</P - ><P - > <EM - >Description of the filtering process:</EM - > </P - ><P - > Filtering is done by mapping the coefficients with <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - ></TT - >. - For this the wave data is split into parts of 1024 values, where every part overlaps with the - preceeding and succeeding part by 512 values. Via the fourier-transform (analyse) every part - is mapped to its frequency spectrum, i. e. its fourier coefficients. </P - ><P - > The <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - ></TT - > action is applied to every frequency spectrum (see <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - ></TT - >) in sequence. - It reads the coefficients from the first <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - ></TT - > where the input is stored and writes it - (or some data derived from it) to the second one. This is the point where the 'real' filtering - happens. Via the inverse fourier-transform (synthese) the resulting coefficients are mapped - to their real signal values. These signal values are multiplied with a half cosinus curve for - fading in and out (windowing). Then they are mixed in the way their source data was split: - Every part overlaps for 512 values with the last and the next one. </P - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > User-Level Filter Functions</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Adftanalyse" - ></A - ><B - >dftanalyse</B - > :: [Double] -> [Complex Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > (Fast) Fourier Transformation. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Adftsynthese" - ></A - ><B - >dftsynthese</B - > :: [Complex Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Inverse (Fast) Fourier Transformation</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Adftfilter" - ></A - ><B - >dftfilter</B - > :: [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > (Fast) Fourier Transformation and Inverse with an additional argument with sublists of - factors to weight the coefficients. See <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AmkCoeffMap" - >mkCoeffMap</A - ></TT - > for a decription of that argument.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AdftfilterBy" - ></A - ><B - >dftfilterBy</B - > :: IO (<A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ()) -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > (Fast) Fourier Transformation and Inverse with a buffer-mapping action for filtering.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AdftfilterBy'" - ></A - ><B - >dftfilterBy'</B - > :: s -> IO (s -> <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > s) -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > (Fast) Fourier Transformation and Inverse with a buffer-mapping action for filtering.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > CoeffArr</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3ACoeffArr" - ></A - ><B - >CoeffArr</B - > = StorableArray Int Double</TD - ></TR - ><TR - ><TD CLASS = "doc" - ><P - > Represents a frequency spectrum. - Range is from 0 to 1023 (N=1024). - Index 0 is constant value, index 1 is Nyquest frequency (real part of the N/2 frequency). - Index 2 and 3 are the complex value for the basefrequency, index 4 and 5 - are the complex value for the double basefrequency, 6 and 7 for 3 * basefrequency and so on:</P - ><PRE - > arr [0] = real part of zero frequency (imaginary part is allways 0) - arr [1] = real part of Nyquest frequency (N/2) (imaginary part is allways 0) - arr [2] = real part of base frequency - arr [3] = imag part of base frequency - arr [4] = real part of base frequency * 2 - arr [5] = imag part of base frequency * 2 - arr [6] = real part of base frequency * 3 - arr [7] = imag part of base frequency * 3 - ... - arr [N-4] = real part of base frequency * (N/2 - 2) - arr [N-3] = imag part of base frequency * (N/2 - 2) - arr [N-2] = real part of base frequency * (N/2 - 1) - arr [N-1] = imag part of base frequency * (N/2 - 1)</PRE - ><P - > Pseudocode:</P - ><PRE - > c (0) = (arr [0] :+ 0) - c (512) = (arr [1] :+ 0)</PRE - ><P - > and for all i=[1..511]:</P - ><PRE - > c (i) = (arr [i*2] :+ arr [i*2+1]) -</PRE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AreadCoeffArr" - ></A - ><B - >readCoeffArr</B - > :: <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> Int -> IO (Complex Double)</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Reads a Complex value of a CoeffArr (with Nyquest as imaginary part of coeff 0).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteCoeffArr" - ></A - ><B - >writeCoeffArr</B - > :: <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> Int -> Complex Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Writes a Complex value of a CoeffArr (with Nyquest as imaginary part of coeff 0).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AstoreCoeff" - ></A - ><B - >storeCoeff</B - > :: IOArray Int (Complex Double) -> <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AunstoreCoeff" - ></A - ><B - >unstoreCoeff</B - > :: <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> IOArray Int (Complex Double) -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > CoeffMap</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3ACoeffMap" - ></A - ><B - >CoeffMap</B - > a = <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - > -> IO a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > An action that maps the fourier coefficients from the first array to the second. - Modifying the data while mapping means filtering. See <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - ></TT - > for a description of the arrays.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkCoeffMap" - ></A - ><B - >mkCoeffMap</B - > :: [Double] -> IO (<A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ())</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Constructs a Coeffmap. - The sublists contain the 512 real values with which the basefrequency and the 511 complex fourier coefficients - are multiplied (the Nyquist frequency will be zero). - The first value is the factor for the constant coefficient, the second for the base frequency, the next one - for the double base freq and so on. - If the sublists have more than 512 elements, these elements are thrown away. - If it is shorter, the array will be filled up with zeros.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Acoeffmap" - ></A - ><B - >coeffmap</B - > :: StorableArray Int Double -> <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3Acoeffmap" - >coeffmap</A - ></TT - > takes an Array with 512 values and uses them for a weigted map of the fourier - coefficients. The Nyquist frequency is muliplied with 0.0.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > IO Wrapper </A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkAnalyse" - ></A - ><B - >mkAnalyse</B - > :: IO (Maybe Double -> IO (Maybe (Complex Double)))</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Constructs an action that maps wave-data to coefficient-data. - Has a delay of 512, i. e. the first 512 elements are zero and the result has (these) - 512 elemets more than the input.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkSynthese" - ></A - ><B - >mkSynthese</B - > :: IO (Maybe (Complex Double) -> IO (Maybe Double))</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Constructs an action that maps coefficient-data to wave-data. - Has a delay of 512, i. e. the first 512 elements are zero and the result has (these) - 512 elemets more than the input.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkFilterBuffered" - ></A - ><B - >mkFilterBuffered</B - > :: IO (<A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ()) -> IO (Maybe Double -> IO (Maybe Double))</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Constructs an action that maps wave-data to wave-data via a Fast Foutrier Transform and inverse, - filtered by the given <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - ></TT - >. - Has a delay of 1024.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "5" - > Interface to C-code</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AanalyseDFT" - ></A - ><B - >analyseDFT</B - > :: StorableArray Int Double -> StorableArray Int Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Maps an array with 1024 real values to its frequency spectrum with 512 complex values. - The spectrum is stored in the second array with 1024 Doubles which are the real and imaginary - parts of the complex values. See <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - ></TT - > for a detailed frequency spectrum - desription.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsyntheseDFT" - ></A - ><B - >syntheseDFT</B - > :: StorableArray Int Double -> StorableArray Int Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Maps a frequency spectrum to its signal value. Both arrays have a length of 1024; the first one - contains the 512 complex values of the spectrum. The real signal value will be stored in - the second array. See <TT - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - ></TT - > for a detailed frequency spectrum - desription.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AkurveDFT" - ></A - ><B - >kurveDFT</B - > :: StorableArray Int Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Fades a signal which is stored in an array of length 1024 in and out. - The signal is multiplied with a cosinus curve with range 0..pi. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Envelope.html
@@ -1,1220 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Envelope</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Envelope</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Env</A - ></DT - ><DT - ><A HREF = "#2" - > EnvLength</A - ></DT - ><DT - ><A HREF = "#3" - > ADSR</A - ></DT - ><DT - ><A HREF = "#4" - > Interpolate</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Description</TD - ></TR - ><TR - ><TD CLASS = "doc" - > This module contains some functions and datatypes for envelopes. - An envelope in generall is a kind of controll signal that modulates - (for example) the volume of a sound in a non-periodic way (getting - loud at the beginning and fading out at the end...). It is - also used to controll the duration of a sound, since (here) envelopes - always produce finite signals.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AEnv" - >Env</A - > = Int -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArunEnv" - >runEnv</A - > :: [(<A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - >, <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - >)] -> <A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A%3C%3F%3E" - >(<?>)</A - > :: (<A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >IsEnv</A - > a) => a -> <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - > -> (<A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - >, <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3AIsEnv" - >IsEnv</A - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoEnv" - >toEnv</A - > :: a -> <A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AcalculateEnvLengths" - >calculateEnvLengths</A - > :: Int -> [<A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - >] -> [Int]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AEnvLength" - >EnvLength</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3AAbs" - >Abs</A - > Int</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AAbs_" - >Abs_</A - > Int</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AFlex" - >Flex</A - > Double</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ARel" - >Rel</A - > (Ratio Int)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ARel_" - >Rel_</A - > (Ratio Int)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AADSR" - >ADSR</A - > = (Int, Int, Double, Int)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AEnvShape" - >EnvShape</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3ALinear" - >Linear</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ACosLike" - >CosLike</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AEnvMode" - >EnvMode</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3AHoldS" - >HoldS</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AFitS" - >FitS</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AFitADR" - >FitADR</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AplayADSR" - >playADSR</A - > :: <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvMode" - >EnvMode</A - > -> <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - > -> <A HREF = "Sound.Hommage.Envelope.html#t%3AADSR" - >ADSR</A - > -> Int -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AInterpolate" - >Interpolate</A - > = <A HREF = "#v%3AInterpolate" - >Interpolate</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - > (Double, Double)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AConstant" - >Constant</A - > = <A HREF = "#v%3AConstant" - >Constant</A - > Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Ainterpolate" - >interpolate</A - > :: (Fractional a) => (a, a) -> Int -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Ainterpolate_cos" - >interpolate_cos</A - > :: (Floating a) => (a, a) -> Int -> [a]</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Documentation</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > An envelope is represented by a function of type <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TT - >. - Such functions (or instances of class <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >IsEnv</A - ></TT - >) can be combined - into a sequence where every <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TT - > is given a <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - ></TT - > (using the - binary operator <TT - ><A HREF = "Sound.Hommage.Envelope.html#v%3A%3C%3F%3E" - ><?></A - ></TT - >. - The whole sequence can be turnde into an <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TT - > (and be played then) - with <TT - ><A HREF = "Sound.Hommage.Envelope.html#v%3ArunEnv" - >runEnv</A - ></TT - >.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Env</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AEnv" - ></A - ><B - >Env</B - > = Int -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArunEnv" - ></A - ><B - >runEnv</B - > :: [(<A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - >, <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - >)] -> <A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3C%3F%3E" - ></A - ><B - >(<?>)</B - > :: (<A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >IsEnv</A - > a) => a -> <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - > -> (<A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - >, <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3AIsEnv" - ></A - ><B - >IsEnv</B - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoEnv" - ></A - ><B - >toEnv</B - > :: a -> <A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >IsEnv</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >IsEnv</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AInterpolate" - >Interpolate</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >IsEnv</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AConstant" - >Constant</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > EnvLength</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AcalculateEnvLengths" - ></A - ><B - >calculateEnvLengths</B - > :: Int -> [<A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - >] -> [Int]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Takes an absolute total length and a list of EnvLengths. Each <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - ></TT - > is mapped - to its length with respect to the total length and a resuming length that is - the result of <TT - > total length - (all fixed lengths + all relative lengths) </TT - >. - This resuming lengths is distributed to the flexible lengths.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AEnvLength" - ></A - ><B - >EnvLength</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - ></TT - > represents the length of a segment of an Envelope. </TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AAbs" - ></A - ><B - >Abs</B - > Int</TD - ><TD CLASS = "rdoc" - > A fixed length.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AAbs_" - ></A - ><B - >Abs_</B - > Int</TD - ><TD CLASS = "rdoc" - > A fixed length that is not subtracted from the total time.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AFlex" - ></A - ><B - >Flex</B - > Double</TD - ><TD CLASS = "rdoc" - > A flexible length. Resuming length is distributed to all - flexible lengths proportionally to its value.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ARel" - ></A - ><B - >Rel</B - > (Ratio Int)</TD - ><TD CLASS = "rdoc" - > A length relative to the total length.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ARel_" - ></A - ><B - >Rel_</B - > (Ratio Int)</TD - ><TD CLASS = "rdoc" - > A relative length that is not subtracted from the total time.</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > [(<A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - >, <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - >)]</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > ADSR</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AADSR" - ></A - ><B - >ADSR</B - > = (Int, Int, Double, Int)</TD - ></TR - ><TR - ><TD CLASS = "doc" - ><P - > The four components of <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AADSR" - >ADSR</A - ></TT - > are:</P - ><UL - ><LI - > Attack (time to reach value 1.0, starting from 0.0)</LI - ><LI - > Decay (time to reach sustain level)</LI - ><LI - > Sustain (level to hold until note is released, should be a value between 0.0 and 1.0)</LI - ><LI - > Release (time to reach value 0.0 after note is released)</LI - ></UL - ><P - > time is measured in sample points, 44100 is one second.</P - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AEnvShape" - ></A - ><B - >EnvShape</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > A linear or a cosinus-like shape</TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ALinear" - ></A - ><B - >Linear</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ACosLike" - ></A - ><B - >CosLike</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Eq <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Read <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Show <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AEnvMode" - ></A - ><B - >EnvMode</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AHoldS" - ></A - ><B - >HoldS</B - ></TD - ><TD CLASS = "rdoc" - > Sustain value is kept until duration is over, Release part is appended.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AFitS" - ></A - ><B - >FitS</B - ></TD - ><TD CLASS = "rdoc" - > Envelope has given duration by fitting only duration of constant Sustain level.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AFitADR" - ></A - ><B - >FitADR</B - ></TD - ><TD CLASS = "rdoc" - > Attack, Decay and Released are together stretched to given duration.</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Eq <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvMode" - >EnvMode</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Read <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvMode" - >EnvMode</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Show <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvMode" - >EnvMode</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AplayADSR" - ></A - ><B - >playADSR</B - > :: <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvMode" - >EnvMode</A - > -> <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - > -> <A HREF = "Sound.Hommage.Envelope.html#t%3AADSR" - >ADSR</A - > -> Int -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Playing an ADSR</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - ><P - > Here is the code of <TT - ><A HREF = "Sound.Hommage.Envelope.html#v%3AplayADSR" - >playADSR</A - ></TT - > to show the use of <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - ></TT - >, <TT - ><A HREF = "Sound.Hommage.Envelope.html#v%3A%3C%3F%3E" - ><?></A - ></TT - > and <TT - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - ></TT - >:</P - ><PRE - > playADSR :: EnvMode -> EnvShape -> ADSR -> Int -> [Double] - playADSR mode shape (a,d,s,r) = case mode of - FitADR -> runEnv - [ Interpolate shape (0.0,1.0) <?> Flex (fromIntegral a) - , Interpolate shape (1.0, s) <?> Flex (fromIntegral d) - , Interpolate shape (s, 0.0) <?> Flex (fromIntegral r) - ] - FitS -> runEnv - [ Interpolate shape (0.0,1.0) <?> Abs a - , Interpolate shape (1.0, s) <?> Abs d - , Constant s <?> Flex 1.0 - , Interpolate shape (s, 0.0) <?> Abs r - ] - HoldS -> runEnv - [ Interpolate shape (0.0,1.0) <?> Abs a - , Interpolate shape (1.0, s) <?> Abs d - , Constant s <?> Flex 1.0 - , Interpolate shape (s, 0.0) <?> Abs_ r - ]</PRE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Interpolate</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AInterpolate" - ></A - ><B - >Interpolate</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AInterpolate" - ></A - ><B - >Interpolate</B - > <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - > (Double, Double)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >IsEnv</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AInterpolate" - >Interpolate</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AInterpolate" - >Interpolate</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AConstant" - ></A - ><B - >Constant</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AConstant" - ></A - ><B - >Constant</B - > Double</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >IsEnv</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AConstant" - >Constant</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Ainterpolate" - ></A - ><B - >interpolate</B - > :: (Fractional a) => (a, a) -> Int -> [a]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > produces a line with given length that starts with fst value and ends with snd value</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Ainterpolate_cos" - ></A - ><B - >interpolate_cos</B - > :: (Floating a) => (a, a) -> Int -> [a]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > produces a curve with given length that starts with fst value and ends with snd value. - this curve has the shape of a half cosinus curve (values for 0 to PI).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.FFT.html
@@ -1,801 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.FFT</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.FFT</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > FFT</A - ></DT - ><DT - ><A HREF = "#2" - > FFT</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Description</TD - ></TR - ><TR - ><TD CLASS = "doc" - > This module implements the Fast Fourier Transformation purely in Haskell.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afft" - >fft</A - > :: Int -> [Double] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afft'" - >fft'</A - > :: Int -> [Complex Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afftt" - >fftt</A - > :: Int -> ([[Complex Double]] -> [Complex Double]) -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afftc" - >fftc</A - > :: Int -> [Complex Double] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afftc'" - >fftc'</A - > :: Int -> [Complex Double] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Affttv" - >ffttv</A - > :: Int -> [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afftco" - >fftco</A - > :: Int -> [Complex Double] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afftco'" - >fftco'</A - > :: Int -> [Complex Double] -> [Complex Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Arect_transform" - >rect_transform</A - > :: (Floating a) => Int -> [a] -> [[a]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Arect_filter" - >rect_filter</A - > :: (Floating a) => Int -> ([[a]] -> [[a]]) -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Arect_filter'" - >rect_filter'</A - > :: (Floating a) => Int -> [[a]] -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Ai" - >i</A - > :: Complex Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aw" - >w</A - > :: Int -> Complex Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aws" - >ws</A - > :: Bool -> Int -> [Complex Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amap2" - >map2</A - > :: (a -> a -> b) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Azip2" - >zip2</A - > :: [a] -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aappendpair" - >appendpair</A - > :: ([a], [a]) -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Areorder" - >reorder</A - > :: Int -> [[a]] -> [[a]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Areorder_init'" - >reorder_init'</A - > :: [a] -> [[a]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Abutterfly" - >butterfly</A - > :: Complex Double -> Complex Double -> Complex Double -> (Complex Double, Complex Double)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Abutterfly'" - >butterfly'</A - > :: Complex Double -> Complex Double -> Complex Double -> (Complex Double, Complex Double)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afft_level" - >fft_level</A - > :: [Complex Double] -> [[Complex Double]] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afft_merge" - >fft_merge</A - > :: [Complex Double] -> [Complex Double] -> [Complex Double] -> ([Complex Double], [Complex Double])</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afft_level'" - >fft_level'</A - > :: [Complex Double] -> [[Complex Double]] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afft_merge'" - >fft_merge'</A - > :: [Complex Double] -> [Complex Double] -> [Complex Double] -> ([Complex Double], [Complex Double])</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aoverlap_curve" - >overlap_curve</A - > :: Int -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amix_overlap" - >mix_overlap</A - > :: Int -> [[Double]] -> [Double]</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > FFT</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afft" - ></A - ><B - >fft</B - > :: Int -> [Double] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > FFT transformation. Input is grouped into overlapping parts of 2^(N+2) reals and mapped to sublists - with 2^(N+1) complex numbers. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afft'" - ></A - ><B - >fft'</B - > :: Int -> [Complex Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Inverse FFT transformation. Complex input is grouped into parts with length 2^(N+1) and mapped to - sublists with 2^(N+2) reals, which are overlapped and mixed.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afftt" - ></A - ><B - >fftt</B - > :: Int -> ([[Complex Double]] -> [Complex Double]) -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > FFT transformation with overlapping and windowing. - Argument function maps the coefficients. Windowsize: 2^(N+2), i. e. 2^(N+1) coefficients</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > FFT</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afftc" - ></A - ><B - >fftc</B - > :: Int -> [Complex Double] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > FFT transformation for complex input (segments of length 2^n). - No overlapping or windowing.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afftc'" - ></A - ><B - >fftc'</B - > :: Int -> [Complex Double] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Inverse FFT transformation for complex input (segments of length 2^n). - No overlapping or windowing.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Affttv" - ></A - ><B - >ffttv</B - > :: Int -> [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afftco" - ></A - ><B - >fftco</B - > :: Int -> [Complex Double] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > FFT for complex input with overlapping. Segment-size: 2^(n+1)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afftco'" - ></A - ><B - >fftco'</B - > :: Int -> [Complex Double] -> [Complex Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arect_transform" - ></A - ><B - >rect_transform</B - > :: (Floating a) => Int -> [a] -> [[a]]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A self-inverse transformation similar to FFT but with a simple butterfly - operation that uses always W=1. Modifying the data between application - and inverse is similar to filtering but the result will be built up from - rectangle waves instead of sinus waves.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arect_filter" - ></A - ><B - >rect_filter</B - > :: (Floating a) => Int -> ([[a]] -> [[a]]) -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arect_filter'" - ></A - ><B - >rect_filter'</B - > :: (Floating a) => Int -> [[a]] -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Ai" - ></A - ><B - >i</B - > :: Complex Double</TD - ></TR - ><TR - ><TD CLASS = "doc" - > The complex value <TT - ><A HREF = "Sound.Hommage.FFT.html#v%3Ai" - >i</A - ></TT - > = <TT - >(0 :+ 1)</TT - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aw" - ></A - ><B - >w</B - > :: Int -> Complex Double</TD - ></TR - ><TR - ><TD CLASS = "doc" - > The n-th root of 1</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aws" - ></A - ><B - >ws</B - > :: Bool -> Int -> [Complex Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > the 2n-th root with exponents 0, 1, .. n. False=inverse (exponents are negated)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amap2" - ></A - ><B - >map2</B - > :: (a -> a -> b) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Azip2" - ></A - ><B - >zip2</B - > :: [a] -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aappendpair" - ></A - ><B - >appendpair</B - > :: ([a], [a]) -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Areorder" - ></A - ><B - >reorder</B - > :: Int -> [[a]] -> [[a]]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > list is grouped into sublists with length N (must be power of 2) and bitwise reverse order</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Areorder_init'" - ></A - ><B - >reorder_init'</B - > :: [a] -> [[a]]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Abutterfly" - ></A - ><B - >butterfly</B - > :: Complex Double -> Complex Double -> Complex Double -> (Complex Double, Complex Double)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Abutterfly'" - ></A - ><B - >butterfly'</B - > :: Complex Double -> Complex Double -> Complex Double -> (Complex Double, Complex Double)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afft_level" - ></A - ><B - >fft_level</B - > :: [Complex Double] -> [[Complex Double]] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afft_merge" - ></A - ><B - >fft_merge</B - > :: [Complex Double] -> [Complex Double] -> [Complex Double] -> ([Complex Double], [Complex Double])</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afft_level'" - ></A - ><B - >fft_level'</B - > :: [Complex Double] -> [[Complex Double]] -> [[Complex Double]]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afft_merge'" - ></A - ><B - >fft_merge'</B - > :: [Complex Double] -> [Complex Double] -> [Complex Double] -> ([Complex Double], [Complex Double])</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aoverlap_curve" - ></A - ><B - >overlap_curve</B - > :: Int -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creates a fade with length N</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amix_overlap" - ></A - ><B - >mix_overlap</B - > :: Int -> [[Double]] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Overlaps a sequence of parts of length N (overlaps by N/2).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Filter.html
@@ -1,797 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Filter</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Filter</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Filters</A - ></DT - ><DT - ><A HREF = "#2" - > FilterSpec</A - ></DT - ><DT - ><A HREF = "#3" - > FilterSpec and Lists</A - ></DT - ><DT - ><A HREF = "#4" - > Other</A - ></DT - ><DT - ><A HREF = "#5" - > Filterfunctions</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Alowpass" - >lowpass</A - > :: [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Ahighpass" - >highpass</A - > :: [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Abandpass" - >bandpass</A - > :: [Double] -> [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Astretchpass" - >stretchpass</A - > :: <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amorphpass" - >morphpass</A - > :: <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AFilterSpec" - >FilterSpec</A - > = [(Int, Double)]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AshiftFilterSpec" - >shiftFilterSpec</A - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfilterSpecToList" - >filterSpecToList</A - > :: <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfilterSpecsToLists" - >filterSpecsToLists</A - > :: [(Int, <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - >)] -> [[Double]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinterpolFilterLists" - >interpolFilterLists</A - > :: [Double] -> [Double] -> Double -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Affreq" - >ffreq</A - > :: Double -> Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Affreqi" - >ffreqi</A - > :: Double -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aaverage512" - >average512</A - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AlowpassFS" - >lowpassFS</A - > :: Double -> Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AhighpassFS" - >highpassFS</A - > :: Double -> Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AbandpassFS" - >bandpassFS</A - > :: Double -> Double -> Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Alowp0FS" - >lowp0FS</A - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Alowp1FS" - >lowp1FS</A - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Abandp0FS" - >bandp0FS</A - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Abandp1FS" - >bandp1FS</A - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Ahighp0FS" - >highp0FS</A - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Ahighp1FS" - >highp1FS</A - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Filters</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Alowpass" - ></A - ><B - >lowpass</B - > :: [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Ahighpass" - ></A - ><B - >highpass</B - > :: [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Abandpass" - ></A - ><B - >bandpass</B - > :: [Double] -> [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Astretchpass" - ></A - ><B - >stretchpass</B - > :: <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amorphpass" - ></A - ><B - >morphpass</B - > :: <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AFilterSpec" - ></A - ><B - >FilterSpec</B - > = [(Int, Double)]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Filtering starts at coeff nr 0 and value 0.0 (constant coeff is always zero). - The elements in FilterSpec define the next value and how many - coeffs it takes to reach this value. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AshiftFilterSpec" - ></A - ><B - >shiftFilterSpec</B - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > 0..1: lower, 1..: higher</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > FilterSpec and Lists</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfilterSpecToList" - ></A - ><B - >filterSpecToList</B - > :: <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Converting a FilterSpec to a list of 512 Doubles</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfilterSpecsToLists" - ></A - ><B - >filterSpecsToLists</B - > :: [(Int, <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - >)] -> [[Double]]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Converting and interpolating a sequence of FilterSpecs to a list of lists. The first elemet of the - tuple, an Int, describes how many lists it takes to reach the given FilterSpec. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinterpolFilterLists" - ></A - ><B - >interpolFilterLists</B - > :: [Double] -> [Double] -> Double -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Other</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Affreq" - ></A - ><B - >ffreq</B - > :: Double -> Double</TD - ></TR - ><TR - ><TD CLASS = "doc" - > for filter coefficient number: (0.0 .. 1.0) -> (1.0 .. 512.0)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Affreqi" - ></A - ><B - >ffreqi</B - > :: Double -> Int</TD - ></TR - ><TR - ><TD CLASS = "doc" - > floor of <TT - ><A HREF = "Sound.Hommage.Filter.html#v%3Affreq" - >ffreq</A - ></TT - > </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aaverage512" - ></A - ><B - >average512</B - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > the resulting list is 1 / 512 as long as the input list. - 512 elements are read and their average is the next output value.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "5" - > Filterfunctions</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AlowpassFS" - ></A - ><B - >lowpassFS</B - > :: Double -> Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AhighpassFS" - ></A - ><B - >highpassFS</B - > :: Double -> Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AbandpassFS" - ></A - ><B - >bandpassFS</B - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >:: Double</TD - ><TD CLASS = "rdoc" - > width of freq-window</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> Double</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> Double</TD - ><TD CLASS = "rdoc" - > cutoff</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "ndoc" COLSPAN = "2" - > range, curve, cutoff</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Alowp0FS" - ></A - ><B - >lowp0FS</B - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Alowp1FS" - ></A - ><B - >lowp1FS</B - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Abandp0FS" - ></A - ><B - >bandp0FS</B - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Abandp1FS" - ></A - ><B - >bandp1FS</B - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Ahighp0FS" - ></A - ><B - >highp0FS</B - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Ahighp1FS" - ></A - ><B - >highp1FS</B - > :: Double -> <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Midi.html
@@ -1,1368 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Midi</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Midi</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > MidiFile</A - ></DT - ><DT - ><A HREF = "#2" - > MidiNote</A - ></DT - ><DT - ><A HREF = "#3" - > MidiMusic </A - ></DT - ><DT - ><A HREF = "#4" - > MidiTrack</A - ></DT - ><DT - ><A HREF = "#5" - > MidiEvent</A - ></DT - ><DT - ><A HREF = "#6" - > Encoding</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AMidiFile" - >MidiFile</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3AMidiSync" - >MidiSync</A - > <A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - > [<A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - >]</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AMidiSingle" - >MidiSingle</A - > <A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AMidiAsync" - >MidiAsync</A - > <A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - > [<A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - >]</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteMidiFile" - >writeMidiFile</A - > :: FilePath -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >MidiFile</A - > -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3ATicks" - >Ticks</A - > = Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AMidiNote" - >MidiNote</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3AMidiNote" - >MidiNote</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AMidiCtrl" - >MidiCtrl</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AChan" - >Chan</A - > = Word8</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AMidiValue" - >MidiValue</A - > = Word8</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AMidiMusic" - >MidiMusic</A - > = [(<A HREF = "Sound.Hommage.Midi.html#t%3ADelta" - >Delta</A - >, Maybe <A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >MidiEvent</A - >)]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnoteMidiMusic" - >noteMidiMusic</A - > :: Int -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArestMidiMusic" - >restMidiMusic</A - > :: Int -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AappendMidiMusic" - >appendMidiMusic</A - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmergeMidiMusic" - >mergeMidiMusic</A - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArunMidiMusic" - >runMidiMusic</A - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AMidiTrack" - >MidiTrack</A - > = [(<A HREF = "Sound.Hommage.Midi.html#t%3ADelta" - >Delta</A - >, <A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >MidiEvent</A - >)]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3ADelta" - >Delta</A - > = Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AMidiEvent" - >MidiEvent</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3AMidiNoteOff" - >MidiNoteOff</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AMidiNoteOn" - >MidiNoteOn</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AMidiKeyAfter" - >MidiKeyAfter</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AMidiControl" - >MidiControl</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AMidiEndOfTrack" - >MidiEndOfTrack</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AencodeMidiFile" - >encodeMidiFile</A - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >MidiFile</A - > -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmidiHeaderSync" - >midiHeaderSync</A - > :: [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmidiHeaderSingle" - >midiHeaderSingle</A - > :: [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmidiHeaderAsync" - >midiHeaderAsync</A - > :: [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AencodeMidiTrack" - >encodeMidiTrack</A - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - > -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AencodeDelta" - >encodeDelta</A - > :: Int -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AencodeMidiDeltaEvent" - >encodeMidiDeltaEvent</A - > :: (<A HREF = "Sound.Hommage.Midi.html#t%3ADelta" - >Delta</A - >, <A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >MidiEvent</A - >) -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AencodeEvent" - >encodeEvent</A - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >MidiEvent</A - > -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AlastByte" - >lastByte</A - > :: Int -> Word8</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnextByte" - >nextByte</A - > :: Int -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoBytes" - >toBytes</A - > :: Int -> Int -> [Word8]</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Documentation</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > The action <TT - ><A HREF = "Sound.Hommage.Midi.html#v%3AwriteMidiFile" - >writeMidiFile</A - ></TT - > stores the datatype <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >MidiFile</A - ></TT - > in a MIDI-File. - It consists of a field for the <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - ></TT - > per quarter and a <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - ></TT - > (or some). - The function <TT - ><A HREF = "Sound.Hommage.Midi.html#v%3ArunMidiMusic" - >runMidiMusic</A - ></TT - > produces such a track from a <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TT - >, which can - be created using the functions <TT - ><A HREF = "Sound.Hommage.Midi.html#v%3AnoteMidiMusic" - >noteMidiMusic</A - ></TT - >, <TT - ><A HREF = "Sound.Hommage.Midi.html#v%3ArestMidiMusic" - >restMidiMusic</A - ></TT - >, <TT - ><A HREF = "Sound.Hommage.Midi.html#v%3AappendMidiMusic" - >appendMidiMusic</A - ></TT - > and - <TT - ><A HREF = "Sound.Hommage.Midi.html#v%3AmergeMidiMusic" - >mergeMidiMusic</A - ></TT - >. - <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - ></TT - > is used to create note or controller events; it consists of the Midi-Channel - (<TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - ></TT - >) and two fields with a <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TT - >.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > MidiFile</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AMidiFile" - ></A - ><B - >MidiFile</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiSync" - ></A - ><B - >MidiSync</B - > <A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - > [<A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - >]</TD - ><TD CLASS = "rdoc" - > Some parallel (synchronous) MidiTracks. </TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiSingle" - ></A - ><B - >MidiSingle</B - > <A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - ></TD - ><TD CLASS = "rdoc" - > A single MidiTrack. (Seems not to work yet)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiAsync" - ></A - ><B - >MidiAsync</B - > <A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - > [<A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - >]</TD - ><TD CLASS = "rdoc" - > Some asynchronous MidiTracks. (Seems not to work yet)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteMidiFile" - ></A - ><B - >writeMidiFile</B - > :: FilePath -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >MidiFile</A - > -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Writes a <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >MidiFile</A - ></TT - > to a File.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3ATicks" - ></A - ><B - >Ticks</B - > = Int</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Ticks per Quarter. For some unknown reasons it does not work with any value. - 96 seems to be ok. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > MidiNote</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AMidiNote" - ></A - ><B - >MidiNote</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiNote" - ></A - ><B - >MidiNote</B - > <A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ><TD CLASS = "rdoc" - > A note with pitch and volume</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiCtrl" - ></A - ><B - >MidiCtrl</B - > <A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ><TD CLASS = "rdoc" - > Controllernumber and value</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AChan" - ></A - ><B - >Chan</B - > = Word8</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A Midi-Channel (0-15)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AMidiValue" - ></A - ><B - >MidiValue</B - > = Word8</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A Midi-Value (0-127)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > MidiMusic </A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AMidiMusic" - ></A - ><B - >MidiMusic</B - > = [(<A HREF = "Sound.Hommage.Midi.html#t%3ADelta" - >Delta</A - >, Maybe <A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >MidiEvent</A - >)]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A kind of extended MidiTrack type, that allows delta-times without events - (will be summed up by converting to <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - ></TT - >).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnoteMidiMusic" - ></A - ><B - >noteMidiMusic</B - > :: Int -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creates a note or controller event with given length (relative to <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - ></TT - >). - The length means the delta-time between note-on and note-off resp. the time after - the controller event.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArestMidiMusic" - ></A - ><B - >restMidiMusic</B - > :: Int -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > A pause with given length.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AappendMidiMusic" - ></A - ><B - >appendMidiMusic</B - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Sequencial composition of <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TT - >.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmergeMidiMusic" - ></A - ><B - >mergeMidiMusic</B - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Parallel composition of <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TT - >.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArunMidiMusic" - ></A - ><B - >runMidiMusic</B - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - > -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Converts a <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TT - > to a <TT - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - ></TT - >. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > MidiTrack</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AMidiTrack" - ></A - ><B - >MidiTrack</B - > = [(<A HREF = "Sound.Hommage.Midi.html#t%3ADelta" - >Delta</A - >, <A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >MidiEvent</A - >)]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A sequence of MidiEvents with a delta-time which means the number of ticks - before the event happens (relative to the last event). </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3ADelta" - ></A - ><B - >Delta</B - > = Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "5" - > MidiEvent</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AMidiEvent" - ></A - ><B - >MidiEvent</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiNoteOff" - ></A - ><B - >MidiNoteOff</B - > !<A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiNoteOn" - ></A - ><B - >MidiNoteOn</B - > !<A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiKeyAfter" - ></A - ><B - >MidiKeyAfter</B - > !<A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiControl" - ></A - ><B - >MidiControl</B - > !<A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Chan</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - > !<A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >MidiValue</A - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMidiEndOfTrack" - ></A - ><B - >MidiEndOfTrack</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "6" - > Encoding</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AencodeMidiFile" - ></A - ><B - >encodeMidiFile</B - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >MidiFile</A - > -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmidiHeaderSync" - ></A - ><B - >midiHeaderSync</B - > :: [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmidiHeaderSingle" - ></A - ><B - >midiHeaderSingle</B - > :: [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmidiHeaderAsync" - ></A - ><B - >midiHeaderAsync</B - > :: [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AencodeMidiTrack" - ></A - ><B - >encodeMidiTrack</B - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >MidiTrack</A - > -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AencodeDelta" - ></A - ><B - >encodeDelta</B - > :: Int -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AencodeMidiDeltaEvent" - ></A - ><B - >encodeMidiDeltaEvent</B - > :: (<A HREF = "Sound.Hommage.Midi.html#t%3ADelta" - >Delta</A - >, <A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >MidiEvent</A - >) -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AencodeEvent" - ></A - ><B - >encodeEvent</B - > :: <A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >MidiEvent</A - > -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AlastByte" - ></A - ><B - >lastByte</B - > :: Int -> Word8</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnextByte" - ></A - ><B - >nextByte</B - > :: Int -> Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoBytes" - ></A - ><B - >toBytes</B - > :: Int -> Int -> [Word8]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Misc.html
@@ -1,713 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Misc</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Misc</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Imperative control structure</A - ></DT - ><DT - ><A HREF = "#2" - > Usefull list functions </A - ></DT - ><DT - ><A HREF = "#3" - > More usefull functions</A - ></DT - ><DT - ><A HREF = "#4" - > Embedding IO in a list (-map)</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afor" - >for</A - > :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> (a -> m b) -> m ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afor'" - >for'</A - > :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> b -> (a -> b -> m b) -> m b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amap_" - >map_</A - > :: (a -> b) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afoldr_" - >foldr_</A - > :: (a -> b -> b) -> b -> [a] -> b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amerge" - >merge</A - > :: (a -> a -> a) -> [a] -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmergeSet" - >mergeSet</A - > :: ([a] -> b) -> [[a]] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Auneitherlist" - >uneitherlist</A - > :: [Either a b] -> ([a], [b])</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Awalk" - >walk</A - > :: ([a] -> [b]) -> [a] -> ([a], [b])</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aappendmaps" - >appendmaps</A - > :: [[a] -> [b]] -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aappendmaps'" - >appendmaps'</A - > :: [[a] -> [b]] -> [a] -> [[b]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aqsort" - >qsort</A - > :: (a -> a -> Bool) -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AqsortM" - >qsortM</A - > :: (Monad m) => (a -> a -> m Bool) -> [a] -> m [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Ahead_opt" - >head_opt</A - > :: a -> [a] -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnewFilePath" - >newFilePath</A - > :: (Int -> FilePath) -> IO FilePath</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinList" - >inList</A - > :: IO (Maybe a -> IO (Maybe b)) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinList'" - >inList'</A - > :: IO (a -> IO b) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinList''" - >inList''</A - > :: IO (a -> IO (Maybe b)) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoList" - >toList</A - > :: IO (IO a) -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoList'" - >toList'</A - > :: IO (IO (Maybe a)) -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinListE" - >inListE</A - > :: IO (Either (Maybe a -> IO (Maybe b)) (Maybe a -> IO (Maybe c))) -> [a] -> Either [b] [c]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinListE'" - >inListE'</A - > :: IO (Either (a -> IO b) (a -> IO c)) -> [a] -> Either [b] [c]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinListE''" - >inListE''</A - > :: IO (Either (a -> IO (Maybe b)) (a -> IO (Maybe c))) -> [a] -> Either [b] [c]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoListE" - >toListE</A - > :: IO (Either (IO a) (IO b)) -> Either [a] [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoListE'" - >toListE'</A - > :: IO (Either (IO (Maybe a)) (IO (Maybe b))) -> Either [a] [b]</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Imperative control structure</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afor" - ></A - ><B - >for</B - > :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> (a -> m b) -> m ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afor'" - ></A - ><B - >for'</B - > :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> b -> (a -> b -> m b) -> m b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > Usefull list functions </A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amap_" - ></A - ><B - >map_</B - > :: (a -> b) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > a pseudo-strict map version. does not touch the elements but reconstructs the whole list - structure before the function is applied to the value</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afoldr_" - ></A - ><B - >foldr_</B - > :: (a -> b -> b) -> b -> [a] -> b</TD - ></TR - ><TR - ><TD CLASS = "doc" - > a pseudo-strict foldr version. does not touch the elements but reconstructs the whole list - structure before the function is applied to the values. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amerge" - ></A - ><B - >merge</B - > :: (a -> a -> a) -> [a] -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Similar to zipWith, but the result has the length of the longer input list.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmergeSet" - ></A - ><B - >mergeSet</B - > :: ([a] -> b) -> [[a]] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Auneitherlist" - ></A - ><B - >uneitherlist</B - > :: [Either a b] -> ([a], [b])</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Awalk" - ></A - ><B - >walk</B - > :: ([a] -> [b]) -> [a] -> ([a], [b])</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aappendmaps" - ></A - ><B - >appendmaps</B - > :: [[a] -> [b]] -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aappendmaps'" - ></A - ><B - >appendmaps'</B - > :: [[a] -> [b]] -> [a] -> [[b]]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aqsort" - ></A - ><B - >qsort</B - > :: (a -> a -> Bool) -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AqsortM" - ></A - ><B - >qsortM</B - > :: (Monad m) => (a -> a -> m Bool) -> [a] -> m [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > More usefull functions</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Ahead_opt" - ></A - ><B - >head_opt</B - > :: a -> [a] -> a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnewFilePath" - ></A - ><B - >newFilePath</B - > :: (Int -> FilePath) -> IO FilePath</TD - ></TR - ><TR - ><TD CLASS = "doc" - > the given function must create a filepath using the Int-argument. The filepath must be - different for different arguments. <TT - ><A HREF = "Sound.Hommage.Misc.html#v%3AnewFilePath" - >newFilePath</A - ></TT - > works like Gödels mu-operator and terminates - only if the filepath does not exist.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Embedding IO in a list (-map)</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinList" - ></A - ><B - >inList</B - > :: IO (Maybe a -> IO (Maybe b)) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinList'" - ></A - ><B - >inList'</B - > :: IO (a -> IO b) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinList''" - ></A - ><B - >inList''</B - > :: IO (a -> IO (Maybe b)) -> [a] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoList" - ></A - ><B - >toList</B - > :: IO (IO a) -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoList'" - ></A - ><B - >toList'</B - > :: IO (IO (Maybe a)) -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinListE" - ></A - ><B - >inListE</B - > :: IO (Either (Maybe a -> IO (Maybe b)) (Maybe a -> IO (Maybe c))) -> [a] -> Either [b] [c]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinListE'" - ></A - ><B - >inListE'</B - > :: IO (Either (a -> IO b) (a -> IO c)) -> [a] -> Either [b] [c]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinListE''" - ></A - ><B - >inListE''</B - > :: IO (Either (a -> IO (Maybe b)) (a -> IO (Maybe c))) -> [a] -> Either [b] [c]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoListE" - ></A - ><B - >toListE</B - > :: IO (Either (IO a) (IO b)) -> Either [a] [b]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoListE'" - ></A - ><B - >toListE'</B - > :: IO (Either (IO (Maybe a)) (IO (Maybe b))) -> Either [a] [b]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Notation.html
@@ -1,2053 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Notation</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Notation</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Duration</A - ></DT - ><DT - ><A HREF = "#2" - > Music Notation</A - ></DT - ><DT - ><A HREF = "#3" - > Musical class</A - ></DT - ><DT - ><A HREF = "#4" - > Notation and Midi </A - ></DT - ><DT - ><A HREF = "#5" - > More Notation functions</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3ADur" - >Dur</A - > = Ratio Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AabsDur" - >absDur</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3AIsDur" - >IsDur</A - > d <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AdurFrom" - >durFrom</A - > :: d -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AdurUpdate" - >durUpdate</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - >) -> d -> d</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A HREF = "#t%3AWithDur" - >WithDur</A - > d a = <A HREF = "#v%3AWithDur" - >WithDur</A - > {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AunWithDur" - >unWithDur</A - > :: (d -> a)</TD - ></TR - ></TABLE - >}</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3ANote" - >Note</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > a</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ARest" - >Rest</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3A%3A%2B%3A" - >(:+:)</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a) (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3A%3A%3D%3A" - >(:=:)</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a) (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AStretch" - >Stretch</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArunNotation" - >runNotation</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > m) => <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > m -> m</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArunNotationWith" - >runNotationWith</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > m) => (a -> m) -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> m</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3AStretchable" - >Stretchable</A - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Astretch" - >stretch</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> a -> a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3AArrangeable" - >Arrangeable</A - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aparallel" - >parallel</A - > :: a -> a -> a</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Asequent" - >sequent</A - > :: a -> a -> a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > (<A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > a, <A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => <A HREF = "#t%3AMusical" - >Musical</A - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Arest" - >rest</A - > :: a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Arest0" - >rest0</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A-%3D-" - >(-=-)</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => a -> a -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A-%3E-" - >(->-)</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => a -> a -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aline" - >line</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => [a] -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aline'" - >line'</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => [a] -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Achord" - >chord</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => [a] -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aproportional" - >proportional</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => (Int, Int) -> a -> a -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteMidiSyncNotation" - >writeMidiSyncNotation</A - > :: FilePath -> [<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - >] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amidi" - >midi</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - > -> <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amidi'" - >midi'</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d <A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - > -> <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmidiSyncFile" - >midiSyncFile</A - > :: <A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - > -> [<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - >] -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >MidiFile</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Anote" - >note</A - > :: a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmapNotation" - >mapNotation</A - > :: (a -> b) -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AjoinNotation" - >joinNotation</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a) -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AunmaybeNotation" - >unmaybeNotation</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (Maybe a) -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AdurationNotation" - >durationNotation</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> Ratio Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ApositionNotation" - >positionNotation</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - >, a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AreverseNotation" - >reverseNotation</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtakeNotation" - >takeNotation</A - > :: Ratio Int -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AdropNotation" - >dropNotation</A - > :: Ratio Int -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfilterNotation" - >filterNotation</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (m a), Monad m) => (a -> Bool) -> m a -> m a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfilterNotation'" - >filterNotation'</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (m a), <A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (m b), Monad m) => (a -> Maybe b) -> m a -> m b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsequenceNotation" - >sequenceNotation</A - > :: (a -> b -> c) -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> [a] -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > b -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > c</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Duration</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3ADur" - ></A - ><B - >Dur</B - > = Ratio Int</TD - ></TR - ><TR - ><TD CLASS = "doc" - > The duration (of a note, e. g).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AabsDur" - ></A - ><B - >absDur</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> Int</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Calculates the absolute duration by dividing the numerator with the denominator. - Because of rounding error this makes only sense if the result is a relative big - number. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3AIsDur" - ></A - ><B - >IsDur</B - > d <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AdurFrom" - ></A - ><B - >durFrom</B - > :: d -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AdurUpdate" - ></A - ><B - >durUpdate</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - >) -> d -> d</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > <A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A NAME = "t%3AWithDur" - ></A - ><B - >WithDur</B - > d a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AWithDur" - ></A - ><B - >WithDur</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AunWithDur" - ></A - ><B - >unWithDur</B - > :: (d -> a)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d, <A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => <A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a))</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > Music Notation</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ANotation" - ></A - ><B - >Notation</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > A <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TT - > is a constant, tree-like structure that represents a musical - notation. It has a type parameter for flexible usage reasons. </TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ANote" - ></A - ><B - >Note</B - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > a</TD - ><TD CLASS = "rdoc" - > A note with given duration and a value of type <TT - >a</TT - >.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ARest" - ></A - ><B - >Rest</B - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ><TD CLASS = "rdoc" - > A rest with given duration.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3A%2B%3A" - ></A - ><B - >(:+:)</B - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a) (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ><TD CLASS = "rdoc" - > Sequential composition of two notations.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3A%3D%3A" - ></A - ><B - >(:=:)</B - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a) (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ><TD CLASS = "rdoc" - > Parallel composition of two notations.</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AStretch" - ></A - ><B - >Stretch</B - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ><TD CLASS = "rdoc" - > Stretches the duration of the sub-music by given factor.</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Functor <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >Monad <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArunNotation" - ></A - ><B - >runNotation</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > m) => <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > m -> m</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TT - > can be interpreted if the contained type is an - instance of class <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - ></TT - >.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArunNotationWith" - ></A - ><B - >runNotationWith</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > m) => (a -> m) -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> m</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > Musical class</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3AStretchable" - ></A - ><B - >Stretchable</B - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > A type/structure that can be stretched.</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Astretch" - ></A - ><B - >stretch</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> a -> a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > a) => <A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (s -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (<A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3AArrangeable" - ></A - ><B - >Arrangeable</B - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > Types/structures that can be composed in two ways, parallel and sequent.</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aparallel" - ></A - ><B - >parallel</B - > :: a -> a -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Asequent" - ></A - ><B - >sequent</B - > :: a -> a -> a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d, <A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => <A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => <A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (s -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (<A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > (<A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > a, <A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => <A NAME = "t%3AMusical" - ></A - ><B - >Musical</B - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > Instances of class <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - ></TT - > must be <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - ></TT - >, <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - ></TT - > and - they must implement the method <TT - ><A HREF = "Sound.Hommage.Notation.html#v%3Arest" - >rest</A - ></TT - >. </TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arest" - ></A - ><B - >rest</B - > :: a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => <A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (s -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a))</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arest0" - ></A - ><B - >rest0</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A-%3D-" - ></A - ><B - >(-=-)</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => a -> a -> a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A-%3E-" - ></A - ><B - >(->-)</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > a) => a -> a -> a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aline" - ></A - ><B - >line</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => [a] -> a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A sequence of sounds</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aline'" - ></A - ><B - >line'</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => [a] -> a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A sequence of sounds that will be stretched to length=1</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Achord" - ></A - ><B - >chord</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => [a] -> a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aproportional" - ></A - ><B - >proportional</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > a) => (Int, Int) -> a -> a -> a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Composes the notations sequentially and stretches them proportionally.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Notation and Midi </A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteMidiSyncNotation" - ></A - ><B - >writeMidiSyncNotation</B - > :: FilePath -> [<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - >] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A convenient function to write a set of midi notations to a synchronous MIDI-file. - NOTE: For unknown reasons not any Ticks value seemes to work. This function uses - 96 Ticks per quarter. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amidi" - ></A - ><B - >midi</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - > -> <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > A <TT - > Notation MidiNote </TT - > can be interpreted using <TT - ><A HREF = "Sound.Hommage.Notation.html#v%3ArunNotationWith" - >runNotationWith</A - ></TT - > and <TT - ><A HREF = "Sound.Hommage.Notation.html#v%3Amidi" - >midi</A - ></TT - >. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amidi'" - ></A - ><B - >midi'</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d <A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >MidiNote</A - > -> <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmidiSyncFile" - ></A - ><B - >midiSyncFile</B - > :: <A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Ticks</A - > -> [<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > <A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >MidiMusic</A - >] -> <A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >MidiFile</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "5" - > More Notation functions</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Anote" - ></A - ><B - >note</B - > :: a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creates a note with length 1. Is a synonym for <TT - >Note (1%1)</TT - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmapNotation" - ></A - ><B - >mapNotation</B - > :: (a -> b) -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > b</TD - ></TR - ><TR - ><TD CLASS = "doc" - > <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TT - > is instance of the class Functor.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AjoinNotation" - ></A - ><B - >joinNotation</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a) -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TT - > is instance of the class Monad. Joining will replace - every (outer) Note by its contained (inner) Notation. The inner - Notation will be stretched by the duration of the (outer) Note.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AunmaybeNotation" - ></A - ><B - >unmaybeNotation</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (Maybe a) -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Replaces any Note that contains Nothing by a rest (with same duration).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AdurationNotation" - ></A - ><B - >durationNotation</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> Ratio Int</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Calculates the (relative) duration of a <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TT - > (Must be finite!).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ApositionNotation" - ></A - ><B - >positionNotation</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - >, a)</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Calculates the offset for each note.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AreverseNotation" - ></A - ><B - >reverseNotation</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Reverses a <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TT - > (Must be finite!).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtakeNotation" - ></A - ><B - >takeNotation</B - > :: Ratio Int -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Takes the beginning of <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TT - >, result has the given duration if possible or is shorter otherwise. - Notes that overlap with the end of duration are not taken but replaced by the (fitted) rests.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AdropNotation" - ></A - ><B - >dropNotation</B - > :: Ratio Int -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Drops the beginning of <TT - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - ></TT - >. Notes that would be split are replaced by fitted rests.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfilterNotation" - ></A - ><B - >filterNotation</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (m a), Monad m) => (a -> Bool) -> m a -> m a</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Replaces notes where the predicate fails with rests. -filterNotation :: (a -> Bool) -> Notation a -> Notation a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfilterNotation'" - ></A - ><B - >filterNotation'</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (m a), <A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (m b), Monad m) => (a -> Maybe b) -> m a -> m b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsequenceNotation" - ></A - ><B - >sequenceNotation</B - > :: (a -> b -> c) -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> [a] -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > b -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > c</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A parallel composition of a sequence of values and a Notation - Each value of the sequence has the same given duration. - Every Note is updated by a function that gets the actual value of the sequence. - NOTE: This function is not tested yet! </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Osc.html
@@ -1,700 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Osc</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Osc</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Sound Generators</A - ></DT - ><DT - ><A HREF = "#2" - > Functions for Lists</A - ></DT - ><DT - ><A HREF = "#3" - > Functions for single values</A - ></DT - ><DT - ><A HREF = "#4" - > Other Functions</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aosc" - >osc</A - > :: [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Asinus" - >sinus</A - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Acosinus" - >cosinus</A - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Arect" - >rect</A - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Asaw" - >saw</A - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Atri" - >tri</A - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArandomList" - >randomList</A - > :: (Random a) => (a, a) -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsampleAndHold" - >sampleAndHold</A - > :: (Ord a, Num a) => b -> [a] -> [b] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aaverage" - >average</A - > :: (Fractional a) => Int -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AterminateAt" - >terminateAt</A - > :: Int -> (a -> Bool) -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Afollow" - >follow</A - > :: Double -> [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Acompress" - >compress</A - > :: Double -> Double -> Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnoteToFrequency" - >noteToFrequency</A - > :: Double -> Double -> Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AadjustFrequency" - >adjustFrequency</A - > :: Double -> Double -> Double -> Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsplitWaves" - >splitWaves</A - > :: [Double] -> [[Double]]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Acrossfade" - >crossfade</A - > :: [Double] -> [Double] -> [Double]</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Sound Generators</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aosc" - ></A - ><B - >osc</B - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >:: [Double]</TD - ><TD CLASS = "rdoc" - > The sound to play. Output will be finite if sound is finite.</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> [Double]</TD - ><TD CLASS = "rdoc" - > Speed, 1.0 = normal, - 0.0 < X < 1.0 = slower resp. lower, - 1.0 < X = faster resp. higher, - X < 0.0 => X = abs X.</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> [Double]</TD - ><TD CLASS = "rdoc" - > Output </TD - ></TR - ><TR - ><TD CLASS = "ndoc" COLSPAN = "2" - > Play given sound with variable speed resp. frequency. - (General definition: Usually a frequency of 1.0 means a period of 1024 values). - Use scratchSample or scratchSampleSignal for backward playing.</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Asinus" - ></A - ><B - >sinus</B - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A sinus wave generator with a period of 1024/N for frequency N </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Acosinus" - ></A - ><B - >cosinus</B - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A cosinus wave generator</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arect" - ></A - ><B - >rect</B - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A rectangle wave generator</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Asaw" - ></A - ><B - >saw</B - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A sawtooth wave generator</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Atri" - ></A - ><B - >tri</B - > :: [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A triangle wave generator</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArandomList" - ></A - ><B - >randomList</B - > :: (Random a) => (a, a) -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > Functions for Lists</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsampleAndHold" - ></A - ><B - >sampleAndHold</B - > :: (Ord a, Num a) => b -> [a] -> [b] -> [b]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Current output value is repeatet until the first list argument value switches from zero or below - to a non-zero positive value, the actual value of the second list argument is then taken for output.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aaverage" - ></A - ><B - >average</B - > :: (Fractional a) => Int -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Maps the values to the average of the last N values (including the actual)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AterminateAt" - ></A - ><B - >terminateAt</B - > :: Int -> (a -> Bool) -> [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > If predicate holds for N elements, list is cut.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Afollow" - ></A - ><B - >follow</B - > :: Double -> [Double] -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > Functions for single values</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > These Functions can be used with map:</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Acompress" - ></A - ><B - >compress</B - > :: Double -> Double -> Double</TD - ></TR - ><TR - ><TD CLASS = "doc" - ><PRE - > compress p x = x / (abs p + abs x) </PRE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnoteToFrequency" - ></A - ><B - >noteToFrequency</B - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >:: Double</TD - ><TD CLASS = "rdoc" - > Base, </TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> Double</TD - ><TD CLASS = "rdoc" - > Notenumber</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> Double</TD - ><TD CLASS = "rdoc" - > 2 ^ (Notenumber / Base)</TD - ></TR - ><TR - ><TD CLASS = "ndoc" COLSPAN = "2" - > Transforms a notevalue into a frequency. A Notevalue of 0.0 means a frequency of 1.0. </TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AadjustFrequency" - ></A - ><B - >adjustFrequency</B - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >:: Double</TD - ><TD CLASS = "rdoc" - > Period </TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> Double</TD - ><TD CLASS = "rdoc" - > New Frequency (Hz) for old frequency of 1.0</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> Double</TD - ><TD CLASS = "rdoc" - > Input Frequency</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> Double</TD - ><TD CLASS = "rdoc" - > Output Frequency</TD - ></TR - ><TR - ><TD CLASS = "ndoc" COLSPAN = "2" - > Adjusts the frequency. If given oscillator has period X for frequency of 1.0 and you want it to - produce a wave with Y Hz at frequency of 1.0, use <TT - > map (adjustFrequency X Y) </TT - > to adjust the - input of the oscillator.</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Other Functions</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > These Functions are not simple (i. e. linear) list transformers:</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsplitWaves" - ></A - ><B - >splitWaves</B - > :: [Double] -> [[Double]]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Splits a wave into parts. they are split when a value equal or less than zero is followed by a - value greater than zero.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Acrossfade" - ></A - ><B - >crossfade</B - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >:: [Double]</TD - ><TD CLASS = "rdoc" - > w1</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> [Double]</TD - ><TD CLASS = "rdoc" - > w2</TD - ></TR - ><TR - ><TD CLASS = "decl" - >-> [Double]</TD - ><TD CLASS = "rdoc" - > result</TD - ></TR - ><TR - ><TD CLASS = "ndoc" COLSPAN = "2" - > Create a wave with the beginning of w1, the ending of w2 and the length of the longer one of them.</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Parameter.html
@@ -1,1583 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Parameter</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Parameter</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Field</A - ></DT - ><DT - ><A HREF = "#2" - > Hetero List</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Description</TD - ></TR - ><TR - ><TD CLASS = "doc" - > This module contains a datatype <TT - ><A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - ></TT - > and sone type classes. It is used - to construct record-like datatypes.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AField" - >Field</A - > c a = <A HREF = "#v%3AField" - >Field</A - > {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AgetField" - >getField</A - > :: (c -> a)</TD - ></TR - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AsetField" - >setField</A - > :: ((a -> a) -> c -> c)</TD - ></TR - ></TABLE - >}</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A%3C%3E" - >(<>)</A - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > a b -> <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c a -> <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfstField" - >fstField</A - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > (a, b) a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsndField" - >sndField</A - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > (a, b) b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AUpdateField" - >UpdateField</A - > c</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <SPAN CLASS = "keyword" - >forall</SPAN - > a . <A HREF = "#v%3A%3A%3D" - >(:=)</A - > (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c a) a</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <SPAN CLASS = "keyword" - >forall</SPAN - > a . <A HREF = "#v%3A%3A%24" - >(:$)</A - > (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c a) (a -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AIf" - >If</A - > (<A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >CheckField</A - > c) [<A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > c] [<A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > c]</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ACheckField" - >CheckField</A - > c</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <SPAN CLASS = "keyword" - >forall</SPAN - > a . <A HREF = "#v%3A%3A%3F" - >(:?)</A - > (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c a) (a -> Bool)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AAnd" - >And</A - > [<A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >CheckField</A - > c]</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AOr" - >Or</A - > [<A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >CheckField</A - > c]</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AupdateField" - >updateField</A - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > c -> c -> c</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AcheckField" - >checkField</A - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >CheckField</A - > c -> c -> Bool</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AapplyField" - >applyField</A - > :: [<A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > c] -> c -> c</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwithField" - >withField</A - > :: [<A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > a] -> (a -> b) -> a -> b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AGroup" - >Group</A - > c a = <A HREF = "#v%3AGroup" - >Group</A - > {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AisGroup" - >isGroup</A - > :: (c -> Maybe a)</TD - ></TR - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AmkGroup" - >mkGroup</A - > :: (a -> c)</TD - ></TR - ></TABLE - >}</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AleftGroup" - >leftGroup</A - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > (Either a b) a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArightGroup" - >rightGroup</A - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > (Either a b) b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A%3E%3C" - >(><)</A - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > a b -> <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > c a -> <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > c b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ALM" - >LM</A - > a b m = <A HREF = "#v%3A%3A%3E%3E" - >(:>>)</A - > (m a) (b m)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ANilM" - >NilM</A - > m = <A HREF = "#v%3ANilM" - >NilM</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3APushFields" - >PushFields</A - > m <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ApushFields" - >pushFields</A - > :: m (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c) -> m (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > (x, c))</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3AToFields" - >ToFields</A - > a r <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoFields" - >toFields</A - > :: a -> r (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3APushGroups" - >PushGroups</A - > m <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ApushGroups" - >pushGroups</A - > :: m (<A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > c) -> m (<A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > (Either x c))</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3AToGroups" - >ToGroups</A - > a r <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoGroups" - >toGroups</A - > :: a -> r (<A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Documentation</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - ><P - > Example:</P - ><P - > To create a "record" with the accessors/modificators first you have to define the type - of the record, It must be a right-associative list of pairs, just like a LISP list. - The rightmost element must be <TT - > () </TT - >. The following Example defines a record with information - for music generation. </P - ><PRE - > type DefaultNote = (Int, (Double, (Char, ()))) </PRE - ><P - > Then a default value should be defined. </P - ><PRE - > defaultNote = (0, (1.0, ('a' , ()))) - defaultNote :: DefaultNote </PRE - ><P - > For each "datafield" the <TT - ><A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - ></TT - > must be declared.</P - ><PRE - > pitch :: Field DefaultNote Int - volume :: Field DefaultNote Double - channel :: Field DefaultNote Char </PRE - ><P - > Creating the fields is done with toField applied to a value of the "record" type.</P - ><PRE - > pitch :>> volume :>> channel :>> NilM = toFields defaultNote </PRE - ><P - > Is is recommended to declare all types and match all results of <TT - ><A HREF = "Sound.Hommage.Parameter.html#v%3AtoFields" - >toFields</A - ></TT - > incl. the <TT - ><A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TT - > at - the end.</P - ><P - > NOTE:</P - ><PRE - > pitch :>> volume :>> channel :>> NilM = toFields (undefined :: DefaultNote)</PRE - ><P - > should work too. -</P - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Field</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AField" - ></A - ><B - >Field</B - > c a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > A <TT - > Field record field </TT - > is an interface to access a type <TT - > field </TT - > which - is part of a type <TT - > record </TT - >. - A <TT - ><A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - ></TT - > is used to access and modify subtypes ("datafields") of - a record-like datastructure. In this module, a right-associative pair structure is - taken as record-type with "datafields" in the fst parts of the pairs.</TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AField" - ></A - ><B - >Field</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AgetField" - ></A - ><B - >getField</B - > :: (c -> a)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsetField" - ></A - ><B - >setField</B - > :: ((a -> a) -> c -> c)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3C%3E" - ></A - ><B - >(<>)</B - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > a b -> <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c a -> <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfstField" - ></A - ><B - >fstField</B - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > (a, b) a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsndField" - ></A - ><B - >sndField</B - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > (a, b) b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AUpdateField" - ></A - ><B - >UpdateField</B - > c</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >forall</SPAN - > a . <A NAME = "v%3A%3A%3D" - ></A - ><B - >(:=)</B - > (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c a) a</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >forall</SPAN - > a . <A NAME = "v%3A%3A%24" - ></A - ><B - >(:$)</B - > (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c a) (a -> a)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AIf" - ></A - ><B - >If</B - > (<A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >CheckField</A - > c) [<A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > c] [<A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > c]</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ACheckField" - ></A - ><B - >CheckField</B - > c</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >forall</SPAN - > a . <A NAME = "v%3A%3A%3F" - ></A - ><B - >(:?)</B - > (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c a) (a -> Bool)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AAnd" - ></A - ><B - >And</B - > [<A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >CheckField</A - > c]</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AOr" - ></A - ><B - >Or</B - > [<A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >CheckField</A - > c]</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AupdateField" - ></A - ><B - >updateField</B - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > c -> c -> c</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AcheckField" - ></A - ><B - >checkField</B - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >CheckField</A - > c -> c -> Bool</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AapplyField" - ></A - ><B - >applyField</B - > :: [<A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > c] -> c -> c</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwithField" - ></A - ><B - >withField</B - > :: [<A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >UpdateField</A - > a] -> (a -> b) -> a -> b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AGroup" - ></A - ><B - >Group</B - > c a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AGroup" - ></A - ><B - >Group</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AisGroup" - ></A - ><B - >isGroup</B - > :: (c -> Maybe a)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkGroup" - ></A - ><B - >mkGroup</B - > :: (a -> c)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AleftGroup" - ></A - ><B - >leftGroup</B - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > (Either a b) a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArightGroup" - ></A - ><B - >rightGroup</B - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > (Either a b) b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3E%3C" - ></A - ><B - >(><)</B - > :: <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > a b -> <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > c a -> <A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > c b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > Hetero List</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ALM" - ></A - ><B - >LM</B - > a b m</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3A%3E%3E" - ></A - ><B - >(:>>)</B - > (m a) (b m)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >PushFields</A - > b) => <A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >PushFields</A - > (<A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >LM</A - > a b)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >PushFields</A - > b', <A HREF = "Sound.Hommage.Parameter.html#t%3AToFields" - >ToFields</A - > b b') => <A HREF = "Sound.Hommage.Parameter.html#t%3AToFields" - >ToFields</A - > (a, b) (<A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >LM</A - > a b')</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >PushGroups</A - > b) => <A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >PushGroups</A - > (<A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >LM</A - > a b)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Parameter.html#t%3AToGroups" - >ToGroups</A - > b b', <A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >PushGroups</A - > b') => <A HREF = "Sound.Hommage.Parameter.html#t%3AToGroups" - >ToGroups</A - > (Either a b) (<A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >LM</A - > a b')</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ANilM" - ></A - ><B - >NilM</B - > m</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > The correct type is: <TT - > data NilM (m :: * -> *) = NilM </TT - > . - (But Haddock rejects this definition. GHC will need it)</TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ANilM" - ></A - ><B - >NilM</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >PushFields</A - > <A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Parameter.html#t%3AToFields" - >ToFields</A - > () <A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >PushGroups</A - > <A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Parameter.html#t%3AToGroups" - >ToGroups</A - > () <A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3APushFields" - ></A - ><B - >PushFields</B - > m <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ApushFields" - ></A - ><B - >pushFields</B - > :: m (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > c) -> m (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > (x, c))</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >PushFields</A - > <A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >PushFields</A - > b) => <A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >PushFields</A - > (<A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >LM</A - > a b)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3AToFields" - ></A - ><B - >ToFields</B - > a r <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoFields" - ></A - ><B - >toFields</B - > :: a -> r (<A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Field</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Parameter.html#t%3AToFields" - >ToFields</A - > () <A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >PushFields</A - > b', <A HREF = "Sound.Hommage.Parameter.html#t%3AToFields" - >ToFields</A - > b b') => <A HREF = "Sound.Hommage.Parameter.html#t%3AToFields" - >ToFields</A - > (a, b) (<A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >LM</A - > a b')</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3APushGroups" - ></A - ><B - >PushGroups</B - > m <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ApushGroups" - ></A - ><B - >pushGroups</B - > :: m (<A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > c) -> m (<A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > (Either x c))</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >PushGroups</A - > <A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >PushGroups</A - > b) => <A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >PushGroups</A - > (<A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >LM</A - > a b)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3AToGroups" - ></A - ><B - >ToGroups</B - > a r <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoGroups" - ></A - ><B - >toGroups</B - > :: a -> r (<A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Group</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Parameter.html#t%3AToGroups" - >ToGroups</A - > () <A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >NilM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Parameter.html#t%3AToGroups" - >ToGroups</A - > b b', <A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >PushGroups</A - > b') => <A HREF = "Sound.Hommage.Parameter.html#t%3AToGroups" - >ToGroups</A - > (Either a b) (<A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >LM</A - > a b')</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Play.html
@@ -1,1525 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Play</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Play</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Play</A - ></DT - ><DT - ><A HREF = "#2" - > Interpretation of Notation for Play</A - ></DT - ><DT - ><A HREF = "#3" - > Parallel played and hierarchical defined tracks</A - ></DT - ><DT - ><A HREF = "#4" - > Environment</A - ></DT - ><DT - ><A HREF = "#5" - > Duration</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A HREF = "#t%3APlay" - >Play</A - > a = <A HREF = "#v%3APLAY" - >PLAY</A - > {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AunPlay" - >unPlay</A - > :: (<A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> a)</TD - ></TR - ></TABLE - >}</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AgetDur" - >getDur</A - > :: <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AresetDur" - >resetDur</A - > :: <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArandomPlay" - >randomPlay</A - > :: (Random a) => (a, a) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amix" - >mix</A - > :: [<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >] -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amix'" - >mix'</A - > :: (Num a) => [<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [a]] -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnotationMono" - >notationMono</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnotationStereo" - >notationStereo</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Anotation" - >notation</A - > :: (<A HREF = "Sound.Hommage.Play.html#t%3AMixable" - >Mixable</A - > a) => <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3AMixable" - >Mixable</A - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Amixdown" - >mixdown</A - > :: <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a -> a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ASong" - >Song</A - > a = <A HREF = "#v%3ASONG" - >SONG</A - > {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AunSong" - >unSong</A - > :: (<A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> (a, <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - >))</TD - ></TR - ></TABLE - >}</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArunSong" - >runSong</A - > :: Double -> <A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Song</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a) -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A HREF = "#t%3ATrack" - >Track</A - > a = <A HREF = "#v%3ATRACK" - >TRACK</A - > {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AunTrack" - >unTrack</A - > :: (<A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> a)</TD - ></TR - ></TABLE - >}</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AplayTrack" - >playTrack</A - > :: <A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Atrack" - >track</A - > :: (<A HREF = "Sound.Hommage.Play.html#t%3ATrackable" - >Trackable</A - > a) => <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a -> <A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Song</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > (Typeable a) => <A HREF = "#t%3ATrackable" - >Trackable</A - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtoNext" - >toNext</A - > :: a -> a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A HREF = "#t%3AEnvironment" - >Environment</A - > = <A HREF = "#v%3AEnvironment" - >Environment</A - > (Int, [(Int, [Dynamic])])</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AemptyEnvironment" - >emptyEnvironment</A - > :: <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnextEnvironment" - >nextEnvironment</A - > :: <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinsertEnvironment" - >insertEnvironment</A - > :: [Dynamic] -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> (<A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> Dynamic, <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AlookupEnvironment" - >lookupEnvironment</A - > :: Int -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> Dynamic</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ADuration" - >Duration</A - > = <A HREF = "#v%3ADURATION" - >DURATION</A - > {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3ArelativeDuration" - >relativeDuration</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AabsoluteDuration" - >absoluteDuration</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ></TABLE - >}</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AresetDuration" - >resetDuration</A - > :: <A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinitDuration" - >initDuration</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Play</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A NAME = "t%3APlay" - ></A - ><B - >Play</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3APLAY" - ></A - ><B - >PLAY</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AunPlay" - ></A - ><B - >unPlay</B - > :: (<A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> a)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Monad <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Functor <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >))</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AgetDur" - ></A - ><B - >getDur</B - > :: <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AresetDur" - ></A - ><B - >resetDur</B - > :: <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArandomPlay" - ></A - ><B - >randomPlay</B - > :: (Random a) => (a, a) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amix" - ></A - ><B - >mix</B - > :: [<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >] -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amix'" - ></A - ><B - >mix'</B - > :: (Num a) => [<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [a]] -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > Interpretation of Notation for Play</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnotationMono" - ></A - ><B - >notationMono</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnotationStereo" - ></A - ><B - >notationStereo</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Anotation" - ></A - ><B - >notation</B - > :: (<A HREF = "Sound.Hommage.Play.html#t%3AMixable" - >Mixable</A - > a) => <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3AMixable" - ></A - ><B - >Mixable</B - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Amixdown" - ></A - ><B - >mixdown</B - > :: <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a -> a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(Num a) => <A HREF = "Sound.Hommage.Play.html#t%3AMixable" - >Mixable</A - > [a]</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > Parallel played and hierarchical defined tracks</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ASong" - ></A - ><B - >Song</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ASONG" - ></A - ><B - >SONG</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AunSong" - ></A - ><B - >unSong</B - > :: (<A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> (a, <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - >))</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Functor <A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Song</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Monad <A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Song</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArunSong" - ></A - ><B - >runSong</B - > :: Double -> <A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Song</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a) -> a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A NAME = "t%3ATrack" - ></A - ><B - >Track</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ATRACK" - ></A - ><B - >TRACK</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AunTrack" - ></A - ><B - >unTrack</B - > :: (<A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> a)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Functor <A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AplayTrack" - ></A - ><B - >playTrack</B - > :: <A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Atrack" - ></A - ><B - >track</B - > :: (<A HREF = "Sound.Hommage.Play.html#t%3ATrackable" - >Trackable</A - > a) => <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > a -> <A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Song</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > (Typeable a) => <A NAME = "t%3ATrackable" - ></A - ><B - >Trackable</B - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtoNext" - ></A - ><B - >toNext</B - > :: a -> a</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Play.html#t%3ATrackable" - >Trackable</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(Typeable a) => <A HREF = "Sound.Hommage.Play.html#t%3ATrackable" - >Trackable</A - > [a]</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Environment</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A NAME = "t%3AEnvironment" - ></A - ><B - >Environment</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AEnvironment" - ></A - ><B - >Environment</B - > (Int, [(Int, [Dynamic])])</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AemptyEnvironment" - ></A - ><B - >emptyEnvironment</B - > :: <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnextEnvironment" - ></A - ><B - >nextEnvironment</B - > :: <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinsertEnvironment" - ></A - ><B - >insertEnvironment</B - > :: [Dynamic] -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> (<A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> Dynamic, <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AlookupEnvironment" - ></A - ><B - >lookupEnvironment</B - > :: Int -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Environment</A - > -> Dynamic</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "5" - > Duration</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ADuration" - ></A - ><B - >Duration</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ADURATION" - ></A - ><B - >DURATION</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArelativeDuration" - ></A - ><B - >relativeDuration</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AabsoluteDuration" - ></A - ><B - >absoluteDuration</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > <A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AresetDuration" - ></A - ><B - >resetDuration</B - > :: <A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinitDuration" - ></A - ><B - >initDuration</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> <A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Duration</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Rand.html
@@ -1,357 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Rand</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Rand</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A NAME = "t%3AR" - ></A - ><B - >R</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AR" - ></A - ><B - >R</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AunR" - ></A - ><B - >unR</B - > :: (StdGen -> a)</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Monad <A HREF = "Sound.Hommage.Rand.html#t%3AR" - >R</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Functor <A HREF = "Sound.Hommage.Rand.html#t%3AR" - >R</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Applicative <A HREF = "Sound.Hommage.Rand.html#t%3AR" - >R</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkR" - ></A - ><B - >mkR</B - > :: (StdGen -> (a, StdGen)) -> <A HREF = "Sound.Hommage.Rand.html#t%3AR" - >R</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArunR" - ></A - ><B - >runR</B - > :: Int -> <A HREF = "Sound.Hommage.Rand.html#t%3AR" - >R</A - > a -> a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arif" - ></A - ><B - >rif</B - > :: Double -> (a, a) -> <A HREF = "Sound.Hommage.Rand.html#t%3AR" - >R</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arselect" - ></A - ><B - >rselect</B - > :: [a] -> <A HREF = "Sound.Hommage.Rand.html#t%3AR" - >R</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ARM" - ></A - ><B - >RM</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Functor <A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Monad <A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Stretchable</A - > (<A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (<A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aror" - ></A - ><B - >ror</B - > :: [<A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a] -> <A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arnote" - ></A - ><B - >rnote</B - > :: a -> <A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArunRM" - ></A - ><B - >runRM</B - > :: <A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > a -> <A HREF = "Sound.Hommage.Rand.html#t%3AR" - >R</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arplay" - ></A - ><B - >rplay</B - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => a -> <A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >RM</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Sample.html
@@ -1,1258 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Sample</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Sample</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Sample Datastructure</A - ></DT - ><DT - ><A HREF = "#2" - > File Operations</A - ></DT - ><DT - ><A HREF = "#3" - > Pitching, Playing and Scratching</A - ></DT - ><DT - ><A HREF = "#4" - > Transforming Samples</A - ></DT - ><DT - ><A HREF = "#5" - > Filter and Fourier Coeffs</A - ></DT - ><DT - ><A HREF = "#6" - > Playing a Sample</A - ></DT - ><DT - ><A HREF = "#7" - > Array functions</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ASample" - >Sample</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AarraySample" - >arraySample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IOArray Int a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsizeSample" - >sizeSample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnewSample" - >newSample</A - > :: Int -> a -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnewSampleFromList" - >newSampleFromList</A - > :: [a] -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenWavSample" - >openWavSample</A - > :: FilePath -> IO (Either (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >) (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >))</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsaveWavSampleMono" - >saveWavSampleMono</A - > :: FilePath -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsaveWavSampleStereo" - >saveWavSampleStereo</A - > :: FilePath -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ApitchWavSignal" - >pitchWavSignal</A - > :: FilePath -> [Double] -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AscratchWavSignal" - >scratchWavSignal</A - > :: FilePath -> [Double] -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AplaySample" - >playSample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ApitchSample" - >pitchSample</A - > :: (Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> [Double] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AscratchSample" - >scratchSample</A - > :: (Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> [Double] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AplayCoeffs" - >playCoeffs</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> [Complex Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmapSample" - >mapSample</A - > :: (a -> b) -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > b)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfoldlSample" - >foldlSample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> (b -> a -> b) -> b -> IO b</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AupdateSample" - >updateSample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> (a -> a) -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnormaliseSample" - >normaliseSample</A - > :: (Ord a, Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfadeinoutSample" - >fadeinoutSample</A - > :: (Fractional a) => (Int, Int) -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AstretchSample" - >stretchSample</A - > :: (Fractional a) => Int -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ACoeffs" - >Coeffs</A - > </TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AarrayCoeffs" - >arrayCoeffs</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> IOArray Int <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsizeCoeffs" - >sizeCoeffs</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwavesizeCoeffs" - >wavesizeCoeffs</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsyntheseSample" - >syntheseSample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AanalyseSample" - >analyseSample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - > -> IO <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfilterCoeffs" - >filterCoeffs</A - > :: IO (<A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ()) -> <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> IO <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkPlayCoeffs" - >mkPlayCoeffs</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> IO (IO (Maybe (Complex Double)))</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AreadCoeffs" - >readCoeffs</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> Int -> Int -> IO (Complex Double)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteCoeffs" - >writeCoeffs</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> Int -> Int -> Complex Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkTriggerSample" - >mkTriggerSample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> a -> IO (Bool -> IO a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkPlaySample" - >mkPlaySample</A - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (IO (Maybe a))</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkScratchSample" - >mkScratchSample</A - > :: (Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (Double -> IO a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkPitchSample" - >mkPitchSample</A - > :: (Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (Double -> IO (Maybe a))</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinterpolArray" - >interpolArray</A - > :: (Fractional a, MArray array a IO) => array Int a -> Int -> Double -> IO a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkLoopArray" - >mkLoopArray</A - > :: (Fractional a, MArray arr a IO) => arr Int a -> Int -> IO (Double -> IO a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmkPlayArray" - >mkPlayArray</A - > :: (Fractional a, MArray arr a IO) => arr Int a -> Int -> IO (Double -> IO (Maybe a))</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Sample Datastructure</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ASample" - ></A - ><B - >Sample</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AarraySample" - ></A - ><B - >arraySample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IOArray Int a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsizeSample" - ></A - ><B - >sizeSample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnewSample" - ></A - ><B - >newSample</B - > :: Int -> a -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnewSampleFromList" - ></A - ><B - >newSampleFromList</B - > :: [a] -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > File Operations</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenWavSample" - ></A - ><B - >openWavSample</B - > :: FilePath -> IO (Either (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >) (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >))</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsaveWavSampleMono" - ></A - ><B - >saveWavSampleMono</B - > :: FilePath -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsaveWavSampleStereo" - ></A - ><B - >saveWavSampleStereo</B - > :: FilePath -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > Pitching, Playing and Scratching</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ApitchWavSignal" - ></A - ><B - >pitchWavSignal</B - > :: FilePath -> [Double] -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Open a Wav-File, but play it with variable (positive) speed/ frequency. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AscratchWavSignal" - ></A - ><B - >scratchWavSignal</B - > :: FilePath -> [Double] -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Open a Wav-File, but play it with variable (positive and/or negative) speed/ frequency. - Backward playing is possible.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AplaySample" - ></A - ><B - >playSample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> [a]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creates a finite list with the content of the Sample.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ApitchSample" - ></A - ><B - >pitchSample</B - > :: (Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> [Double] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creates a list with the content of the Sample, but played with variable speed/frequency.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AscratchSample" - ></A - ><B - >scratchSample</B - > :: (Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> [Double] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creates a list with the content of the Sample, but played with variable speed/frequency, - backward playing possible.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AplayCoeffs" - ></A - ><B - >playCoeffs</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> [Complex Double]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creates a list with the content of <TT - ><A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - ></TT - > (a representation of the fourier coefficients of - a <TT - ><A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - ></TT - >). </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Transforming Samples</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmapSample" - ></A - ><B - >mapSample</B - > :: (a -> b) -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > b)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfoldlSample" - ></A - ><B - >foldlSample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> (b -> a -> b) -> b -> IO b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AupdateSample" - ></A - ><B - >updateSample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> (a -> a) -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnormaliseSample" - ></A - ><B - >normaliseSample</B - > :: (Ord a, Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfadeinoutSample" - ></A - ><B - >fadeinoutSample</B - > :: (Fractional a) => (Int, Int) -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AstretchSample" - ></A - ><B - >stretchSample</B - > :: (Fractional a) => Int -> <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "5" - > Filter and Fourier Coeffs</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ACoeffs" - ></A - ><B - >Coeffs</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AarrayCoeffs" - ></A - ><B - >arrayCoeffs</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> IOArray Int <A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >CoeffArr</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsizeCoeffs" - ></A - ><B - >sizeCoeffs</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwavesizeCoeffs" - ></A - ><B - >wavesizeCoeffs</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsyntheseSample" - ></A - ><B - >syntheseSample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> IO (<A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AanalyseSample" - ></A - ><B - >analyseSample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - > -> IO <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfilterCoeffs" - ></A - ><B - >filterCoeffs</B - > :: IO (<A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >CoeffMap</A - > ()) -> <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> IO <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkPlayCoeffs" - ></A - ><B - >mkPlayCoeffs</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> IO (IO (Maybe (Complex Double)))</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AreadCoeffs" - ></A - ><B - >readCoeffs</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> Int -> Int -> IO (Complex Double)</TD - ></TR - ><TR - ><TD CLASS = "doc" - > usage: <TT - > readCoeffs obj nrOfCoeffarr nrOfCoefficient </TT - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteCoeffs" - ></A - ><B - >writeCoeffs</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Coeffs</A - > -> Int -> Int -> Complex Double -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "6" - > Playing a Sample</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkTriggerSample" - ></A - ><B - >mkTriggerSample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> a -> IO (Bool -> IO a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkPlaySample" - ></A - ><B - >mkPlaySample</B - > :: <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (IO (Maybe a))</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkScratchSample" - ></A - ><B - >mkScratchSample</B - > :: (Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (Double -> IO a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkPitchSample" - ></A - ><B - >mkPitchSample</B - > :: (Fractional a) => <A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sample</A - > a -> IO (Double -> IO (Maybe a))</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "7" - > Array functions</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinterpolArray" - ></A - ><B - >interpolArray</B - > :: (Fractional a, MArray array a IO) => array Int a -> Int -> Double -> IO a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkLoopArray" - ></A - ><B - >mkLoopArray</B - > :: (Fractional a, MArray arr a IO) => arr Int a -> Int -> IO (Double -> IO a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmkPlayArray" - ></A - ><B - >mkPlayArray</B - > :: (Fractional a, MArray arr a IO) => arr Int a -> Int -> IO (Double -> IO (Maybe a))</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Seq.html
@@ -1,473 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Seq</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Seq</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArunNumNotation" - >runNumNotation</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d, Num a) => <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d [a]) -> d -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AbpmToDur" - >bpmToDur</A - > :: Double -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A HREF = "#t%3ASeq" - >Seq</A - > a = <A HREF = "#v%3ASEQ" - >SEQ</A - > {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "recfield" - ><A HREF = "#v%3AunSeq" - >unSeq</A - > :: [[a]]</TD - ></TR - ></TABLE - >}</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnoteSeq" - >noteSeq</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => a -> <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnoteSeq'" - >noteSeq'</A - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d a -> <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmixdownNumSeq" - >mixdownNumSeq</A - > :: (Num a) => <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AapplySeq" - >applySeq</A - > :: (s -> s) -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > (s -> a) -> s -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AapplySeqE" - >applySeqE</A - > :: (s -> s) -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > (Either (s -> a) (s -> s)) -> s -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AfilterSeq" - >filterSeq</A - > :: (a -> Maybe b) -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > b</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Documentation</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArunNumNotation" - ></A - ><B - >runNumNotation</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d, Num a) => <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d [a]) -> d -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AbpmToDur" - ></A - ><B - >bpmToDur</B - > :: Double -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A NAME = "t%3ASeq" - ></A - ><B - >Seq</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > A <TT - ><A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - ></TT - > represents a temporal sequence of "Moments". Each moment - can contain some events of type <TT - >a</TT - >.</TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ASEQ" - ></A - ><B - >SEQ</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "body" COLSPAN = "2" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AunSeq" - ></A - ><B - >unSeq</B - > :: [[a]]</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Arrangeable</A - > (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Musical</A - > (<A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a))</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnoteSeq" - ></A - ><B - >noteSeq</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => a -> <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creates a <TT - ><A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - ></TT - > with the length that the Reader reads. - (The length will be in any case at least 1).</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnoteSeq'" - ></A - ><B - >noteSeq'</B - > :: (<A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >IsDur</A - > d) => <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d a -> <A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >WithDur</A - > d (<A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmixdownNumSeq" - ></A - ><B - >mixdownNumSeq</B - > :: (Num a) => <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > [a] -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AapplySeq" - ></A - ><B - >applySeq</B - > :: (s -> s) -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > (s -> a) -> s -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AapplySeqE" - ></A - ><B - >applySeqE</B - > :: (s -> s) -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > (Either (s -> a) (s -> s)) -> s -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AfilterSeq" - ></A - ><B - >filterSeq</B - > :: (a -> Maybe b) -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > a -> <A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Seq</A - > b</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Signal.html
@@ -1,1218 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Signal</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Signal</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Mono and Stereo Values</A - ></DT - ><DT - ><A HREF = "#2" - > Signal datatype</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Description</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Dieses Module stellt Datentypen und Funktionen zum Umgang mit Mono- und - Stereodaten zur Verfügung. Speziell im Falle des Öffnens einer WAV-Datei - ist erst zur Laufzeit bekannt, ob es sich um eine Mono- oder Stereodatei - handelt, hier wird der Typ <TT - ><A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TT - > benötigt.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AMono" - >Mono</A - > = Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AStereo" - >Stereo</A - > = <A HREF = "#v%3A%3A%3E%3C%3A" - >(:><:)</A - > !Double !Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AleftStereo" - >leftStereo</A - > :: <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3ArightStereo" - >rightStereo</A - > :: <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AstereoToMono" - >stereoToMono</A - > :: <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmonoToStereo" - >monoToStereo</A - > :: <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Abalance" - >balance</A - > :: Double -> <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ASignal" - >Signal</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3AMono" - >Mono</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3AStereo" - >Stereo</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AreadWavSignal" - >readWavSignal</A - > :: FilePath -> IO <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenWavSignal" - >openWavSignal</A - > :: FilePath -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteWavMono" - >writeWavMono</A - > :: FilePath -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteWavStereo" - >writeWavStereo</A - > :: FilePath -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteWavSignal" - >writeWavSignal</A - > :: FilePath -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteTracks" - >writeTracks</A - > :: FilePath -> [<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsignalToMono" - >signalToMono</A - > :: <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsignalToStereo" - >signalToStereo</A - > :: <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AeitherSignal" - >eitherSignal</A - > :: ([<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> a) -> ([<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> a) -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AliftSignal" - >liftSignal</A - > :: ([<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]) -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmergeSignal" - >mergeSignal</A - > :: <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmergeSignals" - >mergeSignals</A - > :: [<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >] -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AmultSignal" - >multSignal</A - > :: <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinfiniteSignal" - >infiniteSignal</A - > :: Double -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Mono and Stereo Values</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AMono" - ></A - ><B - >Mono</B - > = Double</TD - ></TR - ><TR - ><TD CLASS = "doc" - > A mono value.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AStereo" - ></A - ><B - >Stereo</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > A stereo value with left and right part. It is an instance of class Num - and Fractional. </TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3A%3E%3C%3A" - ></A - ><B - >(:><:)</B - > !Double !Double</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Typeable <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Num <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Fractional <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Eq <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Show <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > ([<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > ([<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AleftStereo" - ></A - ><B - >leftStereo</B - > :: <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Access to the left part of a <TT - ><A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TT - > value.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ArightStereo" - ></A - ><B - >rightStereo</B - > :: <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Access to the right part of a <TT - ><A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TT - > value.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AstereoToMono" - ></A - ><B - >stereoToMono</B - > :: <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Converts a Stereo value to a Mono value (Double)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmonoToStereo" - ></A - ><B - >monoToStereo</B - > :: <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Converts a Mono value (Double) to a Stereo value</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Abalance" - ></A - ><B - >balance</B - > :: Double -> <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > The range of the Double value must be between -1 and 1. If it is below 0 - the left channel is turned down, if it is greater than 0 the right channel - is turned down. NOTE: This function should be replaced by a better one.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > Signal datatype</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ASignal" - ></A - ><B - >Signal</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > A Signal is either a list of <TT - ><A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - ></TT - > values or a list of <TT - ><A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TT - > values.</TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMono" - ></A - ><B - >Mono</B - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AStereo" - ></A - ><B - >Stereo</B - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >Typeable <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Play.html#t%3ATrackable" - >Trackable</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >))</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >))</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AreadWavSignal" - ></A - ><B - >readWavSignal</B - > :: FilePath -> IO <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Reads a <TT - ><A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TT - > from a WAV-File.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenWavSignal" - ></A - ><B - >openWavSignal</B - > :: FilePath -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Opens a <TT - ><A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TT - > from a WAV-File.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteWavMono" - ></A - ><B - >writeWavMono</B - > :: FilePath -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Writes a list of mono values to a WAV-File.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteWavStereo" - ></A - ><B - >writeWavStereo</B - > :: FilePath -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Writes a list of stereo values to a WAV-File.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteWavSignal" - ></A - ><B - >writeWavSignal</B - > :: FilePath -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Writes a <TT - ><A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TT - > to a WAV-File.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteTracks" - ></A - ><B - >writeTracks</B - > :: FilePath -> [<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsignalToMono" - ></A - ><B - >signalToMono</B - > :: <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Transfroms a signal to a list of mono values.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsignalToStereo" - ></A - ><B - >signalToStereo</B - > :: <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ><TR - ><TD CLASS = "doc" - > Transfroms a signal to a list of stereo values.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AeitherSignal" - ></A - ><B - >eitherSignal</B - > :: ([<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> a) -> ([<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> a) -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AliftSignal" - ></A - ><B - >liftSignal</B - > :: ([<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]) -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Applies the function to the input signal. If it is a stereo signal, the - function is applied to both channels seperately.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmergeSignal" - ></A - ><B - >mergeSignal</B - > :: <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > The sum of two signals</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmergeSignals" - ></A - ><B - >mergeSignals</B - > :: [<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >] -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > The sum of a set of signals. If all signals are mono, the result will be mono. - Otherwise it will be stereo.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AmultSignal" - ></A - ><B - >multSignal</B - > :: <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Multiplies two signals.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinfiniteSignal" - ></A - ><B - >infiniteSignal</B - > :: Double -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > The Double value is added to the input signal (offset). The resulting signal will be infinie - in any case. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Sound.html
@@ -1,3253 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Sound</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Sound</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Classes</A - ></DT - ><DT - ><A HREF = "#2" - > Sound Generators and Transformers</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A%3D%3D%3E" - >(==>)</A - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > b) => a -> b -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A.%3D%3E" - >(.=>)</A - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > b) => a -> b -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3ASound" - >Sound</A - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aplay" - >play</A - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AplayMono" - >playMono</A - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AplayStereo" - >playStereo</A - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A HREF = "#t%3AEffect" - >Effect</A - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aeffect" - >effect</A - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AeffectMono" - >effectMono</A - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > ([<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AeffectStereo" - >effectStereo</A - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > ([<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A%3C%2B%3E" - >(<+>)</A - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b) => a -> b -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3A%3C*%3E" - >(<*>)</A - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b) => a -> b -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AWaveForm" - >WaveForm</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3ASinus" - >Sinus</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ACosinus" - >Cosinus</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ARect" - >Rect</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ASaw" - >Saw</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ATri" - >Tri</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AplayWaveForm" - >playWaveForm</A - > :: <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - > -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AOscillator" - >Oscillator</A - > = <A HREF = "#v%3AOscillator" - >Oscillator</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - > Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AToFreq" - >ToFreq</A - > = <A HREF = "#v%3AToFreq" - >ToFreq</A - > Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AToFreqDyn" - >ToFreqDyn</A - > a = <A HREF = "#v%3AToFreqDyn" - >ToFreqDyn</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ANoise" - >Noise</A - > = <A HREF = "#v%3ANoise" - >Noise</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A HREF = "#t%3APlayWav" - >PlayWav</A - > = <A HREF = "#v%3APlayWav" - >PlayWav</A - > FilePath</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AOscWav" - >OscWav</A - > = <A HREF = "#v%3AOscWav" - >OscWav</A - > FilePath Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3APitchWav" - >PitchWav</A - > = <A HREF = "#v%3APitchWav" - >PitchWav</A - > FilePath</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AScratchWav" - >ScratchWav</A - > = <A HREF = "#v%3AScratchWav" - >ScratchWav</A - > FilePath</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AFilter" - >Filter</A - > a = <A HREF = "#v%3AFilter" - >Filter</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AFilterFFT" - >FilterFFT</A - > a = <A HREF = "#v%3AFilterFFT" - >FilterFFT</A - > Int a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ALowpass" - >Lowpass</A - > width cutoff = <A HREF = "#v%3ALowpass" - >Lowpass</A - > width cutoff</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AHighpass" - >Highpass</A - > width cutoff = <A HREF = "#v%3AHighpass" - >Highpass</A - > width cutoff</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ABandpass" - >Bandpass</A - > width slope cutoff = <A HREF = "#v%3ABandpass" - >Bandpass</A - > width slope cutoff</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AMorphfilter" - >Morphfilter</A - > cutoff = <A HREF = "#v%3AMorphfilter" - >Morphfilter</A - > <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > cutoff</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AStretchfilter" - >Stretchfilter</A - > cutoff = <A HREF = "#v%3AStretchfilter" - >Stretchfilter</A - > <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > cutoff</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AEnvelope" - >Envelope</A - > = <A HREF = "#v%3AEnvelope" - >Envelope</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvMode" - >EnvMode</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AADSR" - >ADSR</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AAmplifier" - >Amplifier</A - > volume = <A HREF = "#v%3AAmplifier" - >Amplifier</A - > volume</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AAddTo" - >AddTo</A - > summand = <A HREF = "#v%3AAddTo" - >AddTo</A - > summand</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AInfinite" - >Infinite</A - > = <A HREF = "#v%3AInfinite" - >Infinite</A - > Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ADelay" - >Delay</A - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >= <A HREF = "#v%3AAbsDelay" - >AbsDelay</A - > Int</TD - ></TR - ><TR - ><TD CLASS = "decl" - >| <A HREF = "#v%3ARelDelay" - >RelDelay</A - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AToMono" - >ToMono</A - > = <A HREF = "#v%3AToMono" - >ToMono</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AAverage" - >Average</A - > = <A HREF = "#v%3AAverage" - >Average</A - > Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ASampleAndHold" - >SampleAndHold</A - > trigger = <A HREF = "#v%3ASampleAndHold" - >SampleAndHold</A - > trigger</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3ACompressor" - >Compressor</A - > a = <A HREF = "#v%3ACompressor" - >Compressor</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3AFollow" - >Follow</A - > a = <A HREF = "#v%3AFollow" - >Follow</A - > Double a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A HREF = "#t%3APanorama" - >Panorama</A - > balance = <A HREF = "#v%3APanorama" - >Panorama</A - > balance</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Classes</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3D%3D%3E" - ></A - ><B - >(==>)</B - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > b) => a -> b -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A.%3D%3E" - ></A - ><B - >(.=>)</B - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > b) => a -> b -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3ASound" - ></A - ><B - >Sound</B - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > Minimal complete definition: <TT - ><A HREF = "Sound.Hommage.Sound.html#v%3Aplay" - >play</A - ></TT - >. </TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aplay" - ></A - ><B - >play</B - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AplayMono" - ></A - ><B - >playMono</B - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AplayStereo" - ></A - ><B - >playStereo</B - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > ()</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >]</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >]</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Track</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AInterpolate" - >Interpolate</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Sound.html#t%3APlayWav" - >PlayWav</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3ALowpass" - >Lowpass</A - > a b)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AHighpass" - >Highpass</A - > a b)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AEnvelope" - >Envelope</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > [(<A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Env</A - >, <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >EnvLength</A - >)]</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Sound.html#t%3ANoise" - >Noise</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > c) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3ABandpass" - >Bandpass</A - > a b c)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AMorphfilter" - >Morphfilter</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AStretchfilter" - >Stretchfilter</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >class</SPAN - > <A NAME = "t%3AEffect" - ></A - ><B - >Effect</B - > a <SPAN CLASS = "keyword" - >where</SPAN - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Methods</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aeffect" - ></A - ><B - >effect</B - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AeffectMono" - ></A - ><B - >effectMono</B - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > ([<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >])</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AeffectStereo" - ></A - ><B - >effectStereo</B - > :: a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > ([<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >))</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - > -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - >)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > ([<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Mono</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > ([<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >] -> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Stereo</A - >])</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AFilter" - >Filter</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AFilterFFT" - >FilterFFT</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AAmplifier" - >Amplifier</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AAddTo" - >AddTo</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AInfinite" - >Infinite</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AToFreq" - >ToFreq</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AToFreqDyn" - >ToFreqDyn</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AOscillator" - >Oscillator</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AOscWav" - >OscWav</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3APitchWav" - >PitchWav</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AScratchWav" - >ScratchWav</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3ADelay" - >Delay</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AToMono" - >ToMono</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AAverage" - >Average</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3ASampleAndHold" - >SampleAndHold</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3ACompressor" - >Compressor</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AFollow" - >Follow</A - > a)</TD - ></TR - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3APanorama" - >Panorama</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3C%2B%3E" - ></A - ><B - >(<+>)</B - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b) => a -> b -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3A%3C*%3E" - ></A - ><B - >(<*>)</B - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b) => a -> b -> <A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Play</A - > <A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > Sound Generators and Transformers</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AWaveForm" - ></A - ><B - >WaveForm</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ASinus" - ></A - ><B - >Sinus</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ACosinus" - ></A - ><B - >Cosinus</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ARect" - ></A - ><B - >Rect</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ASaw" - ></A - ><B - >Saw</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ATri" - ></A - ><B - >Tri</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Eq <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Read <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Show <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AplayWaveForm" - ></A - ><B - >playWaveForm</B - > :: <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - > -> [Double] -> [Double]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AOscillator" - ></A - ><B - >Oscillator</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AOscillator" - ></A - ><B - >Oscillator</B - > <A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >WaveForm</A - > Double</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AOscillator" - >Oscillator</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AToFreq" - ></A - ><B - >ToFreq</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > Turns pitch to frequency. </TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AToFreq" - ></A - ><B - >ToFreq</B - > Double</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AToFreq" - >ToFreq</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AToFreqDyn" - ></A - ><B - >ToFreqDyn</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AToFreqDyn" - ></A - ><B - >ToFreqDyn</B - > a</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AToFreqDyn" - >ToFreqDyn</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ANoise" - ></A - ><B - >Noise</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ANoise" - ></A - ><B - >Noise</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Sound.html#t%3ANoise" - >Noise</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >newtype</SPAN - > <A NAME = "t%3APlayWav" - ></A - ><B - >PlayWav</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3APlayWav" - ></A - ><B - >PlayWav</B - > FilePath</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Sound.html#t%3APlayWav" - >PlayWav</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AOscWav" - ></A - ><B - >OscWav</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AOscWav" - ></A - ><B - >OscWav</B - > FilePath Double</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AOscWav" - >OscWav</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3APitchWav" - ></A - ><B - >PitchWav</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3APitchWav" - ></A - ><B - >PitchWav</B - > FilePath</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3APitchWav" - >PitchWav</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AScratchWav" - ></A - ><B - >ScratchWav</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AScratchWav" - ></A - ><B - >ScratchWav</B - > FilePath</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AScratchWav" - >ScratchWav</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AFilter" - ></A - ><B - >Filter</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AFilter" - ></A - ><B - >Filter</B - > a</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AFilter" - >Filter</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AFilterFFT" - ></A - ><B - >FilterFFT</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AFilterFFT" - ></A - ><B - >FilterFFT</B - > Int a</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AFilterFFT" - >FilterFFT</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ALowpass" - ></A - ><B - >Lowpass</B - > width cutoff</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > Width and cutoff.</TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ALowpass" - ></A - ><B - >Lowpass</B - > width cutoff</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3ALowpass" - >Lowpass</A - > a b)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AHighpass" - ></A - ><B - >Highpass</B - > width cutoff</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > Width and cutoff.</TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AHighpass" - ></A - ><B - >Highpass</B - > width cutoff</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AHighpass" - >Highpass</A - > a b)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ABandpass" - ></A - ><B - >Bandpass</B - > width slope cutoff</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ABandpass" - ></A - ><B - >Bandpass</B - > width slope cutoff</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > b, <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > c) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3ABandpass" - >Bandpass</A - > a b c)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AMorphfilter" - ></A - ><B - >Morphfilter</B - > cutoff</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AMorphfilter" - ></A - ><B - >Morphfilter</B - > <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > cutoff</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AMorphfilter" - >Morphfilter</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AStretchfilter" - ></A - ><B - >Stretchfilter</B - > cutoff</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AStretchfilter" - ></A - ><B - >Stretchfilter</B - > <A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >FilterSpec</A - > cutoff</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AStretchfilter" - >Stretchfilter</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AEnvelope" - ></A - ><B - >Envelope</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AEnvelope" - ></A - ><B - >Envelope</B - > <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvMode" - >EnvMode</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >EnvShape</A - > <A HREF = "Sound.Hommage.Envelope.html#t%3AADSR" - >ADSR</A - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AEnvelope" - >Envelope</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Eq <A HREF = "Sound.Hommage.Sound.html#t%3AEnvelope" - >Envelope</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Read <A HREF = "Sound.Hommage.Sound.html#t%3AEnvelope" - >Envelope</A - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >Show <A HREF = "Sound.Hommage.Sound.html#t%3AEnvelope" - >Envelope</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AAmplifier" - ></A - ><B - >Amplifier</B - > volume</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AAmplifier" - ></A - ><B - >Amplifier</B - > volume</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AAmplifier" - >Amplifier</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AAddTo" - ></A - ><B - >AddTo</B - > summand</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AAddTo" - ></A - ><B - >AddTo</B - > summand</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AAddTo" - >AddTo</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AInfinite" - ></A - ><B - >Infinite</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "ndoc" - > The result will be infinite, with given offset.</TD - ></TR - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AInfinite" - ></A - ><B - >Infinite</B - > Double</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AInfinite" - >Infinite</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ADelay" - ></A - ><B - >Delay</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AAbsDelay" - ></A - ><B - >AbsDelay</B - > Int</TD - ><TD CLASS = "rdoc" - > Absolute Delay</TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ARelDelay" - ></A - ><B - >RelDelay</B - > <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - ></TD - ><TD CLASS = "rdoc" - > Relative Delay with respect to the current duration</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3ADelay" - >Delay</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AToMono" - ></A - ><B - >ToMono</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AToMono" - ></A - ><B - >ToMono</B - ></TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AToMono" - >ToMono</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AAverage" - ></A - ><B - >Average</B - > </TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AAverage" - ></A - ><B - >Average</B - > Int</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > <A HREF = "Sound.Hommage.Sound.html#t%3AAverage" - >Average</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ASampleAndHold" - ></A - ><B - >SampleAndHold</B - > trigger</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ASampleAndHold" - ></A - ><B - >SampleAndHold</B - > trigger</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3ASampleAndHold" - >SampleAndHold</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3ACompressor" - ></A - ><B - >Compressor</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3ACompressor" - ></A - ><B - >Compressor</B - > a</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3ACompressor" - >Compressor</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3AFollow" - ></A - ><B - >Follow</B - > a</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AFollow" - ></A - ><B - >Follow</B - > Double a</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3AFollow" - >Follow</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >data</SPAN - > <A NAME = "t%3APanorama" - ></A - ><B - >Panorama</B - > balance</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - >Constructors</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3APanorama" - ></A - ><B - >Panorama</B - > balance</TD - ><TD CLASS = "rdoc" - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section4" - >Instances</TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >(<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Effect</A - > (<A HREF = "Sound.Hommage.Sound.html#t%3APanorama" - >Panorama</A - > a)</TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.Tools.html
@@ -1,247 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.Tools</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.Tools</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtestSound" - >testSound</A - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => Maybe String -> String -> Bool -> Double -> a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AtestSong" - >testSong</A - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => Maybe String -> String -> Bool -> Double -> <A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Song</A - > a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AstepSequencer" - >stepSequencer</A - > :: (Eq c) => [(c, a)] -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> [c] -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Arhythmize" - >rhythmize</A - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> [Int] -> [Maybe a] -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Apitchlist" - >pitchlist</A - > :: (Num a, Ord a) => Bool -> a -> [a]</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Documentation</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtestSound" - ></A - ><B - >testSound</B - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => Maybe String -> String -> Bool -> Double -> a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "doc" - ><P - > Usage: <TT - > testSound mb_wavplayer outputfileprefix stereo? bpm sound </TT - ></P - ><P - > Example: <TT - > testSound (Just "c:/Programme/coolpro/coolpro.exe") "out_" True 110.0 $ Interpolate Linear (0,1) </TT - ></P - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AtestSong" - ></A - ><B - >testSong</B - > :: (<A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound</A - > a) => Maybe String -> String -> Bool -> Double -> <A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Song</A - > a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AstepSequencer" - ></A - ><B - >stepSequencer</B - > :: (Eq c) => [(c, a)] -> <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> [c] -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Arhythmize" - ></A - ><B - >rhythmize</B - > :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Dur</A - > -> [Int] -> [Maybe a] -> <A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Notation</A - > a</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Apitchlist" - ></A - ><B - >pitchlist</B - > :: (Num a, Ord a) => Bool -> a -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.WavFile.html
@@ -1,1226 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage.WavFile</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.Hommage.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage.WavFile</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Binary Files</A - ></DT - ><DT - ><A HREF = "#2" - > WAV-Files</A - ></DT - ><DT - ><A HREF = "#3" - > Cast between Int16 and Double representation of WAV-data</A - ></DT - ><DT - ><A HREF = "#4" - > Low-Level implemetation </A - ></DT - ><DD - ><DL - ><DT - ><A HREF = "#5" - > Arrays and Files</A - ></DT - ><DT - ><A HREF = "#6" - > Single Stream</A - ></DT - ><DT - ><A HREF = "#7" - > Buffered Stream</A - ></DT - ><DT - ><A HREF = "#8" - > Header Stuff and others</A - ></DT - ></DL - ></DD - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteDataFile" - >writeDataFile</A - > :: (Storable a) => FilePath -> [a] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AreadDataFile" - >readDataFile</A - > :: (Storable a) => FilePath -> IO [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenDataFile" - >openDataFile</A - > :: (Storable a) => FilePath -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteWavFile" - >writeWavFile</A - > :: FilePath -> Either [Int16] [(Int16, Int16)] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteWavFileMono" - >writeWavFileMono</A - > :: FilePath -> [Int16] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteWavFileStereo" - >writeWavFileStereo</A - > :: FilePath -> [(Int16, Int16)] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AreadWavFile" - >readWavFile</A - > :: FilePath -> IO (Either [Int16] [(Int16, Int16)])</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenWavFile" - >openWavFile</A - > :: FilePath -> Either [Int16] [(Int16, Int16)]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteWavFiles" - >writeWavFiles</A - > :: FilePath -> String -> [Either [Int16] [(Int16, Int16)]] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwavInt16ToDouble" - >wavInt16ToDouble</A - > :: Int16 -> Double</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwavDoubleToInt16" - >wavDoubleToInt16</A - > :: Double -> Int16</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AreadArrayFromFile" - >readArrayFromFile</A - > :: (Storable a) => <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >HeaderSize</A - > -> FilePath -> IO (StorableArray Int a, Int)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteArrayToFileWithHeader" - >writeArrayToFileWithHeader</A - > :: (MArray StorableArray a IO, Storable a) => <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - > -> FilePath -> StorableArray Int a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwriteArrayToFile" - >writeArrayToFile</A - > :: (MArray StorableArray a IO, Storable a) => FilePath -> StorableArray Int a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenSingleInputFile" - >openSingleInputFile</A - > :: (Storable a) => Int -> <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >HeaderSize</A - > -> FilePath -> IO (IO (), IO (Maybe a), Int)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenSingleOutputFile" - >openSingleOutputFile</A - > :: (Storable a) => Int -> FilePath -> IO (IO (), a -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenSingleInputWavFile" - >openSingleInputWavFile</A - > :: Int -> FilePath -> IO (IO (), Either (IO (Maybe Int16)) (IO (Maybe (Int16, Int16))), Int)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenSingleOutputWavFileMono" - >openSingleOutputWavFileMono</A - > :: Int -> FilePath -> IO (IO (), Int16 -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenSingleOutputWavFileStereo" - >openSingleOutputWavFileStereo</A - > :: Int -> FilePath -> IO (IO (), (Int16, Int16) -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenInputFile" - >openInputFile</A - > :: (Storable a) => <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >HeaderSize</A - > -> FilePath -> Int -> IO (IO (), StorableArray Int a -> Int -> IO Int, Int)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenOutputFile" - >openOutputFile</A - > :: (Storable a) => FilePath -> IO (IO (), StorableArray Int a -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenOutputFileWithHeader" - >openOutputFileWithHeader</A - > :: (Storable a) => <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - > -> FilePath -> IO (IO (), StorableArray Int a -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenInputWavFile" - >openInputWavFile</A - > :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO (), Int, Bool)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenOutputWavFileMono" - >openOutputWavFileMono</A - > :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AopenOutputWavFileStereo" - >openOutputWavFileStereo</A - > :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AHeaderFun" - >HeaderFun</A - > = (Handle -> IO (), Handle -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A HREF = "#t%3AHeaderSize" - >HeaderSize</A - > = Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AnoHeader" - >noHeader</A - > :: <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwavHeaderFunMono" - >wavHeaderFunMono</A - > :: <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwavHeaderFunStereo" - >wavHeaderFunStereo</A - > :: <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AwavHeaderSize" - >wavHeaderSize</A - > :: <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >HeaderSize</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinitWriteWavHeaderMono" - >initWriteWavHeaderMono</A - > :: Handle -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinitWriteWavHeaderStereo" - >initWriteWavHeaderStereo</A - > :: Handle -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinitReadWavHeader" - >initReadWavHeader</A - > :: Handle -> IO (Maybe (Bool, Int, Int, Int))</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AcloseWriteWavHeader" - >closeWriteWavHeader</A - > :: Handle -> Int -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Aencode" - >encode</A - > :: Int -> String</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3Adecode" - >decode</A - > :: String -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AencodeWavLengt" - >encodeWavLengt</A - > :: Int -> (String, String)</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinitWavHeaderMono" - >initWavHeaderMono</A - > :: [Char]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinitWavHeaderStereo" - >initWavHeaderStereo</A - > :: [Char]</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AsizeOfArrayElements" - >sizeOfArrayElements</A - > :: (Storable a) => StorableArray Int a -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinferSizeOfArrayElements" - >inferSizeOfArrayElements</A - > :: (Storable a) => (StorableArray Int a -> IO Int) -> StorableArray Int a -> Int</TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A HREF = "#v%3AinferSizeOfArrayElements'" - >inferSizeOfArrayElements'</A - > :: (Storable a) => (StorableArray Int a -> Int -> IO ()) -> StorableArray Int a -> Int</TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Binary Files</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteDataFile" - ></A - ><B - >writeDataFile</B - > :: (Storable a) => FilePath -> [a] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AreadDataFile" - ></A - ><B - >readDataFile</B - > :: (Storable a) => FilePath -> IO [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenDataFile" - ></A - ><B - >openDataFile</B - > :: (Storable a) => FilePath -> [a]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > WAV-Files</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteWavFile" - ></A - ><B - >writeWavFile</B - > :: FilePath -> Either [Int16] [(Int16, Int16)] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteWavFileMono" - ></A - ><B - >writeWavFileMono</B - > :: FilePath -> [Int16] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteWavFileStereo" - ></A - ><B - >writeWavFileStereo</B - > :: FilePath -> [(Int16, Int16)] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AreadWavFile" - ></A - ><B - >readWavFile</B - > :: FilePath -> IO (Either [Int16] [(Int16, Int16)])</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenWavFile" - ></A - ><B - >openWavFile</B - > :: FilePath -> Either [Int16] [(Int16, Int16)]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteWavFiles" - ></A - ><B - >writeWavFiles</B - > :: FilePath -> String -> [Either [Int16] [(Int16, Int16)]] -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > Cast between Int16 and Double representation of WAV-data</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwavInt16ToDouble" - ></A - ><B - >wavInt16ToDouble</B - > :: Int16 -> Double</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwavDoubleToInt16" - ></A - ><B - >wavDoubleToInt16</B - > :: Double -> Int16</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Low-Level implemetation </A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section2" - ><A NAME = "5" - > Arrays and Files</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AreadArrayFromFile" - ></A - ><B - >readArrayFromFile</B - > :: (Storable a) => <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >HeaderSize</A - > -> FilePath -> IO (StorableArray Int a, Int)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteArrayToFileWithHeader" - ></A - ><B - >writeArrayToFileWithHeader</B - > :: (MArray StorableArray a IO, Storable a) => <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - > -> FilePath -> StorableArray Int a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwriteArrayToFile" - ></A - ><B - >writeArrayToFile</B - > :: (MArray StorableArray a IO, Storable a) => FilePath -> StorableArray Int a -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section2" - ><A NAME = "6" - > Single Stream</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenSingleInputFile" - ></A - ><B - >openSingleInputFile</B - > :: (Storable a) => Int -> <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >HeaderSize</A - > -> FilePath -> IO (IO (), IO (Maybe a), Int)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenSingleOutputFile" - ></A - ><B - >openSingleOutputFile</B - > :: (Storable a) => Int -> FilePath -> IO (IO (), a -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenSingleInputWavFile" - ></A - ><B - >openSingleInputWavFile</B - > :: Int -> FilePath -> IO (IO (), Either (IO (Maybe Int16)) (IO (Maybe (Int16, Int16))), Int)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenSingleOutputWavFileMono" - ></A - ><B - >openSingleOutputWavFileMono</B - > :: Int -> FilePath -> IO (IO (), Int16 -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenSingleOutputWavFileStereo" - ></A - ><B - >openSingleOutputWavFileStereo</B - > :: Int -> FilePath -> IO (IO (), (Int16, Int16) -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section2" - ><A NAME = "7" - > Buffered Stream</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenInputFile" - ></A - ><B - >openInputFile</B - > :: (Storable a) => <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >HeaderSize</A - > -> FilePath -> Int -> IO (IO (), StorableArray Int a -> Int -> IO Int, Int)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenOutputFile" - ></A - ><B - >openOutputFile</B - > :: (Storable a) => FilePath -> IO (IO (), StorableArray Int a -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenOutputFileWithHeader" - ></A - ><B - >openOutputFileWithHeader</B - > :: (Storable a) => <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - > -> FilePath -> IO (IO (), StorableArray Int a -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenInputWavFile" - ></A - ><B - >openInputWavFile</B - > :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO (), Int, Bool)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenOutputWavFileMono" - ></A - ><B - >openOutputWavFileMono</B - > :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AopenOutputWavFileStereo" - ></A - ><B - >openOutputWavFileStereo</B - > :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section2" - ><A NAME = "8" - > Header Stuff and others</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AHeaderFun" - ></A - ><B - >HeaderFun</B - > = (Handle -> IO (), Handle -> Int -> IO ())</TD - ></TR - ><TR - ><TD CLASS = "doc" - > The first Action is applied after opening the file. Then the data - bytes are written. The second Action is then called with the number of - bytes of the data. It must close the handle. </TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><SPAN CLASS = "keyword" - >type</SPAN - > <A NAME = "t%3AHeaderSize" - ></A - ><B - >HeaderSize</B - > = Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AnoHeader" - ></A - ><B - >noHeader</B - > :: <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwavHeaderFunMono" - ></A - ><B - >wavHeaderFunMono</B - > :: <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > The first Action writes the Header of the wav-file. - Then the wav-data is written. The second action moves - the Handle to the positions where the lenght of the wav-file - are encoded (in the header) and writes the right number, which - is unknown before all data is written. - Afterwards it closes the file.</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwavHeaderFunStereo" - ></A - ><B - >wavHeaderFunStereo</B - > :: <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >HeaderFun</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AwavHeaderSize" - ></A - ><B - >wavHeaderSize</B - > :: <A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >HeaderSize</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinitWriteWavHeaderMono" - ></A - ><B - >initWriteWavHeaderMono</B - > :: Handle -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinitWriteWavHeaderStereo" - ></A - ><B - >initWriteWavHeaderStereo</B - > :: Handle -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinitReadWavHeader" - ></A - ><B - >initReadWavHeader</B - > :: Handle -> IO (Maybe (Bool, Int, Int, Int))</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AcloseWriteWavHeader" - ></A - ><B - >closeWriteWavHeader</B - > :: Handle -> Int -> IO ()</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Aencode" - ></A - ><B - >encode</B - > :: Int -> String</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3Adecode" - ></A - ><B - >decode</B - > :: String -> Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AencodeWavLengt" - ></A - ><B - >encodeWavLengt</B - > :: Int -> (String, String)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinitWavHeaderMono" - ></A - ><B - >initWavHeaderMono</B - > :: [Char]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinitWavHeaderStereo" - ></A - ><B - >initWavHeaderStereo</B - > :: [Char]</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AsizeOfArrayElements" - ></A - ><B - >sizeOfArrayElements</B - > :: (Storable a) => StorableArray Int a -> Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinferSizeOfArrayElements" - ></A - ><B - >inferSizeOfArrayElements</B - > :: (Storable a) => (StorableArray Int a -> IO Int) -> StorableArray Int a -> Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - ><A NAME = "v%3AinferSizeOfArrayElements'" - ></A - ><B - >inferSizeOfArrayElements'</B - > :: (Storable a) => (StorableArray Int a -> Int -> IO ()) -> StorableArray Int a -> Int</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/Sound.Hommage.html
@@ -1,643 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - >Sound.Hommage</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "Sound.html" - >Parent</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "modulebar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><FONT SIZE = "6" - >Sound.Hommage</FONT - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "section4" - ><B - >Contents</B - ></TD - ></TR - ><TR - ><TD - ><DL - ><DT - ><A HREF = "#1" - > Basic sound stuff</A - ></DT - ><DT - ><A HREF = "#2" - > Musical Notation and Sythesizers</A - ></DT - ><DT - ><A HREF = "#3" - > More usable stuff</A - ></DT - ><DT - ><A HREF = "#4" - > Internals</A - ></DT - ></DL - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Description</TD - ></TR - ><TR - ><TD CLASS = "doc" - ><P - > HOMMAGE - Haskell Offline Music Manipulation And Generation EDSL</P - ><P - > Daniel van den Eijkel <A HREF = "mailto:dvde@gmx.net" - >mailto:dvde@gmx.net</A - ></P - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Synopsis</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "body" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Signal.html" - >Sound.Hommage.Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Osc.html" - >Sound.Hommage.Osc</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Envelope.html" - >Sound.Hommage.Envelope</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Filter.html" - >Sound.Hommage.Filter</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Notation.html" - >Sound.Hommage.Notation</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Play.html" - >Sound.Hommage.Play</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Sound.html" - >Sound.Hommage.Sound</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Sample.html" - >Sound.Hommage.Sample</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Midi.html" - >Sound.Hommage.Midi</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Parameter.html" - >Sound.Hommage.Parameter</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.FFT.html" - >Sound.Hommage.FFT</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Rand.html" - >Sound.Hommage.Rand</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Tools.html" - >Sound.Hommage.Tools</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.WavFile.html" - >Sound.Hommage.WavFile</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.DFTFilter.html" - >Sound.Hommage.DFTFilter</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Seq.html" - >Sound.Hommage.Seq</A - ></TD - ></TR - ><TR - ><TD CLASS = "s8" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Misc.html" - >Sound.Hommage.Misc</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "1" - > Basic sound stuff</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Mono and stereo signals:</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Signal.html" - >Sound.Hommage.Signal</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Oscillators</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Osc.html" - >Sound.Hommage.Osc</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Envelopes</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Envelope.html" - >Sound.Hommage.Envelope</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Filter</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Filter.html" - >Sound.Hommage.Filter</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "2" - > Musical Notation and Sythesizers</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > A datatype for representing musical structures (idea stolen from Haskore)</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Notation.html" - >Sound.Hommage.Notation</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > The Play Monad</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Play.html" - >Sound.Hommage.Play</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > The Sound and Effect classes</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Sound.html" - >Sound.Hommage.Sound</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "3" - > More usable stuff</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > A datatype for buffered audio data</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Sample.html" - >Sound.Hommage.Sample</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Creating MIDI files</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Midi.html" - >Sound.Hommage.Midi</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Experimental: A kind of record datatype</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Parameter.html" - >Sound.Hommage.Parameter</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Pure Haskell FFT Filter</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.FFT.html" - >Sound.Hommage.FFT</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Random Notation</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Rand.html" - >Sound.Hommage.Rand</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Tools.html" - >Sound.Hommage.Tools</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - ><A NAME = "4" - > Internals</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > File Input/Output for binary files and WAV files:</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.WavFile.html" - >Sound.Hommage.WavFile</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Basic module for DFT transforming (depends on a C-code file):</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.DFTFilter.html" - >Sound.Hommage.DFTFilter</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Audio rendering</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Seq.html" - >Sound.Hommage.Seq</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "doc" - > Miscelaneous convenient functions, collected in an independent module:</TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "decl" - >module <A HREF = "Sound.Hommage.Misc.html" - >Sound.Hommage.Misc</A - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tA.html
@@ -1,105 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (A)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >ADSR</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#t%3AADSR" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >AddTo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AAddTo" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Amplifier</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AAmplifier" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Arrangeable</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#t%3AArrangeable" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >Average</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AAverage" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tB.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (B)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Bandpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3ABandpass" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tC.html
@@ -1,129 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (C)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Chan</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3AChan" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >CheckField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3ACheckField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >CoeffArr</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffArr" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >CoeffMap</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#t%3ACoeffMap" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Coeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#t%3ACoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >Compressor</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3ACompressor" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Constant</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#t%3AConstant" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tD.html
@@ -1,93 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (D)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Delay</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3ADelay" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Delta</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3ADelta" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >Dur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#t%3ADur" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >Duration</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#t%3ADuration" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tE.html
@@ -1,129 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (E)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Effect</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AEffect" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Env</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnv" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >EnvLength</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnvLength" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >EnvMode</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnvMode" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >EnvShape</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#t%3AEnvShape" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >Envelope</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AEnvelope" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Environment</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#t%3AEnvironment" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tF.html
@@ -1,105 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (F)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Field</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3AField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Filter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AFilter" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >FilterFFT</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AFilterFFT" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >FilterSpec</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#t%3AFilterSpec" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Follow</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AFollow" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tG.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (G)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Group</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3AGroup" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tH.html
@@ -1,81 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (H)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >HeaderFun</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderFun" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >HeaderSize</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#t%3AHeaderSize" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >Highpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AHighpass" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tI.html
@@ -1,93 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (I)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Infinite</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AInfinite" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Interpolate</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#t%3AInterpolate" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >IsDur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#t%3AIsDur" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >IsEnv</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#t%3AIsEnv" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tL.html
@@ -1,69 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (L)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >LM</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3ALM" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Lowpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3ALowpass" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tM.html
@@ -1,165 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (M)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >MidiEvent</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiEvent" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiFile" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiMusic</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiMusic" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiNote</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiNote" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiTrack</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiTrack" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiValue</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3AMidiValue" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >Mixable</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#t%3AMixable" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >Mono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#t%3AMono" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >Morphfilter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AMorphfilter" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Musical</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#t%3AMusical" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tN.html
@@ -1,81 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (N)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >NilM</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3ANilM" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Noise</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3ANoise" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Notation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#t%3ANotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tO.html
@@ -1,69 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (O)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >OscWav</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AOscWav" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Oscillator</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AOscillator" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tP.html
@@ -1,117 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (P)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Panorama</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3APanorama" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >PitchWav</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3APitchWav" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Play</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#t%3APlay" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >PlayWav</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3APlayWav" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >PushFields</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3APushFields" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >PushGroups</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3APushGroups" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tR.html
@@ -1,69 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (R)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >R</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#t%3AR" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >RM</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#t%3ARM" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tS.html
@@ -1,165 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (S)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Sample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#t%3ASample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >SampleAndHold</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3ASampleAndHold" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >ScratchWav</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AScratchWav" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Seq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#t%3ASeq" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >Signal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#t%3ASignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >Song</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#t%3ASong" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >Sound</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3ASound" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Stereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#t%3AStereo" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >Stretchable</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >Stretchfilter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AStretchfilter" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tT.html
@@ -1,141 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (T)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Ticks</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#t%3ATicks" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >ToFields</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3AToFields" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >ToFreq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AToFreq" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >ToFreqDyn</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AToFreqDyn" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >ToGroups</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3AToGroups" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >ToMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AToMono" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Track</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#t%3ATrack" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >Trackable</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#t%3ATrackable" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tU.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (U)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >UpdateField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#t%3AUpdateField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-tW.html
@@ -1,69 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Type/ClassIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index (W)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >WaveForm</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#t%3AWaveForm" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >WithDur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#t%3AWithDur" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-v45.html
@@ -1,69 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (-)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >-=-</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3A-%3D-" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >->-</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3A-%3E-" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-v46.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (.)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >.=></TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3A.%3D%3E" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-v58.html
@@ -1,129 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (:)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >:$</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3A%3A%24" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >:+:</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3A%3A%2B%3A" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >:=</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3A%3A%3D" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >:=:</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3A%3A%3D%3A" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >:><:</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3A%3A%3E%3C%3A" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >:>></TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3A%3A%3E%3E" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >:?</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3A%3A%3F" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-v60.html
@@ -1,93 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (<)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - ><*></TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3A%3C*%3E" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - ><+></TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3A%3C%2B%3E" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - ><></TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3A%3C%3E" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - ><?></TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3A%3C%3F%3E" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-v61.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (=)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >==></TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3A%3D%3D%3E" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-v62.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (>)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >><</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3A%3E%3C" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vA.html
@@ -1,321 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (A)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Abs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AAbs" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >AbsDelay</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AAbsDelay" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Abs_</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AAbs_" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >AddTo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AAddTo" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Amplifier</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AAmplifier" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >And</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AAnd" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Average</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AAverage" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >absDur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AabsDur" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >absoluteDuration</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AabsoluteDuration" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >adjustFrequency</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3AadjustFrequency" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >analyseDFT</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AanalyseDFT" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >analyseSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AanalyseSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >appendMidiMusic</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AappendMidiMusic" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >appendmaps</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Aappendmaps" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >appendmaps'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Aappendmaps'" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >appendpair</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Aappendpair" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >applyField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AapplyField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >applySeq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3AapplySeq" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >applySeqE</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3AapplySeqE" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >arrayCoeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AarrayCoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >arraySample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AarraySample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >average</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Aaverage" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >average512</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Aaverage512" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vB.html
@@ -1,153 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (B)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Bandpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ABandpass" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >balance</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3Abalance" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >bandp0FS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Abandp0FS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >bandp1FS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Abandp1FS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >bandpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Abandpass" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >bandpassFS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3AbandpassFS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >bpmToDur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3AbpmToDur" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >butterfly</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Abutterfly" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >butterfly'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Abutterfly'" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vC.html
@@ -1,189 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (C)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Compressor</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ACompressor" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Constant</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AConstant" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >CosLike</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3ACosLike" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >Cosinus</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ACosinus" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >calculateEnvLengths</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AcalculateEnvLengths" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >checkField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AcheckField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >chord</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Achord" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >closeWriteWavHeader</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AcloseWriteWavHeader" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >coeffmap</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3Acoeffmap" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >compress</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Acompress" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >cosinus</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Acosinus" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >crossfade</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Acrossfade" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vD.html
@@ -1,177 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (D)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >DURATION</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3ADURATION" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >decode</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3Adecode" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >dftanalyse</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3Adftanalyse" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >dftfilter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3Adftfilter" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >dftfilterBy</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AdftfilterBy" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >dftfilterBy'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AdftfilterBy'" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >dftsynthese</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3Adftsynthese" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >dropNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AdropNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >durFrom</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AdurFrom" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >durUpdate</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AdurUpdate" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >durationNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AdurationNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vE.html
@@ -1,213 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (E)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Envelope</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AEnvelope" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Environment</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AEnvironment" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >effect</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3Aeffect" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >effectMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AeffectMono" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >effectStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AeffectStereo" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >eitherSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AeitherSignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >emptyEnvironment</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AemptyEnvironment" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >encode</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3Aencode" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >encodeDelta</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AencodeDelta" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >encodeEvent</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AencodeEvent" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >encodeMidiDeltaEvent</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AencodeMidiDeltaEvent" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >encodeMidiFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AencodeMidiFile" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >encodeMidiTrack</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AencodeMidiTrack" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >encodeWavLengt</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AencodeWavLengt" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vF.html
@@ -1,453 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (F)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Field</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Filter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AFilter" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >FilterFFT</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AFilterFFT" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >FitADR</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AFitADR" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >FitS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AFitS" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >Flex</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AFlex" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >Follow</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AFollow" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >fadeinoutSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AfadeinoutSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >ffreq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Affreq" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >ffreqi</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Affreqi" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >fft</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afft" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fft'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afft'" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fft_level</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afft_level" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fft_level'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afft_level'" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fft_merge</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afft_merge" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fft_merge'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afft_merge'" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fftc</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afftc" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fftc'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afftc'" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fftco</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afftco" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fftco'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afftco'" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >fftt</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Afftt" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >ffttv</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Affttv" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >filterCoeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AfilterCoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >filterNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AfilterNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >filterNotation'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AfilterNotation'" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >filterSeq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3AfilterSeq" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >filterSpecToList</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3AfilterSpecToList" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >filterSpecsToLists</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3AfilterSpecsToLists" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >foldlSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AfoldlSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >foldr_</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Afoldr_" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >follow</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Afollow" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >for</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Afor" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >for'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Afor'" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >fstField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AfstField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vG.html
@@ -1,81 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (G)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Group</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AGroup" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >getDur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AgetDur" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >getField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AgetField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vH.html
@@ -1,129 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (H)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Highpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AHighpass" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >HoldS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AHoldS" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >head_opt</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Ahead_opt" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >highp0FS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Ahighp0FS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >highp1FS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Ahighp1FS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >highpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Ahighpass" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >highpassFS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3AhighpassFS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vI.html
@@ -1,345 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (I)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >If</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AIf" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Infinite</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AInfinite" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Interpolate</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AInterpolate" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >i</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Ai" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >inList</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AinList" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >inList'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AinList'" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >inList''</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AinList''" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >inListE</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AinListE" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >inListE'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AinListE'" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >inListE''</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AinListE''" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >inferSizeOfArrayElements</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AinferSizeOfArrayElements" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >inferSizeOfArrayElements'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AinferSizeOfArrayElements'" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >infiniteSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AinfiniteSignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >initDuration</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AinitDuration" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >initReadWavHeader</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AinitReadWavHeader" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >initWavHeaderMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AinitWavHeaderMono" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >initWavHeaderStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AinitWavHeaderStereo" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >initWriteWavHeaderMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AinitWriteWavHeaderMono" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >initWriteWavHeaderStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AinitWriteWavHeaderStereo" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >insertEnvironment</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AinsertEnvironment" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >interpolArray</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AinterpolArray" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >interpolFilterLists</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3AinterpolFilterLists" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >interpolate</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3Ainterpolate" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >interpolate_cos</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3Ainterpolate_cos" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >isGroup</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AisGroup" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vJ.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (J)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >joinNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AjoinNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vK.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (K)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >kurveDFT</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AkurveDFT" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vL.html
@@ -1,201 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (L)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Linear</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3ALinear" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >Lowpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ALowpass" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >lastByte</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AlastByte" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >leftGroup</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AleftGroup" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >leftStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AleftStereo" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >liftSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AliftSignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >line</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Aline" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >line'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Aline'" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >lookupEnvironment</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AlookupEnvironment" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >lowp0FS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Alowp0FS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >lowp1FS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Alowp1FS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >lowpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Alowpass" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >lowpassFS</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3AlowpassFS" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vM.html
@@ -1,621 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (M)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >MidiAsync</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiAsync" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiControl</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiControl" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiCtrl</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiCtrl" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiEndOfTrack</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiEndOfTrack" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiKeyAfter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiKeyAfter" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiNote</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiNote" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiNoteOff</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiNoteOff" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiNoteOn</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiNoteOn" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiSingle</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiSingle" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >MidiSync</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AMidiSync" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >Mono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AMono" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >Morphfilter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AMorphfilter" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >map2</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Amap2" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >mapNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AmapNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >mapSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AmapSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >map_</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Amap_" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >merge</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Amerge" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >mergeMidiMusic</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AmergeMidiMusic" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >mergeSet</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AmergeSet" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >mergeSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AmergeSignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >mergeSignals</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AmergeSignals" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >midi</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Amidi" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >midi'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Amidi'" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >midiHeaderAsync</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AmidiHeaderAsync" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >midiHeaderSingle</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AmidiHeaderSingle" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >midiHeaderSync</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AmidiHeaderSync" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >midiSyncFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AmidiSyncFile" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >mix</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3Amix" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >mix'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3Amix'" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >mix_overlap</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Amix_overlap" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >mixdown</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3Amixdown" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >mixdownNumSeq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3AmixdownNumSeq" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkAnalyse</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AmkAnalyse" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkCoeffMap</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AmkCoeffMap" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkFilterBuffered</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AmkFilterBuffered" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkGroup</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AmkGroup" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkLoopArray</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AmkLoopArray" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkPitchSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AmkPitchSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkPlayArray</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AmkPlayArray" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkPlayCoeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AmkPlayCoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkPlaySample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AmkPlaySample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkR</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3AmkR" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkScratchSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AmkScratchSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkSynthese</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AmkSynthese" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >mkTriggerSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AmkTriggerSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >monoToStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AmonoToStereo" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >morphpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Amorphpass" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >multSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AmultSignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vN.html
@@ -1,261 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (N)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >NilM</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3ANilM" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >Noise</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ANoise" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Note</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3ANote" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >newFilePath</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AnewFilePath" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >newSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AnewSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >newSampleFromList</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AnewSampleFromList" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >nextByte</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AnextByte" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >nextEnvironment</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AnextEnvironment" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >noHeader</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AnoHeader" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >normaliseSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AnormaliseSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >notation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3Anotation" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >notationMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AnotationMono" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >notationStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AnotationStereo" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >note</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Anote" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >noteMidiMusic</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AnoteMidiMusic" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >noteSeq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3AnoteSeq" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >noteSeq'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3AnoteSeq'" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >noteToFrequency</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3AnoteToFrequency" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vO.html
@@ -1,285 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (O)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >Or</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AOr" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >OscWav</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AOscWav" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Oscillator</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AOscillator" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >openDataFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenDataFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openInputFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenInputFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openInputWavFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenInputWavFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openOutputFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenOutputFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openOutputFileWithHeader</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenOutputFileWithHeader" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openOutputWavFileMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenOutputWavFileMono" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openOutputWavFileStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenOutputWavFileStereo" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openSingleInputFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenSingleInputFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openSingleInputWavFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenSingleInputWavFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openSingleOutputFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenSingleOutputFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openSingleOutputWavFileMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenSingleOutputWavFileMono" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openSingleOutputWavFileStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenSingleOutputWavFileStereo" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openWavFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AopenWavFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >openWavSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AopenWavSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >openWavSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AopenWavSignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >osc</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Aosc" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >overlap_curve</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Aoverlap_curve" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vP.html
@@ -1,285 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (P)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >PLAY</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3APLAY" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >Panorama</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3APanorama" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >PitchWav</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3APitchWav" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >PlayWav</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3APlayWav" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >parallel</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Aparallel" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >pitchSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3ApitchSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >pitchWavSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3ApitchWavSignal" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >pitchlist</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Tools.html#v%3Apitchlist" - >Sound.Hommage.Tools</A - ></B - ></TD - ></TR - ><TR - ><TD - >play</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3Aplay" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >playADSR</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AplayADSR" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >playCoeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AplayCoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >playMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AplayMono" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >playSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AplaySample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >playStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AplayStereo" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >playTrack</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AplayTrack" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >playWaveForm</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AplayWaveForm" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >positionNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3ApositionNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >proportional</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Aproportional" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >pushFields</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3ApushFields" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >pushGroups</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3ApushGroups" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vQ.html
@@ -1,69 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (Q)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >qsort</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Aqsort" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >qsortM</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AqsortM" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vR.html
@@ -1,561 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (R)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >R</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3AR" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >Rect</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ARect" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Rel</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3ARel" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >RelDelay</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ARelDelay" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Rel_</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3ARel_" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >Rest</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3ARest" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >randomList</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3ArandomList" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >randomPlay</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3ArandomPlay" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >readArrayFromFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AreadArrayFromFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >readCoeffArr</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AreadCoeffArr" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >readCoeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AreadCoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >readDataFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AreadDataFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >readWavFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AreadWavFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >readWavSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AreadWavSignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >rect</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Arect" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >rect_filter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Arect_filter" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >rect_filter'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Arect_filter'" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >rect_transform</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Arect_transform" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >relativeDuration</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3ArelativeDuration" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >reorder</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Areorder" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >reorder_init'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Areorder_init'" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >resetDur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AresetDur" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >resetDuration</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AresetDuration" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >rest</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Arest" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >rest0</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Arest0" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >restMidiMusic</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3ArestMidiMusic" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >reverseNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AreverseNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >rhythmize</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Tools.html#v%3Arhythmize" - >Sound.Hommage.Tools</A - ></B - ></TD - ></TR - ><TR - ><TD - >rif</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3Arif" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >rightGroup</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3ArightGroup" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >rightStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3ArightStereo" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >rnote</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3Arnote" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >ror</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3Aror" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >rplay</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3Arplay" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >rselect</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3Arselect" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >runEnv</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3ArunEnv" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >runMidiMusic</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3ArunMidiMusic" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >runNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3ArunNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >runNotationWith</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3ArunNotationWith" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >runNumNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3ArunNumNotation" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >runR</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3ArunR" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >runRM</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3ArunRM" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >runSong</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3ArunSong" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vS.html
@@ -1,465 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (S)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >SEQ</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3ASEQ" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >SONG</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3ASONG" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >SampleAndHold</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ASampleAndHold" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Saw</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ASaw" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >ScratchWav</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AScratchWav" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Sinus</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ASinus" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Stereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AStereo" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >Stretch</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AStretch" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >Stretchfilter</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AStretchfilter" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >sampleAndHold</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3AsampleAndHold" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >saveWavSampleMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AsaveWavSampleMono" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >saveWavSampleStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AsaveWavSampleStereo" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >saw</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Asaw" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >scratchSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AscratchSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >scratchWavSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AscratchWavSignal" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >sequenceNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AsequenceNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >sequent</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Asequent" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >setField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AsetField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >shiftFilterSpec</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3AshiftFilterSpec" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >signalToMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AsignalToMono" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >signalToStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AsignalToStereo" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >sinus</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Asinus" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >sizeCoeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AsizeCoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >sizeOfArrayElements</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AsizeOfArrayElements" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >sizeSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AsizeSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >sndField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AsndField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >splitWaves</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3AsplitWaves" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >stepSequencer</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Tools.html#v%3AstepSequencer" - >Sound.Hommage.Tools</A - ></B - ></TD - ></TR - ><TR - ><TD - >stereoToMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AstereoToMono" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >storeCoeff</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AstoreCoeff" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >stretch</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3Astretch" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >stretchSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AstretchSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >stretchpass</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Filter.html#v%3Astretchpass" - >Sound.Hommage.Filter</A - ></B - ></TD - ></TR - ><TR - ><TD - >syntheseDFT</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AsyntheseDFT" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >syntheseSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AsyntheseSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vT.html
@@ -1,285 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (T)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >TRACK</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3ATRACK" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >ToFreq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AToFreq" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >ToFreqDyn</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AToFreqDyn" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >ToMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3AToMono" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >Tri</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sound.html#v%3ATri" - >Sound.Hommage.Sound</A - ></B - ></TD - ></TR - ><TR - ><TD - >takeNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AtakeNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >terminateAt</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3AterminateAt" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ><TR - ><TD - >testSong</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Tools.html#v%3AtestSong" - >Sound.Hommage.Tools</A - ></B - ></TD - ></TR - ><TR - ><TD - >testSound</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Tools.html#v%3AtestSound" - >Sound.Hommage.Tools</A - ></B - ></TD - ></TR - ><TR - ><TD - >toBytes</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AtoBytes" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >toEnv</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Envelope.html#v%3AtoEnv" - >Sound.Hommage.Envelope</A - ></B - ></TD - ></TR - ><TR - ><TD - >toFields</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AtoFields" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >toGroups</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AtoGroups" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >toList</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AtoList" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >toList'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AtoList'" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >toListE</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AtoListE" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >toListE'</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3AtoListE'" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >toNext</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AtoNext" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >track</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3Atrack" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >tri</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Osc.html#v%3Atri" - >Sound.Hommage.Osc</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vU.html
@@ -1,177 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (U)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >unPlay</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AunPlay" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >unR</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Rand.html#v%3AunR" - >Sound.Hommage.Rand</A - ></B - ></TD - ></TR - ><TR - ><TD - >unSeq</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Seq.html#v%3AunSeq" - >Sound.Hommage.Seq</A - ></B - ></TD - ></TR - ><TR - ><TD - >unSong</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AunSong" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >unTrack</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Play.html#v%3AunTrack" - >Sound.Hommage.Play</A - ></B - ></TD - ></TR - ><TR - ><TD - >unWithDur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AunWithDur" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >uneitherlist</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Auneitherlist" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >unmaybeNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AunmaybeNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >unstoreCoeff</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AunstoreCoeff" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >updateField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AupdateField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >updateSample</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AupdateSample" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vW.html
@@ -1,357 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (W)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >WithDur</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AWithDur" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >w</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Aw" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ><TR - ><TD - >walk</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Misc.html#v%3Awalk" - >Sound.Hommage.Misc</A - ></B - ></TD - ></TR - ><TR - ><TD - >wavDoubleToInt16</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwavDoubleToInt16" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >wavHeaderFunMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwavHeaderFunMono" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >wavHeaderFunStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwavHeaderFunStereo" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >wavHeaderSize</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwavHeaderSize" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >wavInt16ToDouble</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwavInt16ToDouble" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >wavesizeCoeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AwavesizeCoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >withField</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Parameter.html#v%3AwithField" - >Sound.Hommage.Parameter</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeArrayToFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwriteArrayToFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeArrayToFileWithHeader</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwriteArrayToFileWithHeader" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeCoeffArr</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.DFTFilter.html#v%3AwriteCoeffArr" - >Sound.Hommage.DFTFilter</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeCoeffs</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Sample.html#v%3AwriteCoeffs" - >Sound.Hommage.Sample</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeDataFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwriteDataFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeMidiFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Midi.html#v%3AwriteMidiFile" - >Sound.Hommage.Midi</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeMidiSyncNotation</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Notation.html#v%3AwriteMidiSyncNotation" - >Sound.Hommage.Notation</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeTracks</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AwriteTracks" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeWavFile</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwriteWavFile" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeWavFileMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwriteWavFileMono" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeWavFileStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwriteWavFileStereo" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeWavFiles</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.WavFile.html#v%3AwriteWavFiles" - >Sound.Hommage.WavFile</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeWavMono</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AwriteWavMono" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeWavSignal</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AwriteWavSignal" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >writeWavStereo</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.Signal.html#v%3AwriteWavStereo" - >Sound.Hommage.Signal</A - ></B - ></TD - ></TR - ><TR - ><TD - >ws</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Aws" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index-vZ.html
@@ -1,57 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Function/ConstructorIndex)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index (Z)</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - >zip2</TD - ><TD - ><A HREF = "Sound.Hommage.html" - >Sound.Hommage</A - > <B - ><A HREF = "Sound.Hommage.FFT.html#v%3Azip2" - >Sound.Hommage.FFT</A - ></B - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/doc-index.html
@@ -1,251 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - > (Index)</TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Type/Class Index</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - ><A HREF = "doc-index-tA.html" - >A</A - ></TD - ><TD - ><A HREF = "doc-index-tB.html" - >B</A - ></TD - ><TD - ><A HREF = "doc-index-tC.html" - >C</A - ></TD - ><TD - ><A HREF = "doc-index-tD.html" - >D</A - ></TD - ><TD - ><A HREF = "doc-index-tE.html" - >E</A - ></TD - ><TD - ><A HREF = "doc-index-tF.html" - >F</A - ></TD - ><TD - ><A HREF = "doc-index-tG.html" - >G</A - ></TD - ><TD - ><A HREF = "doc-index-tH.html" - >H</A - ></TD - ><TD - ><A HREF = "doc-index-tI.html" - >I</A - ></TD - ><TD - ><A HREF = "doc-index-tL.html" - >L</A - ></TD - ><TD - ><A HREF = "doc-index-tM.html" - >M</A - ></TD - ><TD - ><A HREF = "doc-index-tN.html" - >N</A - ></TD - ><TD - ><A HREF = "doc-index-tO.html" - >O</A - ></TD - ><TD - ><A HREF = "doc-index-tP.html" - >P</A - ></TD - ><TD - ><A HREF = "doc-index-tR.html" - >R</A - ></TD - ><TD - ><A HREF = "doc-index-tS.html" - >S</A - ></TD - ><TD - ><A HREF = "doc-index-tT.html" - >T</A - ></TD - ><TD - ><A HREF = "doc-index-tU.html" - >U</A - ></TD - ><TD - ><A HREF = "doc-index-tW.html" - >W</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Function/Constructor Index</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "5" - ><TR - ><TD - ><A HREF = "doc-index-vA.html" - >A</A - ></TD - ><TD - ><A HREF = "doc-index-vB.html" - >B</A - ></TD - ><TD - ><A HREF = "doc-index-vC.html" - >C</A - ></TD - ><TD - ><A HREF = "doc-index-vD.html" - >D</A - ></TD - ><TD - ><A HREF = "doc-index-vE.html" - >E</A - ></TD - ><TD - ><A HREF = "doc-index-vF.html" - >F</A - ></TD - ><TD - ><A HREF = "doc-index-vG.html" - >G</A - ></TD - ><TD - ><A HREF = "doc-index-vH.html" - >H</A - ></TD - ><TD - ><A HREF = "doc-index-vI.html" - >I</A - ></TD - ><TD - ><A HREF = "doc-index-vJ.html" - >J</A - ></TD - ><TD - ><A HREF = "doc-index-vK.html" - >K</A - ></TD - ><TD - ><A HREF = "doc-index-vL.html" - >L</A - ></TD - ><TD - ><A HREF = "doc-index-vM.html" - >M</A - ></TD - ><TD - ><A HREF = "doc-index-vN.html" - >N</A - ></TD - ><TD - ><A HREF = "doc-index-vO.html" - >O</A - ></TD - ><TD - ><A HREF = "doc-index-vP.html" - >P</A - ></TD - ><TD - ><A HREF = "doc-index-vQ.html" - >Q</A - ></TD - ><TD - ><A HREF = "doc-index-vR.html" - >R</A - ></TD - ><TD - ><A HREF = "doc-index-vS.html" - >S</A - ></TD - ><TD - ><A HREF = "doc-index-vT.html" - >T</A - ></TD - ><TD - ><A HREF = "doc-index-vU.html" - >U</A - ></TD - ><TD - ><A HREF = "doc-index-vW.html" - >W</A - ></TD - ><TD - ><A HREF = "doc-index-vZ.html" - >Z</A - ></TD - ><TD - ><A HREF = "doc-index-v58.html" - >:</A - ></TD - ><TD - ><A HREF = "doc-index-v46.html" - >.</A - ></TD - ><TD - ><A HREF = "doc-index-v60.html" - ><</A - ></TD - ><TD - ><A HREF = "doc-index-v61.html" - >=</A - ></TD - ><TD - ><A HREF = "doc-index-v62.html" - >></A - ></TD - ><TD - ><A HREF = "doc-index-v45.html" - >-</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></BODY - ></HTML ->
− doc/haddock.css
@@ -1,180 +0,0 @@-/* -------- Global things --------- */ - -BODY { - background-color: #ffffff; - color: #000000; - font-family: sans-serif; - } - -A:link { color: #0000e0; text-decoration: none } -A:visited { color: #0000a0; text-decoration: none } -A:hover { background-color: #e0e0ff; text-decoration: none } - -TABLE.vanilla { - width: 100%; - border-width: 0px; - /* I can't seem to specify cellspacing or cellpadding properly using CSS... */ -} - -/* <TT> font is a little too small in MSIE */ -TT { font-size: 100%; } -PRE { font-size: 100%; } - -LI P { margin: 0pt } - -TD { - border-width: 0px; -} - -TABLE.narrow { - border-width: 0px; -} - -TD.s8 { height: 8px; } -TD.s15 { height: 15px; } - -SPAN.keyword { text-decoration: underline; } - -/* --------- Documentation elements ---------- */ - -TD.children { - padding-left: 25px; - } - -TD.synopsis { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace - } - -TD.decl { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace; - white-space: nowrap; - vertical-align: top; - } - -TD.recfield { padding-left: 20px } - -TD.doc { - padding-top: 2px; - padding-left: 10px; - } - -TD.ndoc { - padding: 2px; - } - -TD.rdoc { - padding: 2px; - padding-left: 10px; - width: 100%; - } - -TD.body { - padding-left: 10px - } - -/* ------- Section Headings ------- */ - -TD.section1 { - padding-top: 15px; - font-weight: bold; - font-size: 150% - } - -TD.section2 { - padding-top: 10px; - font-weight: bold; - font-size: 130% - } - -TD.section3 { - padding-top: 5px; - font-weight: bold; - font-size: 110% - } - -TD.section4 { - font-weight: bold; - font-size: 100% - } - -/* -------------- The title bar at the top of the page */ - -TD.infohead { - color: #ffffff; - font-weight: bold; - padding-right: 10px; - text-align: left; -} - -TD.infoval { - color: #ffffff; - padding-right: 10px; - text-align: left; -} - -TD.topbar { - background-color: #000099; - padding: 5px; -} - -TD.title { - color: #ffffff; - padding-left: 10px; - width: 100% - } - -TD.topbut { - padding-left: 5px; - padding-right: 5px; - border-left-width: 1px; - border-left-color: #ffffff; - border-left-style: solid; - white-space: nowrap; - } - -TD.topbut A:link { - color: #ffffff - } - -TD.topbut A:visited { - color: #ffff00 - } - -TD.topbut A:hover { - background-color: #6060ff; - } - -TD.topbut:hover { - background-color: #6060ff - } - -TD.modulebar { - background-color: #0077dd; - padding: 5px; - border-top-width: 1px; - border-top-color: #ffffff; - border-top-style: solid; - } - -/* --------- The page footer --------- */ - -TD.botbar { - background-color: #000099; - color: #ffffff; - padding: 5px - } -TD.botbar A:link { - color: #ffffff; - text-decoration: underline - } -TD.botbar A:visited { - color: #ffff00 - } -TD.botbar A:hover { - background-color: #6060ff - } -
− doc/haskell_icon.gif
binary file changed (911 → absent bytes)
− doc/index.html
@@ -1,179 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD - ><TITLE - ></TITLE - ><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css" - ></HEAD - ><BODY - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD CLASS = "topbar" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " " - ></TD - ><TD CLASS = "title" - ></TD - ><TD CLASS = "topbut" - ><A HREF = "index.html" - >Contents</A - ></TD - ><TD CLASS = "topbut" - ><A HREF = "doc-index.html" - >Index</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "section1" - >Modules</TD - ></TR - ><TR - ><TD - ><TABLE CELLPADDING = "0" CELLSPACING = "2" - ><TR - ><TD - >Sound</TD - ></TR - ><TR - ><TD CLASS = "children" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><A HREF = "Sound.Hommage.html" - >Hommage</A - ></TD - ></TR - ><TR - ><TD CLASS = "children" - ><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0" - ><TR - ><TD - ><A HREF = "Sound.Hommage.DFTFilter.html" - >DFTFilter</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Envelope.html" - >Envelope</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.FFT.html" - >FFT</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Filter.html" - >Filter</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Midi.html" - >Midi</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Misc.html" - >Misc</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Notation.html" - >Notation</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Osc.html" - >Osc</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Parameter.html" - >Parameter</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Play.html" - >Play</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Rand.html" - >Rand</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Sample.html" - >Sample</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Seq.html" - >Seq</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Signal.html" - >Signal</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Sound.html" - >Sound</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.Tools.html" - >Tools</A - ></TD - ></TR - ><TR - ><TD - ><A HREF = "Sound.Hommage.WavFile.html" - >WavFile</A - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ></TABLE - ></TD - ></TR - ><TR - ><TD CLASS = "s15" - ></TD - ></TR - ><TR - ><TD CLASS = "botbar" - >Produced by <A HREF = "http://www.haskell.org/haddock/" - >Haddock</A - > version HADDOCK_VERSION</TD - ></TR - ></TABLE - ></BODY - ></HTML ->
hommage.cabal view
@@ -1,20 +1,18 @@ Name: hommage-Version: 0.0.5+Version: 0.0.6+License: BSD3 License-file: LICENSE-Author: Daniel van den Eijkel <dvde@gmx.net>+Author: Daniel van den Eijkel <dvde@gmx.net>+Stability: Experimental Category: Sound Synopsis: Haskell Offline Music Manipulation And Generation EDSL-Description: HOMMAGE is the successor of the Haskell Sound Lib.- <http://substitut-fuer-feinmotorik.net/projects/haskellommage/introduction> Cabal-Version: >=1.2 Build-Type: Simple-GHC-Options: -O2 -fglasgow-exts-License: BSD3-Maintainer: <None>+GHC-Options: -fglasgow-exts c-sources: Sound/Hommage/dft.c -build-depends: base, directory, array, haskell98, random, time+build-depends: base >=4, base<5, directory, array, haskell98, random, time Exposed-modules: Sound.Hommage, Sound.Hommage.Misc,