128-spring-2013/ChucK Tutorial 3

From CCRMA Wiki
Jump to: navigation, search

SVN Version Control

SVN synchronizes files and code across multiple computers by synchronizing those files with a central server. The central server keeps copies of each version of each file it receives, which can be retrieved later if needed. Each computer maintains a copy of the whole repository. Changes and additions are made to the local repository and then committed to the central server. When other computers perform an update, they pull down these changes.

Whirlwind Terminal/Command Line tutorial

  • pwd : print working directory (e.g. the current directory)
  • ls : list all of the files and directories in the current directory
  • cd directory : change directory to directory
  • cd : (with no directory parameter) jump to the home directory i.e. /Users/slork/
  • open filename : open filename using the default application

When you first start Terminal the current directory is initially /Users/slork/ (most of the time).

Essential SVN Commands

On every Slorktop, the SVN directory is located at /Users/slork/slork.

  • svn status : display information about the current state of the local SVN repository
  • svn add filenames : add new files to the local repository
  • svn commit -m 'message' : commit any changes in the local repository, including added files, to the central server, with message as the commit message
  • svn update : pull down any new changes or files from the central server
  • svn revert filename : discard changes to filename, reverting it the last version committed to the central server

Network Communication with Open Sound Control

Open Sound Control (OSC) allows different programs running on multiple computers to communicate with each other flexibly and with low latency. It can also be used to communicate between programs in different languages, such as ChucK, Processing (http://processing.org/), Python/Ruby, and C/C++.

Communication in OSC transpires with a series of messages, formed by an address, a type tag, and data conforming to the type tag. Examples of address/type tags:

 /my/cool/message ff
 /play/kick f
 /play/snare f
 /beat i
 /usermsg s

f corresponds to float, i is int, s is string.

OSC in ChucK

Examples from lecture:

Examples from the ChucK webpage: