Tinker - for viewing and editing a song's tracks' events.
Main Display:
We'll get to the toolbar and controls at the top in a bit, but mostly...
Notes are displayed in piano roll style.
- Durations are shown horizontally in time.
See the bar lines and beat lines? This song has a time sig of 2/4
- Notes are shown vertically in black and white (like piano keys).
See the black keys and white keys?
C notes are a little whiter, and middle C is the whitest.
- Note velocities shown in color.
There's a thin rainbow-y color scale at the top of the note area.
showing the colors that map to velocities 1..127
So green..blue means -barely- touched and
red..yellow means BANGED on, etc.
- You can also color notes by track or by sound. (via the Col: droplist)
You can click on the Track droplist to pick which tracks to look at.
The default is "all of em at once" - kinda gory sometimes.
Drums are displayed just below notes.
I give the drums short 4 character labels. Kinda cryptic, but oh well.
The ones above stand for TomFloorLow, CrashCymbal2, CrashCymbal,
RideCymbal2, RideCymbal, SnareDrum2, SnareDrum.
(No KickDrum in this song)
Controllers are displayed below the drums.
Click in the Ctrl: droplist to pick the ones you want to see.
Some are shown as text,
Some with a teeny square around each individual event with lines between
Play around with the fields at the top of the window to scroll and zoom, etc.
________________________________________________________________________________
Controls:
Toolbar:
open open a new song to tinker with
save save the current song
print print previews and prints the song
(current clip/selected stuff - described below)
help gets ya here (docs)
clipBgn sets clip begin bar to last hovered "Pos" time
clipEnd " " end " " " " " "
clipAll sets clip begin and end times to full song duration
AND selects all tracks and controllers
copy copy clip to last hovered "Pos" time
delete deletes clip and scoots later events earlier in time
clipPlay plays current clip (between clip start/end time for selected
tracks and controllers)
clipSave saves current clip (ditto)
barRep gives you a report of repeating bars (see below)
listEdit edit the list of tracks/drums/controls
Pos: display
shows current position in time.
if only 1 track is selected,
also shows note+onTime+offTime+duration+onVelocity+offVelo
or control+onTime+value
Track: droplist
lets you pick the tracks to display via checkboxes.
If the track is a Drum track (sound=Drum\*), you'll see a drum grid.
For melodic tracks, you'll see a piano roll display.
When you've dropped down the Track: droplist,
left click to toggle the check.
right click to pick a single track. Right click again to pick em all.
If more than one track is displayed, they'll be overlayed.
But event editing can only happen when a SINGLE track is picked.
Snap: droplist
Lets you enter notes at exact times.
You may want to leave this off when editing events that don't fall on
exact times (those recorded live, etc.)
Bar: editbox
lets you scroll left and right by bar in time.
I usually use the ole mouse scroll wheel when in this field.
Zoom: editbox (under Bar: editbox)
lets you compress more time onto the display.
0 gives you full one "tick" resolution. (a 256th note triplet)
1 compresses 2 ticks into 1 pixel.
2 compresses 4 ticks into 1 pixel...
Etc... (powers of 2 city)
Oct: editbox
lets you scroll up and down by octave.
(Sets the lowest note in the piano roll display)
Zoom: editbox (under Oct: editbox)
lets you compress more piano roll notes on screen. (drum notes are fixed)
0..7 for plenty tall/fewer notes .. squished height/more notes
Ctrl: listbox
lets you pick the controls to display in the line graph at the bottom.
checks work the same as with Tracks: listbox.
Zoom: editbox (under the Ctrl: listbox)
lets you compress more controllers onto the display.
0=full resolution/less controllers .. 3=cheezy resolution/more controllers
Col: listbox
lets you color the notes according to velocity, sound or track
Mov: listbox
picks which track to move right mouse button lasso'd notes to.
(or to delete em)
VelOn: editbox
lets you set the note on velocity for drawn in notes
(described later)
VelOff: editbox
lets you set the note off velocity for drawn in notes
________________________________________________________________________________
Printing:
Tinker can print out your midi file in piano roll format.
Including fingering numbers - HANDY !!
warning - the dang print preview can currently take up a LOT of memory and
thrash the heck out of older machines.
Sorry bout this, I'll optimize it when I get time :(
Printing uses the 2 Zoom controls just like the screen does.
Try with different magnification.
I'd advise using zoom of 3 for note and time on your 1st print preview.
Higher zoom amounts squish things more.
Lower amounts expand the notes/time.
You probably want to "color" by track when printing.
Having left hand in one track and right in another and coloring by
track helps you see left versus right hand.
Once printed, you can staple the printouts together into a sort of "scroll".
Maybe fanfold the right end if it's huge...
(better resolution on your printer, of course:)
"Columns" of piano roll bars are printed out
with note position ALIGNED with finger position.
Not bent 90 degrees like standard sheet music.
Time goes DOWN the page.
Only the notes of the "staff" that are actually USED are printed.
As many "columns" as possible will be put on a page.
At the top of each "column"
- on the left side is the leftmost note your left pinky will need to play.
This tells you which notes you're looking at.
Remember, keys are colored according to piano key.
Cs are a little whiter. Middle C (if displayed) is whitest.
- On the right side at top of column,
is the 1st bar number of that "column".
Imagine your 2 hands going straight down the left hand page column then
starting again at the top of the next column to the right.
(thin rainbow-y lines seperate the columns.)
I use the printouts for piano practice.
It works pretty good for me. You got ideas? I =WANNA= hear em...;)
________________________________________________________________________________
Editing:
First off, you need to tell Tinker which
tracks and controls and drums (oh my!) to let you edit.
Click the "Edit Track, Drum, and Control lists" toolbar button
(rightmost one).
to see...
Just click one of the 3 tables, insert a line and get going...
Once you're set up you can draw in events:
You must have ONLY ONE track selected in the Track: droplist to edit events.
The Snap: droplist will help you draw in "neat" notes.
for notes and drum notes:
click to drag in new notes with note velocities of VelOn: and VelOff:
click on the left half of an existing note to update it's start time
click on the right half " " " " " " " end "
When the note area HAS FOCUS (the => rectangle is GREEN),
Hover over a note and the scroll wheel adjusts the on or off velocity.
(if over the left end or right end.)
Hover over the middle of the note and the scroll wheel edits the note's
fingering. from 1..5 then transition fingering (ex: 15)
right-click and drag a rectagle to move it to the track picked in the
Mov: droplist (or to delete if if that's picked in the Mov: droplist)
For Controllers:
click to add a control point in time/valueScale
click an existing control point to modify it. (careful of Snap:)
right-click and drag a rectagle on an existing control
(watch Pos: display) to Move/Delete it's control point (per Mov: listbox)
Sorry, but I don't yet have group selection/modification of stuff :(
Much construction to do in this area.
Got any ideas about how to set up the user interface??? I'm all ears!!!
________________________________________________________________________________
Split notes :(
Split notes are a notorious problem with midi files...
Sometimes, you'll find a note down (noteon) with no note up (noteoff).
Or visa versa.
So one half the note is missing.
Tinker does a little bit of "filtering" of the inbound midi file, but it's
not perfect (yet).
Also, when Ditty/Tinker receive there tracks split by program changes
"automagically", well, when a program change happens during the middle of
a note, the noteon MAY be in the first track, and the noteoff in the second
track.
Ditty will play this just fine.
But in Tinker, you'll see "messy notes" where the note keeps going forever.
Or starts WAY at the first bar.
I'm working on logic to fix this. But it ain't done yet :(
________________________________________________________________________________
Repeating bars report:
This is VERY handy report to analyze a track's repetition patterns.
It breaks the (currently selected) track into bars and looks for repeats.
VERY useful for drum, bass and rhythm tracks - to see how they repeat.
Unfortunately, it's not smart enough to compare velocities.
(And you might not want it to do that anyway.)
But any bars that match exactly will be pointed out in this little report!
Here's a quick descrip:
The lines starting with -- are my comments
song=D:\Midi\Compose\Txt\CantWait\CantWait.song
trak=Drum snd=Drum\Drum
bars=80: empty=0, norep=0, pats=6
-- 80 bars total, none of them empty, no unrepeating bars (they ALL repeat)
-- 6 distinct pattern bars that are repeated later
bar - bar we're on
pat - pattern id (unique set of notes in a bar)
info has...
quiet[n] = bars with no notes for n bars
norep[n] = bars that don't repeat for n bars
rep'd = this bar will be repeated later (1st time seen)
nnnn = this is a repeated pattern first stated in bar nnnn
bar pat info
1 1 rep'd -- first time pattern1 is used
2 2 rep'd -- " " " 2
3 1 1 -- so you can see 12121213
4 2 2 -- or AB AB AB AFill
5 1 1
6 2 2
7 1 1
8 3 rep'd
9 1 1
10 2 2
11 1 1
12 2 2
13 1 1
14 2 2
15 1 1
16 3 8
17 1 1
18 2 2
19 1 1
20 2 2
21 1 1
22 2 2
23 1 1
24 3 8
25 4 rep'd -- Oops! Hit the chorus CD CD CD CFill2
26 5 rep'd
27 4 25
28 5 26
29 4 25
30 5 26
31 4 25
32 6 rep'd
33 1 1 -- back to verse drum pattern... you get the idea
34 2 2
{--CHOP--}
77 4 25
78 5 26
79 4 25
80 6 32
|