Genome Studio A Collaborative Multiuser Music Sequencer

3Mar/090

Undo

  • Finished up module - view undo.
  • Started on 'patch load' undo
  • Still need to do the FileParameter undo, then it's on to the next area.

1Mar/090

Weekend Update

  • Implemented Undo for PatternView
  • Refactored ModuleViewComponent to decouple interface commands. This facillitates..:
  • Implented Undo for ModuleView. Still need to fix 'move module', 'edit volume' commands, and I need to save full settings for any modules that get deleted (so they can be undeleted). But, the basic stuff seems to be working.
  • also implemented undo for the Song view, though for the most part it piggy backs on the module view stuff. One or two things to fix there too.
  • I will continue implementing undo for the rest of the parameter types. Once I finish with Undo, I will work on adding a lot of missing features the Song Module. The list of 'must have' features keeps getting shorter..

23Feb/090

Work Log

  • Implemented basic Undo/Redo for sliders. Just need to write commands for the other kinds of actions. Only took about 20 lines of code - gotta love Juce.

22Feb/090

Weekend Update

  • Added 'bookmarks'. Basically you can bookmark any 'view' in the app and recall it quickly.
  • Worked on planning how to implement Undo. Re-read the 'command pattern' section in my Headfirst: Design Patterns book. It's a great book and I feel like I gain new insights every time I read it. I have a solid plan now that shouldn't be too difficult to implement given my current structuring.

17Feb/091

Wrapping up ‘Global Frame’ stuff

  • Added play/stop/rewind/loop buttons to toolbar
  • Began implementing bookmarks. Refactored some navigation code to make it simpler.
  • Next up - Song improvements or implement Undo depending on my mood.

Filed under: Genome Work Log 1 Comment
16Feb/090

Weekend Update 3

  • Added new global toolbar. Basically pulls some of the menu items to an easier to use location. Play / pause / etc buttons will be added on here eventually
  • numerous fixes
  • Just need to implement bookmarks then I will move on to some much needed improvements to the Song module.

15Feb/090

Weekend Update 2

  • Added ability to hide top / left navigation to free up additional screen real estate (useful for small screens, like netbooks which I plan on supporting)
  • Clarified some collaboration workflow issues
  • numerous small fixes and improvements

14Feb/090

Weekend update 1

Navigation updates

  • There's still a few things left to do with the piano roll but I decided that the other parts of the program need some attention (not to mention a lot of 'low hanging fruit'), so I am moving on for now. I will return later..
  • Added a new Navigation menu with shortcuts to navigate up/down and sideways through the module hierachy. This makes it possible to navigate through the whole app with the arrow keys (maybe in the future you'll be able to use gamepads or other devices..)
  • Highlighted the current module in the top/left nav buttons. Should help people understand what they are there for, not to mention making it a lot easier to navigate and understand where you are in the app. See screenshot.

8Feb/090

Piano Rollin’

  • Added right click menu to piano roll:
  • Added quantize, splice, copy, paste, cut, add/del pattern to menu
  • Changed the keyboard shortcuts a little and added shortcuts for changing the selection length
  • Added ability to select pitches in the main view without having to click on the keyboard keys
  • Fixed an issue with devices and midi learn
  • Fixed note recording to prevent mal-formed notes (Note ons without a note off, etc).
  • Uncovered some issues with recording parameter automation from Input Devices

2Feb/092

Piano Roll additions

  • Added ability to use input devices to enter notes in the piano roll (step sequencer style). Works pretty nicely.
  • Added Shortcut keys for all the buttons on the toolbar
  • Added generic way to pass messages from modules back to the UI. Which was used for:
  • Added pattern playhead position indicator