Ctk

Composer's Tool Kit - objects for real-time and non-real-time composition

CTK

The Composer's Tool Kit

Introduction

CTK - The Composer's Tool Kit - is a set of Object classes to aid specifically in the creation of fixed pieces through the use of a Score-like structure. To make general usage easier, the CTK Objects also support real-time control through the .play method. The objects included in the CTK are:

  • CtkScore
  • CtkSynthDef
  • CtkProtoNotes
  • CtkNote
  • CtkBuffer
  • CtkControl
  • CtkAudio
  • CtkEvent
  • CtkGroup

The CTK Objects can be used as a replacement for the object oriented classes in the standard SuperCollider distribution (Synth, Buffer, Group, and Bus). The main difference is that these classes can easily be used to populate a CtkScore for non-real-time (NRT) synthesis.

CTK classes were originally developed by Josh Parmenter. Other contributors include Michael McCrea, Daniel Peterson, and Marcin Pączkowski.

Disadvantages to the standard object classes:

  • Since the classes can operate in both modes, CtkNotes (the CTK equivalent of a Synth) needs to be explicitly told to 'play'. Synthesis does not begin automatically.
  • CtkNotes are prototyped according to an actual SynthDef, as a result some of the objects syntax is a little different. Arguments are passed to the CtkNote instance in a different way than Synth and may take some getting used to (though the syntax is more in line with the getter and setter methods of other SC objects... more below).
  • To make these Objects as flexible as possible with other Ctk objects, the classes check for quite a bit internally. This of course adds some overhead to the language side of SuperCollider, though performance problems generally have not been noticed by the users.

Advantages to the standard object classes:

  • Very easy to use in both real-time and non-real-time mode.
  • Arguments to instances of CtkNote are set through more traditional getter and setter methods. When a CtkNoteObject is created, methods are added to its instance that correspond with the Control parameters of a SynthDef (including array parameters).
  • In real-time mode, the change of an argument's value will be reflected in the running synth.
  • Better support for playing CtkScore in real-time. Instances of CtkBuffer will be allocated before the score is played, allowing for loading of large buffers before notes are played. CtkBuffers also de-allocate themselves after the CtkScore finishes playing.
