ScreenPlay 1.1

Since completing my PhD in April 2017 I have started a new job working as a full time Lecturer in Music Production at Edge Hill University. My research time in this role has been dedicated to the continued development of ScreenPlay, building on its existing strengths to make it a more stable, user-friendly, and practicable system.

Whilst some time has been spent on tweaking the underlying Markovian generative and topic-theory-inspired transformative algorithms, the majority of my attention has been focussed on a complete redesign of the GUI, as well as allowing for the Max for Live devices to be used completely independently of the GUI.

For the GUI redesign I decided to move over to Liine’s Lemur, having previously used Hexler’s TouchOSC, in order to harness its massively increased power and flexibility when compared with TouchOSC. The newly redesigned GUI is contained within a single page; a significant reduction from the three pages over which the TouchOSC GUI was previously distributed. Key/scale selection is now accessible via simple drop-down menus, as opposed to the selection matrix implemented in the previous iteration of the GUI. Additionally, changes to the key/scale applied to the grid-based playing surface are now handled entirely within Lemur, with the MIDI note numbers assigned to individual pads changing according to the key/scale selection. Previously, this had been handled within the ScreenPlay-CTRL Max for Live MIDI device, with the pads comprising the playing surface consistently outputting the same MIDI pitch information and this being transposed accordingly upon being received by ScreenPlay-CTRL. Likewise, velocity control of notes as defined by the velocity slider on the GUI is also accounted for inside Lemur, rather than in Max for Live as had previously been the case. The summation of these changes amount to an increased level of stability when using the system as well as reduced latency and CPU load.

In order to constrain the entire GUI to a single page – one of the goals of the redesign – it was necessary to devise a way of accommodating both the button matrix gird and the generative/transformative algorithm controls within the confines of a relatively small space. This has been achieved by utilising the same space on the GUI for both elements and enabling users to switch between to two. The surrounding controls remain unchanged regardless of what is displayed in the centre of the GUI, affording users access to clip, key/scale, tempo, velocity, and quantisation settings at all times.

Changes have also been made to the meta-level controls afforded by the GUI, with parameter controls for existing elements being improved and entirely new meta control functionality being added. Specifically, parameters such as record/global quantisation and clip/loop length are now accessible via drop-down menus (much in the same way as key/scale selection), and clip management has been improved through the removal of dedicated buttons for deletion, which have been replaced by hold-to-delete functionality. In conjunction with the changes to the organisation/distribution of the playing surface and algorithmic controls, all of this amounts to a streamlined interface with reduced demands on screen real estate. Newly introduced meta-level control functionality includes the addition of a play/stop button as well as a MIDI mappable drop-down menu for part selection when the system is being used in single-mode. Both elements are important additions with respect to improving the integration of ScreenPlay into the existing studio/live setups of practising electronic musicians.

Continuing in this vein, controls for the Markovian generative and topic-theory-inspired transformative algorithms have been added directly to the Max for Live MIDI Device GUIs, allowing for them to be used entirely independently of the Lemur GUI. As before, two-way communication between interfaces is exhibited when ScreenPlay is running in multi-mode, in that changes made to global parameters by one user are reflected in the interfaces of the others. Similarly, when running in single-mode, the GUI updates to reflect the status of the currently selected part. This functionality has now been extended so that two-way communication exists between the Max for Live MIDI Device GUIs and the Lemur GUI, which is particularly useful when using ScreenPlay in single-mode as part of an existing compositional/performative setup.

To read more about the conceptual framework underpinning ScreenPlay please refer here.