cables DocumentationHow To UseWorking with filesKeyboard ShortcutsUser Interface WalkthroughBeginner TutorialBeginner 1: Drawing A CircleBeginner 2: TransformationsBeginner 3: ColorMore TransformationsIntermediateImage CompositionsPost-Processing 3D ScenesCommunicationcables APIExporting And EmbeddingHow to serve files externally and fix CORS headersExporting PatchesExport using the cables command line interfaceExport via IframeExport creating a standalone executableExport to github (pages)Export and deploy to netlifyExport for Cables Standalone VersionExport a ZIP fileExternal triggers / functionsUsing variablesPreviewing / uploading exported cables patchesExamples for EmbeddingPermissionsUsersPatchesTeamsOpsMultiplayerPatchlistsCoding OpsCreating AttachmentsGeneral op/Port CallbacksPortsDynamic PortsArray PortsBoolean portsInteger Number PortsObject PortsString portsTrigger PortsFloating Point Number PortsGUI/UI attributesHello Op - Part 1LibrariesDeveloping OpsRenaming / Creating a new versionCreating Viz OpsGuidelinesObject PortsPatching Ops / SubPatchOpsWriting ShadersWeb Audio Op DevelopmentHTML And CSS In CablesLightingLightsShadowsWorking With AudioBasic Audio SetupWorking with EffectsReal-Time Audio Analyzation & Audio VisualizationOffline Audio Visualization & AnalyzationOptimizing Performance In PatchesTools for debugging your patchHow to optimize cables patches with the Performance opHow to optimize cables patches with the ProfilerCommon pitfalls with the "usual suspects"Optimizing arraysDebugging Shaders with ShaderInfoFAQAudio in web browsersHow to make demoscene demos with cables.glEmbeddingHow to integrate my cables patch into my CMS (webflow/wix/squarespace/...)?How to remove grey rectangles on touch (mobile)?Why doesn't the DownloadTexture op work on iOS?How to disable page scrolling on mobile?Mobile tippsHow to run exported patches on your local machineTransparent CanvasFeatures and SupportHow to contribute code to cablesWill there be support for (animated) GIFs?Can i use a website as a texture?Screenshots and Video recordingHow to report a bug in cablesHow can I share a patch to get help?How can I support cables?Video playback in cablesGeneral questionsWhat is dev.cables.glJavascript Frameworkscordova / phonegapelectronreactvuejsLicenses and paymentWhat license do i need to use cables?Will I have to pay for it in the future?How is my work licensed when using cables?Does cables support midi and OSC?Patch PermissionsMy User Profile & Social MediaShadertoyCables at schools and universitiesTechnical questionsWebGL1 and WebGL2undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined


Patchlists are a way of organizing and collecting patches on, these can be yours or patches
from other people in the community. Patchlists can be private, unlisted or public. Just like teams and patches themselves.

Patchlists can contain patches of any visibility, a public patchlist does not give any additional rights to the patches it
contains to users coming via the list. Keep this in mind when setting lists to "public" or "unlisted".

Public patchlists

Patchlists that are set to "public" can be shared with everyone and appear in the list of public patchlists.

Public patchlists:

Unlisted patchlists

You can set patchlists to "unlisted" visibility. Users need the URL of the patchlists to access it. Rules are the same as
for public patchlists (see above) but they will never appear in any other list.

So, rules are:

  • Can be viewed by everyone in the community and even visitors

Private patchlists

Create private patchlist for a collection of your own patches or some favourites you want to get back to every once
in a while. This is the default state when creating a patchlist.

Once you create or clone a patch on it is marked as private. This means:

  • Only you (as the owner) can view the patchlist via your patchlists.
  • Only you (as the owner) can view, edit and save the patchlist in the editor
  • Only you (as the owner) can invite other people for collaboration or add the patchlist to a team
  • Only the owner can delete a patchlist

Shared patchlists

There are several ways to share patchlists on Depending on your usecase or audience, pick any of the following:



By adding other users to your patchlists, you grant them "read only" or "full access" to your patchlist. Use this to work on patches with other people.

Users with "Read Only" access can:

  • View the patchlist

Users with "Full Access" can do all of the above, and:

  • Edit the patchlists and save it
  • Manage patchlists settings (change name, add patches, reorder the list, ...)
  • Invite other users or add teams as collaborators
  • Delegate ownership of a patchlists to some other collaborator



Using the "Collaboration" tab in the patchlists settings you can add one or multiple teams to the patchlists (if you have "Full Access").

Adding a team to any patchlists will:

  • Grant "Read Only" access to all (current and future) team members
  • "Full Access" still needs to be granted on a personal level, via collaborators (see above)

Found a problem? Edit this file on github and contribute to cables!