{"id":20848444,"url":"https://github.com/helloworld017/looped-back","last_synced_at":"2025-05-12T02:32:36.439Z","repository":{"id":47399383,"uuid":"197803693","full_name":"HelloWorld017/looped-back","owner":"HelloWorld017","description":"A node module to change loopback device (a.k.a \"Listen to this device\") in Windows.","archived":false,"fork":false,"pushed_at":"2022-12-09T18:59:27.000Z","size":60,"stargazers_count":5,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-09T02:39:03.240Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HelloWorld017.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}},"created_at":"2019-07-19T15:57:00.000Z","updated_at":"2024-07-05T01:31:49.000Z","dependencies_parsed_at":"2023-01-25T15:40:10.968Z","dependency_job_id":null,"html_url":"https://github.com/HelloWorld017/looped-back","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Flooped-back","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Flooped-back/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Flooped-back/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloWorld017%2Flooped-back/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HelloWorld017","download_url":"https://codeload.github.com/HelloWorld017/looped-back/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225116202,"owners_count":17423196,"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":[],"created_at":"2024-11-18T02:26:03.050Z","updated_at":"2024-11-18T02:26:03.919Z","avatar_url":"https://github.com/HelloWorld017.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LoopedBack\nA node module to change loopback device (a.k.a \"Listen to this device\") in Windows.  \nCodes imported from [mrbindraw/DemoStereoMix](https://github.com/mrbindraw/DemoStereoMix)\n\n## Building\nTo compile the extension for the first time, run\n\n```\n$ npm i\n```\n\nAll subsequent builds only need `npm run build`\n\n## Usage\n\n```node\n$ node\n\u003e const LoopedBack = require('looped-back');\nundefined\n\n\u003e const looped = new LoopedBack();\nundefined\n\n\u003e looped.isInitialized();\ntrue\n\n\u003e looped.getDevices(LoopedBack.DEVICE_ALL);\n[\n\t{\n\t\tid: '{0.0.0.00000000}.{01234567-89ab-cdef-0123-456789abcdef}',\n\t\tname: 'Speaker(High Definition Audio Device)'\n\t},\n\n\t{\n\t\tid: '{0.0.0.00000000}.{12345678-90ab-cdef-1234-567890abcdef}',\n\t\tname: 'Microphone(High Definition Audio Device)'\n\t},\n\t...\n]\n\n\u003e const microphone = looped.getDevices(LoopedBack.DEVICE_CAPTURE)[0];\nundefined\n\n\u003e const speaker = looped.getDevices(LoopedBack.DEVICE_RENDER)[0];\nundefined\n\n\u003e looped.getLoopback(microphone.id); //returns null if loopback is disabled\nnull\n\n\u003e looped.setLoopback(microphone.id, speaker.id); //returns false if failed\ntrue\n\n\u003e looped.getLoopback(microphone.id);\n'{0.0.0.00000000}.{01234567-89ab-cdef-0123-456789abcdef}'\n\n\u003e looped.setLoopback(microphone.id); //disables loopback\ntrue\n\n\u003e looped.setDefaultEndpoint(microphone.id, LoopedBack.ROLE_COMMUNICATION)\ntrue\n\n\u003e looped.getDefaultEndpoint(LoopedBack.DEVICE_CAPTURE)[LoopedBack.ROLE_COMMUNICATION];\n'{0.0.0.00000000}.{12345678-90ab-cdef-1234-567890abcdef}'\n\n\u003e looped.destroy();\nundefined\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelloworld017%2Flooped-back","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelloworld017%2Flooped-back","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelloworld017%2Flooped-back/lists"}