{"id":13437710,"url":"https://github.com/bocasfx/Q","last_synced_at":"2025-03-19T18:30:26.209Z","repository":{"id":11863652,"uuid":"85618589","full_name":"bocasfx/Q","owner":"bocasfx","description":"Q - Nodular Synthesizer/Sequencer","archived":false,"fork":false,"pushed_at":"2024-06-18T07:39:11.000Z","size":90406,"stargazers_count":12,"open_issues_count":14,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-27T23:23:27.001Z","etag":null,"topics":["audio","electron","midi","music","react","sequencer","synthesizer","webaudio"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bocasfx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-20T19:40:26.000Z","updated_at":"2024-09-04T10:13:15.000Z","dependencies_parsed_at":"2024-03-11T16:36:02.679Z","dependency_job_id":"20fc9c2d-0cce-45c7-9cf3-1a8456c5d728","html_url":"https://github.com/bocasfx/Q","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bocasfx%2FQ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bocasfx%2FQ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bocasfx%2FQ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bocasfx%2FQ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bocasfx","download_url":"https://codeload.github.com/bocasfx/Q/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244483060,"owners_count":20460050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","electron","midi","music","react","sequencer","synthesizer","webaudio"],"created_at":"2024-07-31T03:00:59.555Z","updated_at":"2025-03-19T18:30:25.666Z","avatar_url":"https://github.com/bocasfx.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"[![Netlify Status](https://api.netlify.com/api/v1/badges/604e7488-88e9-4afd-94bc-41671701fe55/deploy-status)](https://app.netlify.com/sites/qseq/deploys)\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"./resources/icon/icon.png\" width=\"256px\"/\u003e\u003c/p\u003e\n\n### \u003cp align=\"center\"\u003eQ - Nodular Sequencer\u003c/p\u003e\n\n------\n\nQ is a Nodular Sequencer controlled by the interactions between nodes and particle streams. It was built using \u003ca href=\"https://facebook.github.io/react/\" target=\"_blank\"\u003eReact\u003c/a\u003e.\n\n## Platforms\n\nQ has been tested on Chrome but it should work on any decent browser with MIDI support.\n\n## Nodes\n\nNodes generate midi messages whenever they become in contact with a particle.\n\n- **MIDI**\n  - noteOn/noteOff messages to the specified MIDI destination.\n  - Lag and probability controls.\n  - Velocity control.\n  - Note and octave selectors.\n  - MIDI destination selector.\n\n## Streams\n\nParticles travel along the paths defined by streams. Streams can have zero or more particles. There are three different types of particles:\n\n- **Linear**\n  - Linear particle flow (user-defined length).\n  - Particle count and speed controls.\n- **Circular**\n  - Circular particle flow (user-defined radius).\n  - Particle count and speed controls.\n- **Freehand**\n  - Freehand particle flow (user defined path).\n  - Particle count and speed controls.\n\n## User Guide\n\n|                   Icon                   | Action                                   |\n| :--------------------------------------: | :--------------------------------------- |\n| \u003cimg src=\"./resources/menu/grab.svg\" width=\"50px\"/\u003e | **Grab nodes** - Click on a node to select it. Click and drag a node to change its position. Click on an empty area to deselect nodes. ⌘+Drag on an epmty area to shift the position of the display panel. |\n| \u003cimg src=\"./resources/menu/midi.svg\" width=\"50px\"/\u003e | **MIDI nodes** - Click anywhere on the display panel to create a MIDI node. |\n| \u003cimg src=\"./resources/menu/linear-stream.svg\" width=\"50px\"/\u003e | **Linear Streams** - Click and drag anywhere on the display panel to create a linear stream. |\n| \u003cimg src=\"./resources/menu/circular-stream.svg\" width=\"50px\"/\u003e | **Circular Streams** - Click and drag anywhere on the display panel to create a circular stream. |\n| \u003cimg src=\"./resources/menu/stream.svg\" width=\"50px\"/\u003e | **Freehand Streams** - Click and drag anywhere on the display panel to create a freehand stream. |\n| \u003cimg src=\"./resources/menu/clone.svg\" width=\"50px\"/\u003e | **Clone nodes** - Click on a node to clone it. |\n| \u003cimg src=\"./resources/menu/link.svg\" width=\"50px\"/\u003e | **Link nodes** - Click on a node and drag to a second node to link them. Messages travel from parent nodes to child nodes but not from child nodes to parent nodes. Loops are not allowed. |\n| \u003cimg src=\"./resources/menu/unlink.svg\" width=\"50px\"/\u003e | **Unlink nodes** - Click on a parent node and drag to a child node to unlink them. |\n\n\n## Keyboard Shortcuts\n\n| Shortcut  | Action                                 |\n| --------- | -------------------------------------- |\n| Spacebar  | Play/Pause.                            |\n| Backspace | Delete nodes.                          |\n| ⌘+A       | Select all nodes.                      |\n| ⌘+S       | Save project.                          |\n| ⌘+O       | Open project.                          |\n| ⌘+N       | Create a new project                   |\n| ⌘+⇧+S     | Save current project to local storage. |\n| ⌘+⇧+O     | Load project from local storage.       |\n| ⌘+⇧+C     | Clear local storage.                   |\n| ⌘+Click   | Select Multiple nodes.                 |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbocasfx%2FQ","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbocasfx%2FQ","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbocasfx%2FQ/lists"}