BeatKeeper
Project
Source file
Extension
Superclass:
CtkAudio
Project
Source file
Extension
Superclass:
CtkBus
CtkBuffer
Project
Source file
Extension
Superclass:
CtkObj
CtkBus
Project
Source file
Extension
Superclass:
CtkObj
CtkControl
Project
Source file
Extension
Superclass:
CtkBus
CtkEvent
Project
Source file
Extension
Superclass:
CtkObj
CtkGroup
Project
Source file
Extension
Superclass:
CtkNode
CtkMsg
Project
Source file
Extension
Superclass:
CtkObj
CtkNode
Project
Source file
Extension
Superclass:
CtkObj
CtkNote
Project
Source file
Extension
Superclass:
CtkNode
CtkNoteObject
Project
Source file
Extension
Superclass:
CtkObj
Project
Source file
Extension
Superclass:
CtkPEvents
Project
Source file
Extension
Superclass:
CtkObj
CtkPEventsGUI
Project
Source file
Extension
Superclass:
CtkPGroup
Project
Source file
Extension
Superclass:
CtkGroup
CtkPMod
Project
Source file
Extension
Superclass:
CtkObj
CtkPModGUI
Project
Source file
Extension
Superclass:
CtkPModSheet
Project
Source file
Extension
Superclass:
CtkProtoNotes
Project
Source file
Extension
Superclass:
CtkScore
Project
Source file
Extension
Superclass:
CtkObj
CtkSynthDef
Project
Source file
Extension
Superclass:
CtkNoteObject
CtkTimer
Project
Source file
Extension
Superclass:
Env
Project
Source file
Extension
Superclass:
GuidoArt
Project
Source file
Extension
Superclass:
GuidoArticulation
Project
Source file
Extension
Superclass:
GuidoMark
GuidoClef
Project
Source file
Extension
Superclass:
GuidoEvent
GuidoDynamic
Project
Source file
Extension
Superclass:
GuidoMark
GuidoEvent
Project
Source file
Extension
Superclass:
GuidoObj
GuidoKeySig
Project
Source file
Extension
Superclass:
GuidoEvent
GuidoMark
Project
Source file
Extension
Superclass:
GuidoNote
Project
Source file
Extension
Superclass:
GuidoEvent
GuidoObj
Project
Source file
Extension
Superclass:
GuidoPart
Project
Source file
Extension
Superclass:
GuidoObj
GuidoScore
Project
Source file
Extension
Superclass:
GuidoObj
GuidoSpanner
Project
Source file
Extension
Superclass:
GuidoEvent
GuidoTempo
Project
Source file
Extension
Superclass:
GuidoMark
GuidoTimeSig
Project
Source file
Extension
Superclass:
GuidoEvent
LPChord
Project
Source file
Extension
Superclass:
LPEvent
LPClef
Project
Source file
Extension
Superclass:
LPEvent
LPEvent
Project
Source file
Extension
Superclass:
LPObj
LPKeySig
Project
Source file
Extension
Superclass:
LPEvent
LPLayoutObjects
Project
Source file
Extension
Superclass:
LPNote
Project
Source file
Extension
Superclass:
LPEvent
LPObj
Project
Source file
Extension
Superclass:
LPPart
Project
Source file
Extension
Superclass:
LPObj
LPRest
Project
Source file
Extension
Superclass:
LPEvent
LPScore
Project
Source file
Extension
Superclass:
LPObj
LPTempo
Project
Source file
Extension
Superclass:
LPEvent
LPTimeSig
Project
Source file
Extension
Superclass:
LPEvent
LPVoice
Project
Source file
Extension
Superclass:
LPObj
NtkClef
Project
Source file
Extension
Superclass:
NtkPriorityOneEvent
NtkEvent
Project
Source file
Extension
Superclass:
NtkObj
NtkKeySig
Project
Source file
Extension
Superclass:
NtkPriorityOneEvent
NtkNote
Project
Source file
Extension
Superclass:
NtkEvent
NtkObj
Project
Source file
Extension
Superclass:
NtkPart
Project
Source file
Extension
Superclass:
NtkObj
NtkPriorityOneEvent
Project
Source file
Extension
Superclass:
NtkEvent
NtkScore
Project
Source file
Extension
Superclass:
NtkObj
NtkTimeSig
Project
Source file
Extension
Superclass:
NtkPriorityOneEvent
Opus
Project
Source file
Extension
Superclass:
PC
Project
Source file
Extension
Superclass:
PitchClass
PColl
Project
Source file
Extension
Superclass:
PitchCollection
PI
Project
Source file
Extension
Superclass:
PitchInterval
PitchClass
Project
Source file
Extension
Superclass:
PitchCollection
Project
Source file
Extension
Superclass:
PitchInterval
Project
Source file
Extension
Superclass:
SequenceableCollection
Project
Source file
Extension
Superclass:
SimpleNumber
Project
Source file
Extension
Superclass:
String
Project
Source file
Extension
Superclass:
Symbol
Project
Source file
Extension
Superclass:
XMLChord
Project
Source file
Extension
Superclass:
XMLClef
Project
Source file
Extension
Superclass:
XMLEvent
Project
Source file
Extension
Superclass:
XMLKey
Project
Source file
Extension
Superclass:
XMLMeasure
Project
Source file
Extension
Superclass:
XMLMusicObj
XMLMelody
Project
Source file
Extension
Superclass:
XMLMeter
Project
Source file
Extension
Superclass:
XMLMusicObj
Project
Source file
Extension
Superclass:
XMLNote
Project
Source file
Extension
Superclass:
XMLMusicObj
XMLPart
Project
Source file
Extension
Superclass:
XMLRest
Project
Source file
Extension
Superclass:
XMLMusicObj
XMLScore
Project
Source file
Extension
Superclass:
XMLTempo
Project
Source file
Extension
Superclass:
XMLVoice
Project
Source file
Extension
Superclass:

Found no versions tagged via git

Installation

Repository

URL

https://github.com/supercollider-quarks/Ctk

Since

2007-11-29

Last update

2022-07-23

Current version

Quark info

name

Ctk

path

Ctk

author

Joshua Parmenter, Marcin Pączkowski

schelp

Overviews/Ctk

summary

Composer's Tool Kit - objects for real-time and non-real-time composition

dependencies

['XML']

Possible dependcies

XML

Possible dependants