Beta Users Guide to tekknoBOX

v.01b Beta - December 3, 1995


        1.0 Overview and Goals
        2.0 The Main Interface
        3.0 The Controllers Window
        4.0 The Mute Window
        5.0 The Pattern List Window
        6.0 Future Additions

legal shit
tekknoBOX is (c) 1995 innerAKTIVE nettWORX and Jon Gilkison.  All rights reserved.  
Unauthorized duplication or distribution of this software will result in a painful rectal probe by a 
big guy named Butch.  Neither innerAKTIVE nettWORX nor Jon Gilkison lay any claims as to 
the functionality of this software.  Nor do they accept any responsibility for accidental death, eye 
loss or other incapicitating wound that may be inflicted by the software.  Use with caution.  Shake 
vigourously before using.  Keep away from flame.  Blah.  Blah.  Blah.


1.0 Overview and Goals

1.1 Design Ideas
TekknoBOX is being designed to make sequencing tekkno/house/industrial dance music easier by 
utilizing simple sequencer techniques introduced by such machines as the TR-909.  Unlike typical 
sequencing applications in Windows, which are piano roll or notation based, tekknoBOX is step 
or pattern orientated - which makes sequencing most dance music far easier.

TekknoBOX is not trying to replace any analog sequencing gear, but is merely trying to make 
those easy tools available to those who want to make dance music but cant afford or dont have 
those beautiful easy sequencers available to them.

TekknoBOX, because of its nature, can have far more capability than those analog sequencers, 
however.  It can manipulate the pattern data in many more ways than an analog sequencer can - 
and can be expanded in capability through simple software extensions where a piece of analog 
equipment would need hardware modification.

So heres hoping I can make tekknoBOX all that it can be without it becoming a bloated pig like 
cakewalk or cubase.

1.2 Design Goals
Im trying to design tekknoBOX to be the easiest computer based sequencer to use, while 
maintaining powerful enough features as to rival commercial sequencers.

Future additions rolling around in my head is the ablity to sequence in digital audio straight from 
the harddrive, as seems to be the trend with sequencers now.  I would also like to add a way to 
record MIDI into tekknoBOX, to transfer 909 or studio 440 patterns into the BOX.  Why is that 
not possible now?  Because tekknoBOX isnt so much a MIDI sequencer as it is something that 
exports MIDI commands.  The internal workings of the BOX dont run on MIDI standards, its 
waltzing along doing its own thing.  Namely because the MIDI standard isnt all that suited to 
what Im trying to do.

So thats that, digital audio and MIDI recording.  Dont hold the breath on the recording bit 
anytime soon, tho.  Unless a lot of people somehow see a mandatory need for it.


2.0  The Main Interface
The main interface is laid out in different sections:

2.1 Pattern
This spin-edit will let you dial up the pattern you want to edit.  You can have up to 16,000 
patterns (when I said 32,000 my stupid ass was considering an integer type to be 0 to 32x, but 
instead its -16x to 16x).  But still, who the hell is going to use 16,000 patterns besides dj Slip? ;)

2.2 Pattern Name
If the spin-edit doesnt grab your fancy, feel free to use this drop down list to select the pattern 
you want to play/edit.  This also displays the name of the current pattern.

2.3 Length
Dial up the length of the pattern, anywhere from 1 step to 16 steps.  

2.4 Playback Controls
These controls allow you control over the play head.  Step back a step, go forward a step, rewind, 
play, stop - you get the picture. :)

2.5 Channel
This dial-up will allow you to alter what channel you are currently working on.  There are 16 
channels available as of this writing.  Because tekknoBOX can support up to 2 devices 
simultaneously, Ill be adding more channel capability in a bit.  Right now you still only have 16 
channels, regardless of the number of ports you have.

2.6 Channel Device
This will let you select the output port for the current channel.  TekknoBOX will support up to 
two devices.  Gravis Ultrasound users check it out!  You can play the internal synth and still shoot 
shit out the break out box - meaning you can drive external synths and the ultrasound 
simultaneously!  Im sure this will work with the AWE-32 and Turtle Beach Cards too ...

