Saturday, December 31, 2011

zmidi-basic

Copperbox revision 2677.

I've added sequential concatenation for events - play one after the other.

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.

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.

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.

Wednesday, December 21, 2011

wumpus

Copperbox revision 2673.

Work on symbols in Wumpus-Drawing and minor modifications to Wumpus_Basic (corrected a doc error, changes to Chain to make the chain schemes follow a naming convention).

Tuesday, December 20, 2011

wumpus

Copperbox revision 2672.

I've updated Wumpus-Rhythm and Wumpus-Tree so that the Haddock docs build again.

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.

wumpus

Copperbox revision 2670.

I've updated the Chain API in Wumpus-Basic and modified the Axes module in Wumpus-Drawing to match the changes. There may be some demos that need updating...

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...

wumpus-drawing

Copperbox revision 2668.

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.

Sunday, December 11, 2011

jerry-osc

Copperbox revision 2666.

I've added support for blobs and bundles and improved the code a bit. Time stamps still need implementing properly.

Friday, December 9, 2011

joinlist

Copperbox revision 2665.

First bit of work updating the Join List data type. I've drop the two "silly" functions and made some of the internal names more idiomatic.

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.

Monday, December 5, 2011

jerry-osc

Copperbox revision 2663.

I've added a UDP sever to listen to OSC messages from Pd.

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.

Blog Archive

About Me

My photo
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.