Various Small Fires and Code

Tuesday, July 22, 2014

majalan

Copperbox revision 3210.

I've added Timeline into the Context which is threaded through all the monads (Advance, EventList, Score..).

Because the global timeline allows tempo and time signature changes, Context no longer supports a simple API to get quarter_note_length (quarter_note_length is now dependent on position in the score). Thus, the note lists used by Demo02 and Demo03 are broken again, pending a rethink.

majalan

Copperbox revision 3209.

Work towards a global metrical timeline. Both Ableton Live and Garage Band have metrical time lines - graphically it seems a good abstraction for synchronizing tracks.

If I add it properly to Majalan (currently it is just a standalone module under test) I'll have to remove BPM from the Context. BPM will still be accessible to individual event lists but it will be read-only and derived from the global timeline.


Monday, July 21, 2014

majalan

Copperbox revision 3208.

I've added Context back to the Advance object and for consistency added it to the EventList object.


majalan

Copperbox revision 3207.

I've changed Context to allow user context and removed tuning pitch and amplitude which were mostly superfluous (and added complexity).

For the moment, I've removed Advance's dependency on Context. This simplifies Advance and its current API doesn't need it, but it might be the wrong decision (as a comparison Wumpus threaded Context through everything but then Context was much more important).

As I'm undecided about objects depending on Context, both note lists and thus Demo02 and Demo03 are all currently broken.

majalan

Copperbox revisions 3205 & 3206.

Minor refactoring.

I've changed the name of Majalan.Base.NoteList to Majalan.Base.Advance so that it doesn't steal a name that is better used for a notelist. Majalan.Base.Advance provides some of the primitives to build custom notelists.

I've also split Processor out from Event.

Sunday, July 20, 2014

majalan

Copperbox revisions 3203 & 3204.

I've simplified  the Score object so it now tracks parts by an internal id rather than a user supplied enum type (which clogged up the type signatures).

Parts are now preserved in the score output to Csound as well.


bala - package cull

Copperbox revision 3202.

I've culled a number of redundant packages from the bala top level directory:

bala/HNotate
bala/M2
bala/Neume
bala/Variant
bala/ZMidi
bala/ZWav
bala/bala-core
bala/fmss
bala/haddock
bala/jerry-osc
bala/jerry-supercollider
bala/micro-ochre
bala/monad-redux
bala/neume-core
bala/neume-extra
bala/new-neume
bala/orca-ix
bala/orchsyn
bala/pdss-core
bala/slac
bala/tactus
bala/tonos
bala/zsnd-basic
bala/zsnd-core
bala/zsnd-symbolic
bala/zsyn

Some of the remaining packages are also redundant, but for the moment their source can stay in Copperbox.

Blog Archive

About Me

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.