2.7 Tempo
Controls the tempo of the pattern.  I just realized a major screw up - which will be fixed this 
week.  Each pattern has its own tempo, but right now when youre playing back a range of 
patterns, the tempo wont change from pattern to pattern.  My faux paus.

2.8 Instrument
This will let you select the patch/instrument for the current channel.

2.9 Play Mode
These really arent functioning right now because I havent added the Phrases or Track code yet.  
The loop checkbox does work tho.  When these do work, these will let you determine what is 
being played back, beit patterns or phrases of patterns.  More on phrases later.

2.10 Functions

        2.10.1 All On
        Will turn on every step in the pattern in the given channel.

        2.10.2 All Off
        The reverse of the above ;P

        2.10.3 Copy
        Powerful little function here, I hope.  Hitting the copy button will present you with a 
        dialog box that will let you copy all kinds of data from another pattern and/or channel.
        Diggin the note layout on channel 6 of pattern grungePUPPY?  Copy will let you
        copy that information into any channel of any pattern that you want.  Plus some
        other goodies too.

        2.10.4 Swing
        Not yet working ... this week I hope.

2.11 Windows

        2.11.1 Patterns
        This will hide/show the Pattern List window.

        2.11.2 Phrases
        Not yet.

        2.11.3 Controllers
        This will hide/show the Controller Sequencer Window

        2.11.4 Mute/Solo
        This will hide/show the mute/solo window.

2.12 Panic
Not yet functioning :/  So dont panic.

2.13 Pre-Scale
You have 4 choices -> Whole note, 1/2 note, 1/4 note, 1/8 note and 1/16 note.  The pre-scale 
function is acting kinda wacky so be cool with this one.  Use it ... but dont let it be an accurate 
judge of whats really going on.  Will be fixed this week.

2.14 Steps
Ahh yes!  The heart of the matter.  16 buttons represent the 16 steps.  The LED indicators both 
above and below the buttons represent whether the step is sending a NoteOn MIDI message or a 
NoteOff MIDI message or an All Note Off MIDI message.

The top row is what indicates if the step sends an on message.  The bottom row of LEDs indicate 
if its sending a note off message.

Why the fuck did I do it like that, youre saying?

Because most samplers, wavetable synths, drum machines, etc. dont really need note-offs sent.  
UNLESS THEY ARE LOOPED PATCHES!  The ultrasound doesnt need them, once the 
voice is played out it shuts off.  However, if the patch is looped - that sucka will keep on playing 
and playing and playing until you send it a note off message and tell it to shut the hell up.

Hence, I added that.  Also, you will notice in the Controller Sequencer, that there are two palettes 
for notes.  One is marked Note and the other is marked Off Note.  Thats because to turn a note 
on you send a message that looks like -> NoteOn, C4, 128 and to shut that note off you need to 
send a message that looks like -> NoteOff, C4, 128 - the second parameter (the note) need to 
match on the noteon and noteoff messages or else.  So I added the second palette so you can turn 
a control which notes are being shut off and which ones arent.  I know this is kind of confusing, 
but itll make sense when you play with it a little.


3.0 The Controller Sequencer
The controller sequencer is a floating palette divided up into chunks.

The numbers across the top are step indicators, so you know what step you are currently editing 
the data for.

The sliders below those row of numbers allow you to edit the data for that particular controller.

The bottom row of numbers (or notes) indicate the actual numeric data.

