{"id":15011316,"url":"https://github.com/gabixel/soundboard","last_synced_at":"2025-10-30T17:31:24.290Z","repository":{"id":173122823,"uuid":"508720943","full_name":"Gabixel/Soundboard","owner":"Gabixel","description":"A soundboard for everyone! [PAUSED PROJECT]","archived":true,"fork":false,"pushed_at":"2024-04-06T13:38:13.000Z","size":2809,"stargazers_count":1,"open_issues_count":13,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T10:23:40.771Z","etag":null,"topics":["audio-player","electron","soundboard"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Gabixel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-06-29T14:15:53.000Z","updated_at":"2024-10-27T17:11:17.000Z","dependencies_parsed_at":"2024-01-26T01:26:34.946Z","dependency_job_id":"1ceff208-4d38-4681-958c-061bcfa7b295","html_url":"https://github.com/Gabixel/Soundboard","commit_stats":null,"previous_names":["gabixel/soundboard"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gabixel%2FSoundboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gabixel%2FSoundboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gabixel%2FSoundboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gabixel%2FSoundboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gabixel","download_url":"https://codeload.github.com/Gabixel/Soundboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239011412,"owners_count":19567661,"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-player","electron","soundboard"],"created_at":"2024-09-24T19:40:38.100Z","updated_at":"2025-10-30T17:31:18.797Z","avatar_url":"https://github.com/Gabixel.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Soundboard\nA soundboard for everyone!\n\n**This project is still very WIP. Everything is subject to change.**\n\nThis is one of my first projects to be published on GitHub, so you can expect it to be less than perfect!\n\nAt the moment I am not very active on this project, partly due to the implementation of [Discord's built-in soundboard](https://support.discord.com/hc/en-us/articles/12612888127767-Soundboard-FAQ), but I would like to get back into it at some point (since Discord's built-in one is quite limited anyway).\n\nYou can watch this small preview:\n\nhttps://github.com/Gabixel/Soundboard/assets/43073074/6e798cbc-766c-46fb-871f-51a9f39789ee\n\n---\n\n\u003e [!NOTE]\n\u003e ## How do I use a Soundboard?\n\u003e You can only use your soundboard to send tracks on your desired **real** output by default. If you want to send some sounds to a microphone and use it for online meetings, you must install a \"virtual cable\" (aka a _driver_). This cable is responsible for sending the audio _**output**_ to a _virtual **input**_ device. A common driver is [VB-Cable](https://vb-audio.com/Cable/) (for Mac and Windows).\n\n## Programming\nThe project uses [Electron](https://www.electronjs.org/) as its core, [TypeScript](https://www.typescriptlang.org/) for JavaScript management and [LESS](https://lesscss.org/) for the CSS part (but still not very great for my expectations).\n\n## Debug 'n Run\nTo start debugging the app:\n- Open your terminal in the root directory of this project\n- To compile JavaScript (using TypeScript), run the following command: `npm run tsc-all`. This will compile all the `.ts` files present in the `/app` and `/src/ts` folders.\n  - You can also [compile in \"watch mode\"](https://www.typescriptlang.org/docs/handbook/configuring-watch.html) by running `npm run tsc-all-w`\n- To compile CSS (using LESS), see the [*Easy LESS* extension](https://marketplace.visualstudio.com/items?itemName=mrcrowl.easy-less) in VSCode (you can search `mrcrowl.easy-less` in the extensions list)\n  - Go on each `.less` file and do \u003ckbd\u003eCTRL\u003c/kbd\u003e + \u003ckbd\u003eS\u003c/kbd\u003e to generate the `.css` format\n  - (TODO: use official LESS npm compiler to make this process easier)\n- If you use [VSCode](https://code.visualstudio.com/), you can use the debug shortcut (by default, on Windows it should be \u003ckbd\u003eF5\u003c/kbd\u003e).\u003cbr /\u003e\n  There are different debugging options available here. You can check them in the [launch.json](./.vscode/launch.json) file and VSCode.\n- You can run the app by typing `npm run debug`.\n\n\u003c!-- TODO: add an explanation for forced TS compilation (i.e. \"--force\") --\u003e\n\n## Notes\n- There's an issue with antiviruses when the app tries to list the OS audio devices, probably because the logic attempts to filter out anything that is not output at the beginning:\n  https://github.com/Gabixel/Soundboard/blob/f69f7430667be0f34ab75b82e8ceac8536519275/src/ts/audio/AudioPlayer.ts#L96-L100\n  As a result, there's the risk that the app gets flagged for trying to access other types (like microphones and webcams). Here's the example on my end:\n  ![avast one](https://user-images.githubusercontent.com/43073074/224540986-0cfaa501-bcf2-4a44-9505-21c21e71b398.png)\n- For some reason, VB-Cable audio can sometimes be glitchy, with strange interference in the sound (and it only seems to happen with Discord, but I'm not sure). You can watch [this tutorial](https://youtu.be/Y9DLLxeY5vo) which explains some functional remedies to solve the problem (sometimes only temporarily). [I have written a script](https://github.com/users/Gabixel/projects/2/views/1?itemId=22765111\u0026pane=issue) to make this step semi-automatic, but it still needs to be integrated into this soundboard and I would like to make it as automatic as possible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabixel%2Fsoundboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabixel%2Fsoundboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabixel%2Fsoundboard/lists"}