Performance Editor is now open source!

Posted by Dreamflight on March 3rd 2010

Due to work/life commitments, I've released everything to date as GPL'd open-source. The Max/MSP project folder for the performance editor can be found here: http://www.xstremetouch.com/development/perfedit1.0beta.zip. Please feel free to contact me at support - at - xstremetouch.com if you have any questions as to how to use it :)

XStremeTouch forums now online

Posted by Dreamflight on February 9th 2010

http://xstremetouch.freeforums.org/index.php is now available for tracking bugs and also provides a place to post your thoughts, feedback, bug reports, ideas etc. Feel free to contribute if you use the software!

XStremeTouch Performance Editor - early Beta version now available

Posted by Dreamflight on February 8th 2010

The first publicly available beta of the Performance Editor is now available for Mac and PC. This is a bit of a milestone release, as it means that the application is finally usable, although there are some beta-specific caveats to bear in mind. These are as follows:

  • You have to select the XS Interface from the drop-down menu before syncing
  • The current build only permits you to edit the currently selected performance
  • You cannot write to the XS from within the software yet. For now, use the store button on the synth :-)
  • This is a big application, and as such there are sure to be little oddities / bugs. Please report any you find
  • The syncing isn't perfect. Sometimes when you sync you may get off results. If this happens, reselect the XS MIDI interface, wait a few seconds and retry
The downloads are here:
 
Windows: XST-PerfEdit1-BETA-Win.zip
OS X: XST-PerfEdit1-BETA-Mac.zip

 
I'll put some more detailed info up over the next few days, but for now feel free to download and play around with it.

XS Virtual Keyboard now available for download!

Posted by Dreamflight on January 21st 2010

The XStremeTouch Performance Editor continues to make good progress. One of the things I decided to add is a virtual keyboard so that you can audition the performance using the computer rather than having to try it on the XS itself. This seemingly little thing kinda snowballed and I ended up implementing a fairly detailed sub-application which is a virtual MIDI keyboard with XS-specific features. I was happy enough with it that I've decided to provide it as a standalone application (it will also be included in the editor of course).


 
It is available for OS X (Snow Leopard compatible, but I've only tested it in 32bit mode) and Windows (tested on Windows XP). Here are the download links:
 
Windows Version (3.8Mb)
 
OS X Version (30.8Mb)
 
Despite the difference in filesizes, both are functionally identical, it's just the way they turned out.
 
Instructions: Use the tooltips to hover over items on the GUI, it should be self-explanatory. The chord generator and note displays will work with any MIDI device, but to use the XS-specific functions (part controls and arpeggiator controls) you need to be in Performance Mode, and you must select the MIDI interface that your XS is connected to (obviously!).
 
Enjoy :-)

A new year and a big update!

Posted by Dreamflight on January 5th 2010

Wow, how time flies. Well I apologise for being somewhat slow updating the site recently. Partly due to Christmas and New Year things and also (and more to the point) because I've been working hard on the code. A huge amount of work has been done and I am pushing hard to get the initial release out this month! So, without further ado here is a quick rundown of the application in screenshots...


Firstly, here is the main screen. Rather than constrain everything into a single window with lots of tabs, the Performance Editor is designed as a series of seperate windows which can be opened, closed and positioned at will. This main window is always open and provides the starting point from which all the others are accessed. As you can see, there are some incomplete and missing elements in this screenshot. Firstly, the voice names are not updated and secondly, only part 1 in the 'Part' area has got a button for ARPs. Of course these are just interim states of play and the released version will have everything filled in and completed :)
 
Clicking on a button opens a window containing the related controls to that function. This permits you to lay the screen out to your preferences rather than having to toggle between lots of tabs. Some controls are replicated across multiple windows as well. For example you will see the 'Tempo' displayed in several places. Where this happens, adjusting any instance of the parameter will automatically update all the others, so everything stays in sync.


Here we have the 'Common EG' window. As with all 'Common' parameters, the values in here are applied to all 4 parts within a performance as offsets to the values configured within the voice or part.
 

This is the Master Level, EQ and FX window. At the time of writing the FX sections are not implemented so there is just a placeholder space for them right now. The green bars in the EQ section can be dragged up for positive values, or down for negative values. Negative values will be shown in red and positive values in green, with zero being vertically central. This is a colour scheme I'm retro-applying to several positive/negative type slider controls. The 'Q' values on the Low and High frequencies are greyed out as the shape parameter is set to 'shelving'. If it is set to 'peak' (by clicking on it) then the Q controls become active. This 'greying out' approach is used in a few places throughout the GUI to indicate controls that are not currently active due to the settings in other paramneters.


The 'Common ARP' settings here are another example of controls that appear in more than one place. The Swing, Quantize Strength, Gate Time and Velocity knobs are replicated in a tab on the main screen, but also belong here. This permits ready access to them even if they are not displayed on the main screen due to another tab being selected. The little icons around the Sync Quantize Value knob took me hours to draw and align! It's little things like this that can really soak up the hours.
 

This window is where you can determine what the display format for voices in the USR banks will be. From here you can choose to use the factory default names, a generic set (which just displayed '--USER--' as the name for all USR voice names) or the actual USR voice names on the XS. This latter option requires a bulk query which takes a little time to execute, depending on whether you are using mLAN or USB for your MIDI connection. The application is smart enough to query the voice names as fast as the XS sends them so it will dynmically adjust to the speed of your MIDI connection. Queried voice names are saved for future reference, so the 'forget custom voice names' option is provided to clear this cached data should you so wish.


This screen permits you to define the controller assignments permitted by the XS. Controllers can either be selected from pull-up menus (using the right hand controls) or input directly by clicking and dragging on the number boxes to the left.
 

This window is where you define the parameters for individual parts. There are 4 identical windows, one for each part. ARPs and FX are not included in this window as they require a goodly set of controls themselves. Clicking on the 'Edit Arpeggios' button brings up the following window:
 

This window is currently being worked on, so not all the labels and values may make sense in the screenshot! As with the part edit window, there are 4 instances of this window, which correspond to the ARP settings for each of the 4 parts within the performance.

So, there you have a few glimpes of the application as it currently stands. There are some things I haven't shown here and some things that will be added to these existing windows but progress is good, and it's working really well right now. The main things required to get it finished up ready for the intial release are as follows:

  • Finish the part editors
  • Finish the voice selection controls
  • Implement the A/D related controls
  • Finish the ARP editors (this will include the ability to add notes to arpeggios)
  • The initial version of the FX editors. The first released version will permit selection of effects, but not editing of them. This will follow in a subsequent release.
  • Complete the virtual keyboard (which permits playing of the XS via an on-screen keyboard for convenience)
I am still working out the fine details of ARP editing. There are some subtle dependencies which need to be addressed. For example if you have a drum voice selected then the range of available ARPs is different than if you have a normal voice selected. There's a bunch of other gnarly things to work on too, but I've got a pretty good idea of the way I want the finished thing to work so I'll be getting on with that in the meantime. At this point I'm aiming for a solid functional release initially, and will be adding extra features to it in subsequent updates. For example I'd like to have a semi-intelligent performance generation capability which can create nice sounding pseudo-random performances based on some input data... think along the lines of "generate a split performance with a bass on the lower half, a lead on the upper half and a funk-style ARP" for example. I'm sure I've missed out some other things in this post but it's all in the works!