Skip to content

danzeeeman/ScratchMLxClient

 
 

Repository files navigation

ScratchMLxClient

####Version: BETA.0 ####authors: @ScratchML, so blame/tweet them if it sucks ballz ####ScratchML ####Github

This is an openFrameworks app and is release in source code only (binary releases coming soon!): openFrameworks is a C++ toolkit for creative coding

###External addons:

#####[ofxSoundStream] (https://github.com/jocabola/ofxSoundStream) git clone git://github.com/jocabola/ofxSoundStream.git

#####[ofxXwax] (http://github.com/scratchml/ofxXwax) git clone git://github.com/scratchml/ofxXwax.git

###About Most of this work is by @kcimc , Lee Meredith, and @theDANtheMAN. In this release we can track as many Turntables as you have audio inputs. It will write the raw SML performace tag to XML and also send OSC Messages to the defined host:port. This is soo beta it hasn't been tested with actual turntables, but hopefully that will change.

###Setup

####Configure the settings.xml file:

			<sml>
				<record>
					<!--
					format can be: serato_2a, serato_2b, serato_cd, traktor_a,
					traktor_b, mixvibes_v2, mixvibes_7inch
					-->
					<format>serato_2a</format>
					<side>right</side>
					<!-- changes the OSC message address -->
					</record>
				<osc>
				<!-- change to X.X.X.X.255 where XXX is your IP address --> 
					<host>localhost</host>
					<port>12234</port>
					<subdivide>8</subdivide> <!-- send every Nth message from the vinyl -->
					<relative>0</relative> <!-- use relative instead of absolute position -->
					<pitch>0</pitch> <!-- send pitch data -->
					<degrees>0</degrees> <!-- send orientation in degrees -->
					</osc>
				<audio>
					<!-- the samplerate/buffersize should match your audio settings -->
					<sampleRate>44100</sampleRate>
					<buffersize>16</buffersize>
					<!-- Device Name -->
					<interface></interface>
					<!-- if Device name is not present it will default 
					to the device id on a mac the audio-in is device 1-->
					<device>1</device>
					</audio>
				<turntables>
					<decks>1</decks>
					<deck0>left</deck0>
					<deck1>right</deck1>
					<deck2>left_two</deck2>
					<deck3>right_two</deck3>
					</turntables>
			<!-- serial is disabled -->
				<serial>
					<!-- the arduino should report a stream of bytes on this port was tty.usbmodemfd121-->
					<port>/dev/tty.usbmodem411</port>
					<!--
					when the serial data passes this threshold in either direction,
					a 0 or 1 is sent over OSC. in the future, this should be double-ended
					so that it sends 0, .5, or 1.
					-->
					<threshold>240</threshold>
					</serial>
				</sml>

###SML File Below is an exmaple of the SML file, data/Session-X*.xml, that will be generated.

			<sml>
				<version>
					<major>0</major>
					<minor>6</minor>
					</version>
					<about>
						<client>--ScratchML-- Version: BETA.0</client>
						<authors>@ScratchML, so blame/tweet them if it sucks ballz</authors>
						<url>www.scratchml.com</url>
						<github>https://github.com/scratchml</github>
						</about>
				<audio>
					<sample>
						<filename>connect me to the GUI</filename>
						<description>connect me to the GUI</description>
						<deck>connect me to the GUI</deck>
						<start>connect me to the GUI</start>
						<stop>connect me ot the GUI</stop>
						</sample>
					</audio>
				<performance>
					<turntable>
						<deck0>
							<samplerate>375</samplerate>
							<data></data>
							</deck0>
						<deck1>
							<samplerate>375</samplerate>
							<data></data>
							</deck1>
						</turntable>
					</performance>
				</sml>

if you've read this far stay tuned for ScratchMLxEmbedded and ScratchMLxRaspberryPi

You Ain't No DJ

Represent the DirtyDirty

About

Base ScratchML Client includes Session.xml and OSC Output

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%