{"id":19913674,"url":"https://github.com/leytonoday/audiomanager","last_synced_at":"2025-07-27T04:37:17.912Z","repository":{"id":181091637,"uuid":"431614715","full_name":"leytonoday/AudioManager","owner":"leytonoday","description":"This is an elegant method of implementing audio into your C++ applications using SFML.","archived":false,"fork":false,"pushed_at":"2022-03-19T00:31:07.000Z","size":128,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-11T23:12:43.699Z","etag":null,"topics":["audio","cpp","sfml"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leytonoday.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-11-24T20:07:41.000Z","updated_at":"2022-01-03T01:06:26.000Z","dependencies_parsed_at":"2023-07-14T02:46:10.294Z","dependency_job_id":null,"html_url":"https://github.com/leytonoday/AudioManager","commit_stats":null,"previous_names":["leytonoday/audiomanager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leytonoday%2FAudioManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leytonoday%2FAudioManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leytonoday%2FAudioManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leytonoday%2FAudioManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leytonoday","download_url":"https://codeload.github.com/leytonoday/AudioManager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241342042,"owners_count":19947135,"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","cpp","sfml"],"created_at":"2024-11-12T21:33:42.397Z","updated_at":"2025-03-01T09:17:23.189Z","avatar_url":"https://github.com/leytonoday.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Audio Manager\n\nThe Audio Manager is used to elegantly implement audio into your C++ console or GUI applications. \n\nImplementing audio into an application can be quite daunting, with APIs such as OpenAL and XAudio2. This header only solution alleviates the burden of operating these low-level APIs, and presents the user with a simple pair of high level classes: ```SoundStreamManager``` for long audio (music) and ```SoundManager``` for short audio (sfx). \n\n\n## Project Setup\n\nIt is a helpful wrapper around the audio module of SFML, and as a result, you will need to download and link your application to the SFML dlls. \nVisit this webpage for further instructions: https://www.sfml-dev.org/tutorials/2.5/start-vc.php\n\n## Usage\nEach audio has an ID, of type ```audioID_t```, which is just an ```std::uint32_t``` in the background. You load the audio, and simply pass the ID of the audio you wish to control.\n\nIn the following example, I use the ```SoundManager``` class. Alternatively, you could use ```SoundStreamManager``` in the exact same way. You can find a list of functions in AudioManager.h.\n\n```cpp\n#include \"SoundManager.h\"\n\nusing typename AudioManager::audioID_t;\n\nint main()\n{\n\tAudioManager::SoundManager sm;\n\taudioID_t audioID = sm.Load(\"wavSound1.wav\");\n\n\tsm.Play(audioID);\n\twhile (sm.IsPlaying(audioID)) {} // Audio playing here\n\tsm.Unload(audioID);\n\n\treturn 0;\n}\n```\n\nContact me for general enqueries here: leytonodayabc123@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleytonoday%2Faudiomanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleytonoday%2Faudiomanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleytonoday%2Faudiomanager/lists"}