ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Super​Collider ST3

by acarabott ST3

Sublime Text 3 Package for SuperCollider

Details

Installs

  • Total 733
  • Win 337
  • OS X 293
  • Linux 103
Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
OS X 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

SuperCollider Sublime Text 3 Plugin

Installation

  • Either clone this repo into your Sublime Text 3/Packages folder, or install via Package Control
    • If you cloned the repo, make sure to rename the directory SuperCollider, full dir should be Sublime Text 3/Packages/SuperCollider
  • I recommend copying Packages/SuperCollider/SuperCollider.sublime-settings to Packages/User/SuperCollider.sublime-settings this way you can overwrite any of the preferences easily.
  • If you have installed SuperCollider into a non-standard location, set the path in Package Settings > SuperCollider > Settings - User

Features

  • Execute with multiple cursors
  • Execution highlighting
  • Open Help and Class files directly from Sublime Text
  • Post window in a new tab, group, window, or output panel (see settings file)
  • Fancy block evaluation, expands to lines containing brackets, e.g. executing with the cursor inside a SynthDef will evaluate it without the need for additional parentheses.
  • Near parity with SCIDE commands, e.g. Open User Support Directory, and Open Startup File

Options

See Package Settings > SuperCollider > Settings - Default for further options, including Post Window settings.

Commands

All commands are available in the Tools > SuperCollider Menu, or via the Command Palette

If you want to set key bindings, add an entry to your Preferences -> Package Settings -> SuperCollider -> Key Bindings - User e.g.

{
    "command": "super_collider_stop",
    "keys":    ["super+."],
    "context": [{
        "key":      "selector",
        "operator": "equal",
        "operand":  "source.supercollider"
    }]
}

The available commands are:

  • super_collider_start_interpreter
  • super_collider_stop_interpreter
  • super_collider_evaluate
  • super_collider_open_post_view
  • super_collider_clear_post_view
  • super_collider_boot_server
  • super_collider_kill_server
  • super_collider_reboot_server
  • super_collider_toggle_mute
  • super_collider_increase_volume
  • super_collider_decrease_volume
  • super_collider_restore_volume
  • super_collider_start_recording
  • super_collider_stop_recording
  • super_collider_evaluate
  • super_collider_stop
  • super_collider_recompile
  • super_collider_help
  • super_collider_open_class

Credits

Rewritten for Sublime Text 3 based on ST2 plugin by geoffroymontel.

Also includes: - sclang Syntax converted from TextMate syntax by rfwatson - Some snippets and mouse mapping from Thor Magnusson

Testing TODO

  • Windows
    • Communication with sclang
    • 'Open Startup File' command
    • 'Open User Support Directory' command
  • Linux
    • 'Open Startup File' command
    • 'Open User Support Directory' command

TODO

  • Use system dialog to select SuperCollider application location
  • Provide syntax error feedback in open document (e.g. highlight line with errors)
  • command: show node tree
  • command: dump node terminated
  • command: dump node tree with controls
  • command: look up references
  • autocompletion
    • Make easy to do ctags
    • Include default symbol list from core
  • add schelp syntax from crucialfelix's Atom plugin
  • mini html for error logs with crucialfelix's parsing
    • probably use supercollider.js for this

Future Work

Multiple sclang instances

In theory this plugin could support multiple instances of sclang, however some mechanism would be required to tell the commands (start, stop execute etc) which instance to send the message to.

Possibile approaches:

  • Selectable 'current sclang' menu item