- Optimized Piano roll rendering. 2-3x faster now for most things.
- piano roll: made some visual tweaks
- piano roll: added new commands, insert time, delete time
- piano roll: made it possible to bring up menu with keyboard (ctrl-space)
Archive for April, 2009
Optimizations I
Tuesday, April 28th, 2009Updates
Saturday, April 25th, 2009Finished up a few more items on the song view. Tempo changes are now possible. I also fixed some bugs and updated the current mac build. There are still a handful of issues with the song view that need to be fixed, but I may move on to other areas to beef them up. One important area is optimizing the screen redrawing of the piano roll and song view. I’m very interested in music apps on small form factor devices at the moment. I’ve been toying around with the idea of doing an iPhone or PSP music app. The easiest solution though is just get Genome working on a netbook. That should be no problem, but I want to be sure that it runs fast enough on those less powerful processors. Currently it’s struggling a bit on my quad core, so that’s a problem. No optimization has been done, so no worries yet. I think a netbook with a touchscreen would be a pretty cool way to run genome.
Song View VI
Saturday, April 18th, 2009
Nearing the light at the end of the tunnel for the song view
- Many fixes and additions concerning mouse / keyboard selection and control. This is one of my favorite areas to work on (though it can be time consuming) since sometimes small changes to the feel can have a big impact on usability
- added keyboard shortcut for adding markers. other fixes concerning markers (missing undo’s, added doubleclick to split a marker, etc..).
Still to do in this phase:
- Tempo markers, tempo box
- 6 or so small fixes and additions
Next Phase: Improve control surface functionality
Song View V
Sunday, April 5th, 2009- Added GUI widgets for pan / volume on tracks.. Still not set on how to lay them out exactly
- Double Clicking on a pattern now takes you directly to the editor for that pattern (such as the piano roll)
- ctrl-space sets current pattern to whatever pattern is under the cursor
- numerous usability tweaks and fixes
Song View IV
Saturday, April 4th, 2009
Been a while since I’ve posted, but I’ve been hard at work on the song view. Keyboard controls are working now - you can use the arrows to move through the list of tracks and move a cursor. Overall I mirrored the piano roll for consistency - the cursor works essentially the same. Spacebar inserts a pattern, you can select/cut/paste using the ‘cursor’. The mouse also controls the cursor and allows you to select, add pattern (double click) and remove patterns.
The UI in genome is going to be all about speed and ease of use. Whereas most sequencers rely heavily on the mouse and toolbars packed with different editing modes, genome can be controlled entirely with the keyboard, a combination of keyboard and mouse, or just with the mouse. There are no toolbars required for standard editing. Genome’s toolbar is purely for navigation, file i/o, copy/paste, etc.. I find having to switch tools only slows a person down (ie, having to click the ‘eraser’ if you want to delete something, or the scissors if you want to split a pattern, etc..). A lot of sequencers don’t even have keyboard shortcuts for common actions. While keyboard shortcuts should never be relied exclusively (since they are ‘hidden’ from the user), they are a great help for advanced users who already know the ins and outs of a program and want to get things done faster.
Another thing that really irritates me about today’s sequencers (and even a lot of VST’s) is that they try to pack too much information on one screen. A lot of musicians seem to think that having 100 knobs, all exactly the same size and color is acceptable, as long as they have access to all the parameters. ‘Maximize your space’, I’ve heard people say. What a load of crap. Space is part of the design, and never wasted. A good UI design has a hierarchy of information. More important or commonly used controls should be bigger, set apart or otherwise distinguished. Less common controls can be made smaller or shifted to another logical tab or page. Trying to cram everything on one page does not make things faster or easier - usually the opposite, since people will need to spend more time scanning for what they are looking for. It’s okay if the user needs a couple clicks to find something, as long as he has no trouble figuring out where he is going. The layout of the controls on a page should reflect a typical user’s workflow - the first items they need to edit should be first on the page, and the sequence should follow left to right, top to bottom, the order that a user would need to go through them. Buttons should be big enough that pressing them (or finding them for that matter) is not tedious. Icons, unless totally self explanatory, need labels! I can’t tell you how frustrated I get when I open Cubase, Live or almost any other big-name seqeuencer/workstation software. The learning curve is so high. If the web has taught us anything, it’s that it IS possible to write software that is intuitive enough for people to figure out without needing an instruction manual - we just need good design. Unfortunately, a lot of design decisions end up getting made by programmers or people who don’t have good UI experience (or who are trying to save themselves some work). Also, a lot of music software tries to immitate the look and feel of music gear, which (though cool looking) is rarely well designed. Try to program a beat on a typical drum machine, I guarantee you can do the same thing 10 times faster on the computer, where you don’t have to memorize esoteric combinations of buttons, and aren’t limited to a 2 line display. Why try to imitate devices that have had to make UI sacrifices in the name of hardware limitations?
It’s also been said that good design involves removing features until you are left with the bare essentials and I’m going to be experimenting with this. Maybe we don’t need to see audio waveforms or every note in a pattern, on the song screen. Does that information really help you make a song? Maybe we just need to know what pattern it is or maybe we can just hear what pattern it is. Taking away features like that reduces the visual complexity and should make it easier to find what you are looking for. It’s also less intimidating for new users. Keep the UI simple. This is music, not nuclear physics.