Csound Csound-dev Csound-tekno Search About

OSCillation and TouchOSC: OSC controller apps for Android Csound

Date2015-07-16 16:49
From"Art Hunkins"
SubjectOSCillation and TouchOSC: OSC controller apps for Android Csound
Several months ago I reported on TouchOSC as a GUI controller app for 
Android Csound6 running on the same Android device. For both OSC and MIDI 
control from Android, whether to Csound on Android or Windows or Mac, 
TouchOSC is the gold standard. It is stable, well-suported and extensively 
documented. Its GUI editor for all mainline platforms is user-friendly - so 
much so that it is required by other OSC apps for GUI design, *including 
OSCillation*. The only possibly significant drawback of TouchOSC is that it 
costs $5US.

Several other comparable OSC controllers for Android are free; the best of 
them - and very close to TouchOSC conceptually - is OSCillation. It also has 
a stable and growing Spanish company behind it.

If you want to *create* your own custom GUIs for Android, of course, you'll 
need to purchase TouchOSC. (Note too that OSCillation does not include 
MIDI.) If you only want to distribute performance GUIs to others, however, 
you can save users $5 by distributing GUIs performable by OSCillation.

Coding .csds and TouchOSC GUIs for performance by OSCillation, however, 
means making extensive changes to both. To test compatibility between 
TouchOSC and OSCillation, I "ported" 4 of my compositions (both .csds and 
GUIs) from TouchOSC to OSCillation, making as few changes as possible.

All materials relating to OSCillation are contained in this (non-public) zip 
archive:
http://arthunkins.com/WORKOSCforAndroid.zip

The comparable TouchOSC materials  are openly available at:
http://arthunkins.com/PeacealtAndroid.zip and
http://arthunkins.com/SpiritusSanctusAlts.zip
(These latter archives also contain, for comparison, .csds coded for my 
enhanced, "alternate" yet standard Android apps, i.e., they do not require a 
separate GUI performance app.)

OSCillation has several features that TouchOSC doesn't. 1) OSCillation can 
communicate with up to 4 different servers, one per page of an OSCillation 
Layout (GUI). 2) A version of OSCillation exists for Windows devices. I 
didn't test either of these features, as they were not relevent to my needs.

Though OSCillation is a stable product, it suffers from several fairly major 
problems: 1) documentation is poor, difficult to locate, and is not 
well-expressed in translation. (Much correspondence with a helpful tech 
person was required.) 2) As OSCillation is the only app by this company - 
their primary business is hardware devices which OSCillation is designed to 
control, all OSC communication is via *DMX channels* (with which I was 
entirely unfamiliar).Though their devices are all media related, including 
an emphasis on audio, their experience does not include interfacing with 
music software such as Csound.

With DMX, values sent from OSCillation are limited to a maximum of 255, and 
return values to OSCillation controller widgets  to *integers* (max 255). 
Together with a unique DMX message format, these numerical limitations led 
to many necessary  coding changes, both GUI and .csd.

Another coding issue - one that required visual change to the GUI itself - 
was the fact that string messages cannot be sent to on-screen label widgets. 
(This is promised to be "fixed" in a later version of the app. The 
OSCillation tech was unaware that TouchOSC offered this feature.) This 
difference can be viewed in the GUIs for my two "Peace" compositions.

A final note: the limitation of numerical displays for slider/knob values to 
integers presented a special problem: I needed to display values with two 
decimal places. (This limitation will not disappear in later versions of 
OSCillation.) My creative if outlandish "solution" was as follows: multiply 
my decimal value by 100, round it, send it out, then create a 
decimal-point-only label widget pasting it on-screen precisely at the 
appropriate position. Thank goodness values sent to *labels* can exceed 255. 
(Conclusion: where there's a will there is often a way!)

Despite the extensive coding modifications, OSCillation GUIs are compatible 
with TouchOSC. With the more usual TouchOSC GUI, the reverse is not true.

Bottom line: The $5US is well spent by all - especially by the 
composer/arranger.

Art Hunkins


------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Csound-users mailing list
Csound-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-users
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here