[Top: John S. Allen's Home Page]
[Up: List of Cakewalk articles]
[Previous: Length and Fit]
[Next: Step Recording]

[contact John S. Allen by e-mail]

Site Logo, Track bike (2 KB GIF)Bikexprt.com Web Site

Staff view Snap-to Snafu and Other Headaches

John S. Allen

Staff View: just an output mode? | The snap-to snafu
Getting snap-to to snap to | Graphic data entry, non-graphic editing!
Tuplet limitations | Location of measure numbers | Staff view in my dreams

Cakewalk Pro Audio v. 6 -8 update: The Staff View snap problem has finally been fixed in v.8!!!! In v. 6 and 7, only the appearance of the "snap" icon changed.

Staff View (see screen shot below) is in one way the most powerful view in Cakewalk sequencers -- it is the only graphics view which lets you view and edit the contents of more than one MIDI track at a time. While you can include as many tracks as you want in the Cakewalk Event list, the Event List is, let's face it, a data dump, not a graphics view. Some sequencers, for example Mark of The Unicorn Freestyle, display multiple tracks in a single piano roll or controller pane. Events are color-coded so you can tell which tracks they belong to. But most Cakewalk views display contents of only one track, and so Staff View is often your only alternative to having a large number of open windows on screen.

Cakewalk Staff View (8 KB GIF)

Cakewalk's automatic scrolling does not give you a way to lock the scrolling of different windows to one another, making it inconvenient to use them together and adding to the burden on Staff View in Cakewalk.

You have to read and write music to use Staff View. I consider that unfortunate. Many fine musicians do not use notation, one reason among others that a multiple-track display should be available in other views besides Staff View. A well-designed sequencer should, by its design, teach users how to use its tools, including notation. The disorganized proliferation of windows in Cakewalk does nothing to help with this. Users would pick up notation quite easily if, for example, Piano Roll and Staff views could be made to scroll together.

Is Staff View really just an output mode?

I get the impression that Cakewalk developers think of Staff View mostly as an output mode, to provide some of the functionality of a music publishing program. Staff view is useful for output, even though, as Cakewalk manuals admit, it does not compete with dedicated notation software.

But then, it doesn't have to. If you want to prepare a score for performers, there are several fine notation programs available. My complaint is not with Cakewalk Staff View's inability to display and respond to the entire kitchen drawerful of notational symbols. As long as you are preparing a performance on MIDI instruments rather than parts for musicians to read, the details of musical nuance can be handled much better in a sequencer than in a notation program. A sequencer stores, edits and controls nuance precisely, as MIDI data, rather than as symbols whose interpretation depends on the skill, rehearsal time and memory of performers.

The “meat and potatoes” of Staff View -- note pitch and timing -- are, on the other hand, extremely important in a sequencer. This is because a composer or arranger needs to use Staff View as a data entry and editing mode. No other view makes it possible to visualize the relationship among musical voices a tenth as well. In Staff View, the skeleton of a musical composition or arrangement can be assembled, and seen in its entirety. Even if Piano Roll View showed multiple tracks, Staff View would still be more compact, and would still show some things much more clearly than a piano roll can.

The snap-to snafu

Now, let's discuss some of the specific problems.

The dynamics hairpins and enharmonic note spelling in newer versions of Cakewalk are nice, but for composers and arrangers, they are far less important than pitch and duration of notes. And there is a very serious problem with the way notes are handled in Staff View. Let's call it by it's right name. It is a bug.What is worse, it is a bug which is intentionally designed into Cakewalk's Staff View by some busy bee software developer.Busy bee (2.3 KB GIF)

Weird notes (0.5 KB GIF)It is described on the Pro Audio version 5 Staff View help screen: “The Snap amount resets automatically to match notehead size and event type.” There's a longer explanation in the manual: "The snap amount ...resets automatically when notes are clicked or the notehead size button changes, in order to match legal note positions for that notehead size."

Ouch! This logic is completely backward. Notation should change to reflect the timing of notes, not the other way around. Cakewalk can snap correctly in Staff View, but only if you use some undocumented tricks. The most obvious, but unsatisfactory one, is to disable “snap” entirely and give up any control at all over timing of note starts.

“Snap” as it exists now in Staff View is as much a terrible frustration as a useful feature. The “snap” function ought to work the same in Staff View as in Piano Roll View: a note start should snap to the nearest point at the chosen snap resolution, independent of note duration. At present, Staff View will not let you graphically enter or edit a legato (full duration) quarter note as two tied eighth notes in 4/4 time. There are similar problems with other note durations.

Staff view will let you enter a note at any pitch, but during drag and drop moves, it “corrects” pitches to those of the key signature. Is it “wrong” to use an E flat in the key of C major? Everyone from Buxtehude to the Beatles does. Well, at least, you can drag the pitch back where you want it. You can't do that with the timing "corrections."

The thinking that went into Staff View pretty clearly was: Oh, wow, Cakewalk users are going to LOVE me, because now they will always get the Right Notes, Right On the Beat. Right On!

Why does this insanity persist through one upgrade after another? Excuse me for being impatient, but the "corrections" are so unmusical, so downright weird -- and so different from the correct operation of the snap function in Cakewalk's Piano Roll View -- that I couldn't help asking (or speculating).

The Staff View "corrections" frequently make drag and drop editing unusable. Before dragging a note, you have to stop and think whether it will jump away from the mouse pointer, forcing you to use the parameters dialog box instead of the mouse. More about that parameters dialog box later...

Getting Snap-to to snap to

There are ways to fool Cakewalk into correct "snap" behavior in Staff View. I'll show you three of them.

Here's number 1:

Change the denominator of the time signature to the snap resolution you want: for example, change 4/4 to 16/16 or 32/32.

In the following example, the first measure is in 4/4, and the quarter note at the beginning (shown in pink) can only be dragged to the three other positions shown, on the beat. The 16/16 time signature in the second measure makes it possible to drag the quarter note to any 16th of the measure, as the remaining notes in pink show. A note can even tie across a bar line, like the last note shown. If you set the time signature to 32/32, you can move notes to start at any 32nd of the measure.

Changing 4/4 to 16/16 to correct snap behavior in Staff View (1.2 KB GIF)

This trick does lead to the display of extra vertical ruler lines in Piano Roll, Controllers and Tempo views. The lines can be visually annoying, though they may actually help with aligning notes and controller messages. Don't change the length of the measures t when you change the time signature, so you won't run into the problems I described in my article on key and meter changes. When you're done editing, you can change the time signature back to the normal one.

The trick was simple. You don't have to learn to program in the Cakewalk Application Language (CAL) in order to solve this one. Whew.

A second trick:

In Cakewalk version 4 and later, use the selection arrow instead of dragging notes with the pencil tool. Select the notes you want to drag, either by dragging a box around them or by clicking on the first note and control-clicking on additional notes. They will turn pink, as shown in the example at the right. Cakewalk, select and snap in Staff View (3.3 KB GIF)

Now you can place the arrow on any of the pink note heads and drag all of the notes together. The snap resolution depends on which note head you drag. In the example, I dragged on the eighth note, allowing me to move the notes by an eighth note. If I had dragged on the quarter note, I could have dragged only by quarter notes. You may want to add a dummy note of a shorter resolution if you can't drag in the increment you want.

As long as you drag only horizontally, accidentals like the Bb in the example will be preserved, too. But if you drag vertically, they will be "corrected."

If the note or notes you wish to move don't let you drag by the amount you want, add a dummy note that does, and remove it after completing the move.  

But beware!!!! Moving notes using the selection arrow only moves controller messages if you select the entire time segment or clip in which the notes occur (in the top ruler of Staff View or in Track View). Be careful to do this to avoid controller messages out of sync with the notes.

Worse, dragging a selection Staff View sometimes erases everything else in the track in the time segment the notes occupy before, after and during the move. You can see the other notes disappear in staff view, but insidiousky, controller messages, which you can not see in Staff View, are also erased. Cakewalk gives you no warning about the material it is erasing.

How do you stop the unwanted deletions? Choose Drag and Drop Options in the Settings menu, and set this to "blend old and new." This will make the notes move properly, without deleting other notes. But still beware: The "blend" setting can interleave controller messages from the original location and new location of the notes you are moving, causing rapid, wild fluctuations in the sound. Either make sure there are no conflicting controller messages, or select only the notes, leaving all the controller messages where they were. You may have to touch them up later, for example if you left behind a notebend that goes with one of the notes you moved. Alternatively, you could move the note and its controller messages to another track forced to a different MIDI channel. Unfortunately, MIDI gives you only one controller setting per channel, a problem I describe in another article on this site.

The easiest way to keep track of what is happening with the controllers is to look in Track View, which shows a miniature display of any controller messages. Listen to the results of what you have done, and be ready to use Cakewalk's mercifully generous multi-level Undo command.

And here's the third and final trick:

Change the durations of notes before dragging them, then use the pencil tool. This trick is most efficient if you apply it to many notes at a time using the Length function. If notes don't completely fill the time allotted to them, they will drag properly. There is a potential problem with this approach: roundoff errors can accumulate as you shorten notes and lengthen them again. Then you may run into the unison cutoff problem. If you change the durations to 80 percent and lengthen them back to 125 percent, roundoff errors will be minimal, since 80 percent is the exact inverse of 125 percent.

Graphic data entry, numeric editing!

Some of the problems you encounter in Staff View result from the difference between standard music notation and the way the MIDI protocol works. The most common of these problems is the unison cutoff problem described in another article on this site. The unison cutoff problem would be less annoying if the Cakewalk documentation explained it, and even less annoying if the Cakewalk software solved it for you.

There are, however, several problems which result directly from the design of the Cakewalk Staff View.

In Staff View, you can select note duration graphically using command buttons, but only for fixed, standard durations. The command buttons do not "float" near the cursor, but often require a long mouse move to the top of the screen. In a Staff View with multiple tracks, the moves are much longer than in the example. Wouldn't it be nice to have the command buttons in a context-sensitive dialog box that you could pop up with a right mouse click? It also would be nice to have the toolbar reshape itself to fit in the window. The toolbar runs off the right edge, even with the rather wide window shown here. It's worse with the narrower window at the beginning of this article. Windows 95 makes it easy to program floating toolbars. In keeping with the long mouse moves, our notated example below honors a famous mouse.

 Staff View showing toolbar (6 KB GIF)


By the way, the insertion of lyrics in Cakewalk works very well indeed. That's to be expected from a company that, oddly (though this is typical in the music software industry) uses the word "songs" to describe all music its customers might create, including, presumably, music with no vocal part at all.

It would be nice to have the toolbar reshape itself to fit in the window. Even in the rather wide window shown here, the toolbar runs off the right edge, With a narrower window at the beginning of this article, many of the tools become unavailable

A trick:

You can select a duration for a new note by first clicking on an existing note which has the duration you want. This can save you a lot of long mouse moves.

Once you have placed a note, there is no way to change its duration graphically in Cakewalk Staff View. You can do this in the notation screens of many other music software products -- for example, by note heads' growing horizontal "tails" that you can drag with the computer mouse. In Cakewalk, you can change note durations graphically in Piano Roll View, but in Staff View, you must do it numerically in the Note Properties dialog box.Properties dialog box (3 KB GIF)

The Note Properties dialog box is a perfect example of a graphics interface subverted to non-graphic ends. It would be nice to click on note shapes to change note durations, but instead, you must enter the new duration in "ticks." Using ticks, while sometimes necessary to define nonstandard durations, is slow, a throwback to the era of 1950's event-list sequencing. Keep a pocket calculator on your desk -- it's faster than switching to the Windows calculator.

The duration of a note can be changed in eighth-note increments (30 ticks, at the usual 120 ticks per quarter note) by right-clicking on the up or down arrow next to the numerical data entry window. The starting time changes by one full beat (120 ticks) if you right-click. This is inconsistent, and inconvenient -- you have to hold down the left button a long time to get through 60 ticks to the middle of the beat. This problem would best be solved with the clickable note shapes I have suggested.

Tuplet limitations

One thing notation can do that a piano roll can't is to identify tuplets clearly. In a piano roll, you see only the raw note durations. Since musical notation represents note timing symbolically and spatially, Staff View shows the metric structure which underlies the durations. This makes it easier to enter tuplets in Staff View, easier to check your work and easier to understand the tuplets later. Tuplets in Staff View (4 KB GIF)

Have a look at the toolbar in the example at the left. The only tuplet number on it (currently selected) is a 3. Cakewalk does not allow graphic entry of tuplets beyond triplets, and does not display tuplets beyond triplets properly in Staff View. This is one of Cakewalk's major weaknesses for the composer or arranger. As I have pointed out in another article, many tuplets can't even be created with the Length and Fit functions. You have to calculate numbers of "ticks" in your head or by hand and enter the timing of each note numerically. Keep the pocket calculator ready. If you are into CAL programming, you could write a CAL routine to create tuplets. But why should you have to do this, given the capabilities of today's graphics interfaces?

Location of measure numbers; a little bug

Fixed in version 7!

Here's something that is correct about Staff View, but it will confuse you because it is wrong in other views. (This problem has been corrected in v. 7. One more reason to upgrade.)

Measure numbers in Staff View (see screen shot above) and Track View are at the beginning of the measure. That's standard musical practice, so you can easily locate the downbeat. Measure numbers in Piano Roll, Controllers and Tempo views are, incorrectly and inconveniently, in the middle of the measure. If you aren't careful, you will find yourself offsetting notes and controller/tempo messages by half a measure. You have been warned.

Bug (.3 KB GIF)And here's a strange little bug. If you open a new file, enter notes in Staff View and then cut or delete all of them, Staff View disappears -- poof! just when you want to use it to start over. You have to open Staff View again to enter more notes. (This does not happen in other views, one more inconsistency between the behavior of Staff View and the others). This little bug appears to reflect the concept that empty time is not part of the music, which is discussed at more length in my article on delete/cut glitches.

I can dream...

Since we've mentioned tuplets, let's begin the dreamer's wish list with them.  I would like to see the “triplets” function taken out of the row of note value buttons and placed in a “tuplets” dialog box with values of 2 (default), 3,5,7,9,11, 13 and perhaps higher. The tuplets function would simply change the “snap” points and note durations. This approach would save a lot of number-crunching on the hand calculator by banishing the present crippling limitations to graphical note entry (no tuplets except triplets, no rests within triplets, no ties in or out).

A “tuplets” dialog box is all that would be needed for easy graphic entry of any tuplet so it would play correctly. Displaying tuplets correctly in Staff View would be more complicated, to be sure, since the tuplet number is not stored as MIDI data. For correct display of all tuplets, Cakewalk would have to generate Staff View from specially stored information rather than from MIDI note timing data. But as I said before, for the purpose of MIDI performance, pretty staff notation is much less important than easy data entry.

An extremely useful feature in Staff View, as in Piano Roll View, would be display of different tracks with the notes in different colors. Staff View already displays three colors to indicate selection status and whether a note is active. Now, imagine if you could display the six tracks from a guitar controller on one staff, and color coding would show you which string was playing which note. Other uses for colors would be in putting several parts for different instruments on one staff, and for microtonal MIDI instruments that have more than 12 pitches per musical octave..

Finally, Staff View often just doesn't let you see enough. It takes only one 32nd note to expand a measure in 4/4 time beyond what an 800 x 600- pixel screen can hold. It would be nice to have a way to zoom Staff View, as is possible with Piano Roll View and Controllers View. Having 32nd notes crowded just wouldn't be much of a problem when editing.Widths in Staff View and Piano Roll View might even be matched so they scroll together. It would also be nice to be able to “chain” several staff lines one above another so they would scroll upwards during playback and show an extended section of music. And it would also be nice to be able to stop the automated scrolling when you are trying to loop and edit a section of music slightly wider than your monitor's screen. And...

Well, I am dreaming. Cakewalk developers, how about starting with the obvious, embarrassing stuff like the problem with the "snap" function?

[Top: John S. Allen's Home Page]
[Up: List of Cakewalk articles]
[Previous: Length and Fit]
[Next: Step Recording]

[contact John S. Allen by e-mail]

Contents 1997 John S. Allen
Mickey Mouse Club March Walt Disney Productions

Last revised 20 May1999