Quarks
A Quark is a package of SC classes, helpfiles, C++ source for UGens and other SC code
The Quarks subversion repository is hosted at
https://svn.sourceforge.net/svnroot/quarks
Quarks.repos.url
Quarks are downloaded onto your local machine in this folder:
{Application Support Directory}/quarks
Quarks.local.path
They are installed into your Extensions folder via the Quarks class which simply adds/removes symlinks.
see [Using-Extensions]
You may use standard SVN tools within Quarks.local.path to work with Quarks packages.
The Quarks class interface mirrors the svn commands with the correct paths inserted.
It is easiest to just check out all available quarks:
Quarks.checkoutAll
// post those check out
Quarks.checkedOut
Quarks.install("testquark")
// recompile your library now
TestQuark.sayHello
Quarks.listInstalled
Quarks.uninstall("testquark")
// recompile your library now
// this returns quark objects for those installed
Quarks.installed
// quark objects for each one in repository that you could checkout
Quarks.repos.quarks
// quark objects that you could install
Quarks.local.quarks
To add your own quarks simply place the folder into local quarks/
and
svn add quarkname
place a quarkname.quark file into the DIRECTORY
svn add DIRECTORY/quarkname.quark
and
svn commit
Check status of your working copy:
Quarks.status
// update all
Quarks.update
// update specific
Quarks.update("testquark")
// this would add the folder but would not add the DIRECTORY entry
/*
Quarks.add("somethingnew");
*/
Not checking out all Quarks
At a future time when the universe is populated by billions of quarks you may wish to not clutter your local.
In the {Application Support Directory}/quarks/DIRECTORY folder there is a quark specification file for each Quark named quarkname.quark
This is an sc code file containing a dictionary specifying name, version number and relative path.
You may check out only quarks and quarks/DIRECTORY
Quarks.repos.checkDir
This will post the command to checkout quarks non-recursively and then to checkout quarks/DIRECTORY
You want to do:
svn co -N url path
to non-recursively checkout only the top level quarks folder, and then check out individual
// update DIRECTORY
Quarks.updateDirectory
// list all quarks in the repository
Quarks.repos.quarks
// check one just out
Quarks.checkout("test")
Quarks.update("test")
Quarks.status("test")
Quarks.checkedOut
Quarks.installed.postln