Various Small Fires and Code

Wednesday, July 30, 2014


Copperbox revision 3221.

I've removed skipping from Arpa, the combinator library for arpeggiator patterns. Allowing skipping meant there was an implementation leak in the API, plus I now feel skipping should be providence of beat patterns (via rests).


Copperbox revision 3220.

I've fixed a bug in building beat patterns - using foldr built them backwards so I've switch to foldl'.

Also I've added some more primitives empty, basic and aribtrary - next I need some proper combinators (not primitives).


Copperbox revision 3219.

I've added the module Majalan.Base.BeatPattern - this is the first draft of a combinator library for generating beat patterns.

Tuesday, July 29, 2014


Copperbox revision 3218.

I've added the first draft of Majalan.Base.Arpa - a combinator library to generate arpeggiator patterns.

Using it quickly announced that I need a similar library to make beat patterns.

Monday, July 28, 2014


Copperbox revision 3217.

I've implemented Chains and changed clickTrack to use a Chain.

Chains are potentially a very handy abstraction for building sequencers, arpeggiators and other automatic instruments.


Copperbox revision 3216.

I've improved the algorithm that builds an ImpulseMap from a Timeline. I've also removed the duplication of User context in the Advance object.

These improvements are a prelude to adding Chains - an abstraction Wumpus had for stepping through point sequences. Chains in Majalan will step through Impulse Maps.

Sunday, July 27, 2014


Copperbox revision 3215.

I've added timeline animation to make a click track. Currently the implementation is a bit weak and it needs improving.

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.