Can I really control every CPS feature with Director/Shockwave?
Yes, it is really true. This is not an advertising joke;) . Everything that you can do with the CPS program,
is possible to do within Director/Shockwave.
Can you tell me more about it?
Yes, you can find more information in chapter 5 of the manual.
If you still have questions, you can ask them at the Feedback - Support page.
Can I make changes to the patch while it is running?
Yip; though it's not practical to create a patch with a set of commands. It's easier to create
a patch with CPS and then save it as lingo code. Normally people create one big patch,
as well as a few smaller ones. It is common only to create/delete 1 or 2 wires with lingo
at runtime to attach/dettach these smaller parts.
Can I use CPS to send MIDI value's or phrases?
Yes. You can put any number in any controlrate input of any object (just like in the
graphical interface) so also to midi related objects.
If you make a description of a 'phrase' in CPS with tables,
then you can also send phrases of MIDI to CPS.
Notice that you can also get information back from CPS, you can read-out any
'numberField' object, for example to get information about which midiMessages have just
Is it possible to set which soundfiles should be played/used in lingo?
Yes, everything (like in the graphical interface) can be controlled. If you for example
want a table to be switched, you can set the table line to 'sample -1 blabla.mp3' just
like that. The same goes for the audioFromDisk object.
Can CPS use the sounds loaded into the Director cast list?
Unfortunately not. CPS runs completely seperated from Director, so the cast list can not be
accessed. Files must currently be external (often .mp3 files).
Does CPS coexist with the Director's sound functions or does it replace them?
CPS does really run 100% seperated from Director so it also doesn't change anything to
You can still use Director's sound functions at the same time,
although not all soundcards support playback of two programs to the same device, so
it is not advised. Often the intro-screens are done with Director's sound functions
(because this often only involves only the playback of one looping sound),
and the rest is done with CPS.
I use the SDK for the first time, but something doesn't work
First check weither you have installed everything. Depending on your platform, you
should have installed several files, including a 'CPSDirector', a 'mpglib', a 'libsnd'
and a 'CPSPrelude' file. Please read the documentation to read which
files you should copy to where.
After installation, try to run the 'Move your Mouse' example (or another one) from the
SDK-examples. If that one works, you know that you have installed things correctly.
If it doesn't work, read the documentation again to see what you should copy to where.
So, please do not start with a file that you have created yourself, but first try
the 'mouse your mouse example', this avoids fixing your own errors before the installation
is correct at all.
If that example runs allright, use the error checking and look in the messages-window,
BEFORE you e-mail to the helpdesk.
Place a getError-piece of code (which is also inside the generated code) inside your last
frame with the 'go to the frame' code, and keep the 'Messages'-window open to see weither
there's something posted.
Where can I find documentation and examples?
Open the 'SDK' link inside the start menu on Windows, or browse to the /CPS folder
yourself in the applications folder and go to the 'SDK' folder. The 'Director' subfolder
contains documentation and several examples.
There are also some introduction patches created by users, find them in the 'User Patches'
area on the website.
Please read the documentation before you contact the helpdesk or the mailinglist. Note
that the objects themselves also have information, so if you are only looking for
conversate-commands for objects specificly, look in their helptexts (for example
audioFromDisk has a command 'reset') - if the command is not there, just save as lingo
code and the commands are shown (or you have to use kin() to directly manipulate an
I can play a soundfile in CPS, but not inside Director
First make sure you have installed everything correctly (read this
answer). You've probably forgotten to copy the 'mpglib' or the 'libsnd' files
to the right place. If you want to shuffle files around inside audioFromDisk, read the
helptext of audioFromDisk (inside CPS or the manual) for how to reset the internal playlist.
Hmm, Director has just crashed
First make sure you have installed everything correctly (read this
If you (as registered user) have a version of before Februari 2004, ask the helpdesk
(not the mailinglist!)
at the feedback page on this website, for a recent version. It fixes several important
problems, including weird crashes on MacOSX, and weird 'file is locked' messages.
The newer versions also closes the audio by itsself when Director shutsdown, so
just go get the new version!
In general, Director is nice, but it handles Xtra's very badly. Most crashes
should be fixed with the latest update available.
On Windows: if you have an ASIO-card, and you run CPS and Director at the same time,
Director might just stop suddenly. Then look for a tiny Dialogwindow which
says "ASIOMME.DLL is already running!!!", by closing down all visible windows.
Just press 'OK' and then the 'problem' is solved.
This stupid window does not always gets the focus,
so you might not see this window at first instance. This is not a bug, it is Steinberg
(the makers of ASIO) that have created this popup-window, and there's no feedback to
the user of the ASIO-software (that's CPS) that there's a popup-window showing.
How do I convert Director-paths in OS-X to unix paths for CPS?
With a piece of code that looks like this (thanks to Julian Weaver). It puts "/Volumes/" in
front of the old-style path, and it replaces all ":" occurences with "/".
on playtrack me, trackpath
-- trackpath is for example "Macintosh HD:Users:Mp3:test.mp3"
if the environment.platform contains "Macintosh" then
myPrefix = "/Volumes/"
findDelim = ":"
replaceDelim = "/"
repeat while offset(findDelim, trackpath) > 0
replaceChar = offset(findDelim, trackpath)
put replacedelim into char replaceChar of trackpath
trackpath = myPrefix&trackpath
window("stage") does not seem to work, now what?
Using the new window("stage") syntax for changing the shape of the
stage and miaws somehow seems to crash Director mx2004 on windows when running CPS.
The solution is to use the old syntax:
window("stage").appearanceOptions.mask = member(...
(the stage).appearanceOptions.mask = member(...
(thanks Julian Weaver)
How do I read the value of a numberField or a fader inside Director/Java/C++?
Generate sourcecode, and look closely to it, especially look for a call which mentions
'conversate'. Now conversate the command 'get' to the Display object that you want to
read out. The return value is it's current value (in a string).