The next set of buttons all provide ways to manipulate the data:

        3.0.1 Plug-Ins
        Not Implemented

        3.0.2 Tools
        Clicking here will pop up a dialog that gives you various functions to perform on the data, 
        such as Set Range, Ramp Up, Ramp Down, Random Data, Deform, Reverse, Invert, etc.

        3.0.3. Whoo
        A moment of reverence.

        3.0.4 Copy
        This is similar to the copy function found in the main interface.  Except for y ou are 
        copying a range of data from another controller into the currently selected controller.

        3.0.5 Merge/Load/Save
        Not yet implemeneted :(

And, finally, below all of that are the tabs which control which controller you are currently 
sequencing:

        3.0.6 Note
        This controls the note of the current step, with the octave range of C-1 to G9.

        3.0.7 Off Note
        This controls the note of the NoteOff message.  NOTE: The note of the step being turned 
        off and the value of the OffNote message for the step in which the NoteOff message is 
        being sent must be the same values for that note to be turned off.

        Peter piper picked a peck of pickled peppers.

        3.0.4 Attack
        This controls the attack velocity of the NoteOn message, which some keyboards respond 
        to.  Attack determines how hard or fast the key is being struck.

        3.0.5 Release
        This controls the release velocity of the NoteOff message, or how quick the key is 
        released.

        3.0.6 Expression
        (Not being sent yet)

        3.0.7 Volume
        (Not being sent yet)

        3.0.8 Modulation
        (Not being sent yet)

        3.0.9 Pitch
        (Not being sent yet)

        3.0.10 Pan
        (Not being sent yet)

        3.0.11 Controller 1
        (Not being sent yet)

        3.0.12 Controller 2
        (Not being sent yet)

        3.0.13 Controller 3
        (Not being sent yet)

        3.0.14 Controller 4
        (Not being sent yet)

        3.0.15 Controller 5
        (Not being sent yet)

4.0 The Mute Window
This window is pretty self-explanatory.  The solo row of check boxes will mute all channels 
except for that which is being solo-ed.  The mute row of check boxes controls which channels 
are currently muted (checked) or playing (unchecked).

5.0 The Pattern List Window

5.0.1 The ListBox
This listbox lists all of the current patterns.  You can easily flip to any pattern by clicking on it.  
The highlighted pattern is the currently loaded pattern.

5.0.2 The arrows
To the left of the ListBox, are two arrows: one pointing up and the other pointing down.  Clicking 
either of these arrows will shuffle the position in the list of patterns of the currently loaded pattern.  
Extremely useful for playing a range of patterns.

5.0.3. The Functions

        5.0.3.1 New
        Clicking on new will create a new, empty pattern and load it.

        5.0.3.2 Rename
        Clicking on this will allow you to rename the currently selected pattern.

        5.0.3.3 Copy
        This will duplicate the current pattern.

        5.0.3.4 Save
        Not yet implemented

        5.0.3.5 Load
        Not yet implemented

        5.0.3.4 Delete
        This will delete the currently selected pattern.

        5.0.3.4 Plug-Ins
        Not yet implemented

        5.0.3.4 Reset
        Not yet implemented

5.0.4 Play Options
It is here that will let you play a range of patterns in succession (sp?).  Clicking on the Play Range 
checkbox will put the player into PatternPlayRange mode.  You determine the range of patterns 
by selecting the starting pattern in the first combo box and the last pattern to be played in the last 
combo box.

6.0 Future Additions
There is a lot of shit that still needs to be done, but I just want to make sure Im on the right track 
here.  Below is a list of items to be fixed or added:

        6.0.1 Phrases
        Phrases are merely grouping of patterns.  Im adding this because I make gabberhaus and 
        when making it, there are always groups of patterns that are consistently repeated over the 
        course of a composition.  The idea is similar to multiple, sequential tracks of patterns.  If 
        that makes sense.

        6.0.2 Tempo
        Its kind of screwy ... 

        6.0.3 Swing
        Big on my to-do list.  Im thinking that youll be able to edit the swing down to the step.  
        Varying the % of time between each step.

        6.0.4 The other controllers
        As soon as Im at ease with a couple of issues concerning this, youll see the other 
        controllers implemented.  Right now Im concerned that if Im sending 14 controllers 
        worth of data x 16 channels at each step, there is going to be some shitty lag going on.

        6.0.5 Midi Sync
        I had it in, but I took it out.  I dont know that I did it right.  There are 4 ways to sync 
        external MIDI devices - and I dont know right now which one is the basic - ever synth 
        uses this - type of sync.  Anyone care to enlighten me?

        6.0.6 

        6.0.7 Save/Load/Merge options
        Cant really do this till I get a lot of the other shit working.

        6.0.8 Plug-ins
        Plug-ins would be external third-party extensions to the BOX that would provide some 
        more functionality to the whole shebang.  Really wouldnt be that hard to implemenet, but 
        I should have everything else working before I add this.

Theres some more misc. shit that needs to be cleared up, and Im always open to criticism and 
suggestions.  I want this sequencer to be the bomb for our type of muzik, so any ideas, etc. would 
be greatly appreciated.

