Copperbox revision 2677.
I've added sequential concatenation for events - play one after the other.
Saturday, December 31, 2011
Friday, December 30, 2011
zmidi-basic
Copperbox revision 2676.
I've changed zmidi-basic so it uses an event representation - MIDI events like NoteOn at some point in time - rather than a symbolic representation - notes, rests, chords. This is quite a turn around as I've previously loathed MIDI's control representation, but... a control representation is very flexible and it is very easy to build a symbolic representation on top of a control representation whereas the reverse is impossible [*].
[*] Realizing this was a giant - d'oh I've been on the wrong path for years - moment.
I've changed zmidi-basic so it uses an event representation - MIDI events like NoteOn at some point in time - rather than a symbolic representation - notes, rests, chords. This is quite a turn around as I've previously loathed MIDI's control representation, but... a control representation is very flexible and it is very easy to build a symbolic representation on top of a control representation whereas the reverse is impossible [*].
[*] Realizing this was a giant - d'oh I've been on the wrong path for years - moment.
zmidi-core
Copperbox revision 2675.
I've added an example that generates MIDI, the existing examples processed MIDI files.
The AST exposed by ZMidi-Core is to low level for generating MIDI directly, but this example shows how it works.
I've added an example that generates MIDI, the existing examples processed MIDI files.
The AST exposed by ZMidi-Core is to low level for generating MIDI directly, but this example shows how it works.
Thursday, December 22, 2011
new-neume
Copperbox revision 2674.
I've changed the Score and NoteList monad so they are newtype wrappers over the same monad - they need to be newtypes because they have different Doc representations (and different concatenation).
This has unified the code quite a bit, though it still needs tidying up and repeat voltas need re-implementing.
I've changed the Score and NoteList monad so they are newtype wrappers over the same monad - they need to be newtypes because they have different Doc representations (and different concatenation).
This has unified the code quite a bit, though it still needs tidying up and repeat voltas need re-implementing.
Wednesday, December 21, 2011
Tuesday, December 20, 2011
wumpus-drawing
Copperbox revision 2671.
I've updated the examples to compile again. Some of them probably hadn't been working for a long time.
I've updated the examples to compile again. Some of them probably hadn't been working for a long time.
Monday, December 19, 2011
wumpus-basic
Copperbox revision 2669.
Initial work updating the Chain module. I've removed the setSchemeScheme function and added a counting chain scheme builder instead. The API will need some thinking about - particular as there isn't actually much you can currently do in the Chain monad...
Initial work updating the Chain module. I've removed the setSchemeScheme function and added a counting chain scheme builder instead. The API will need some thinking about - particular as there isn't actually much you can currently do in the Chain monad...
wumpus-drawing
Copperbox revision 2668.
Updated to work with the change from ZDeco to ZOrder in Wumpus-Basic.
Updated to work with the change from ZDeco to ZOrder in Wumpus-Basic.
wumpus-basic
Copperbox revision 2667.
I've renamed the ZDeco enum to ZOrder and changed the names of the constructors.
Hiatus - I haven't made any commits for a week as I was working on FMSS but produced nothing satisfactory. Probably I should punt FMSS and PDSS into the long grass.
I've renamed the ZDeco enum to ZOrder and changed the names of the constructors.
Hiatus - I haven't made any commits for a week as I was working on FMSS but produced nothing satisfactory. Probably I should punt FMSS and PDSS into the long grass.
Sunday, December 11, 2011
Friday, December 9, 2011
Thursday, December 8, 2011
data-aviary
Copperbox revision 2664.
I've tidied up data-aviary so it is explicit that is is intended for illustration rather than use.
Before the end of the the year, I should probably tidy up my projects on Hackage or ask for them to be hidden in the index.
I've tidied up data-aviary so it is explicit that is is intended for illustration rather than use.
Before the end of the the year, I should probably tidy up my projects on Hackage or ask for them to be hidden in the index.
Monday, December 5, 2011
Sunday, December 4, 2011
jerry-osc
Copperbox revision 2662.
I've started a new library jerry-osc for packing and unpacking OSC (Open Sound Control) messages. There is already a library to do this on Hackage but it is too big for my needs. Also, I want to get a handle on the OSC protocol and writing my own library is one way to do this.
The name implies that it is jerry built.
PDSS has ground to a halt, hence commits to Copperbox halted last week. The design of PDSS had taken a wrong turn - as it grew, it was embedding Pd as a language. This is usually a bad strategy, successful generative DSLs like Pan usually embed a model that target language code can be generated from, rather than embed the target language as manipulatable syntax. After next week I'll have more time for coding, so I'll look to only generating FM synthesizers as per FMSS.
I've started a new library jerry-osc for packing and unpacking OSC (Open Sound Control) messages. There is already a library to do this on Hackage but it is too big for my needs. Also, I want to get a handle on the OSC protocol and writing my own library is one way to do this.
The name implies that it is jerry built.
PDSS has ground to a halt, hence commits to Copperbox halted last week. The design of PDSS had taken a wrong turn - as it grew, it was embedding Pd as a language. This is usually a bad strategy, successful generative DSLs like Pan usually embed a model that target language code can be generated from, rather than embed the target language as manipulatable syntax. After next week I'll have more time for coding, so I'll look to only generating FM synthesizers as per FMSS.
Subscribe to:
Posts (Atom)
Blog Archive
About Me
- Stephen Tetley
- Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.