*Sealed within the radiant Topazurum Sanctum, where crystals hum with the primal force of automation, the API Wizard is a sacred key to The Wizardium’s grimoire. Its runic seal, the elder ᚢ Uruz, yields only to masters of COM incantations, unveiling foobar2000’s ActiveX realm to command its core with arcane JavaScript.
- COM Automation Mastery: Manipulate foobar2000’s ActiveX objects for playback, playlist, and library control.
- Flexible Registration: Supports registration-free COM (via MinHook) or traditional registry-based COM.
- Scripting Power: Seamless JavaScript integration for dynamic automation, with getter/setter properties (e.g., window dimensions) and methods (e.g., window resizing, message display).
- API Reference: Comprehensive documentation for all COM methods and properties.
- Conjure foobar2000 - The foundational altar
- Summon Spider Monkey Panel or JSplitter - For JavaScript communion
- Invoke foobar2000's installation ceremony.
- Channel this sacred chapter from its Topazurum Sanctum.
- Bind the component to your foobar2000 essence.
-
Configure COM Registration:
- Set the COM registration method in
MyCOM.cpp
:static HRESULT RegisterMyCOM(std::wstring_view regMethod = L"RegFree"); // "RegFree" or "RegEntry" static HRESULT UnregisterMyCOM(std::wstring_view regMethod = L"RegFree"); // "RegFree" or "RegEntry" static HRESULT QuitMyCOM(std::wstring_view regMethod = L"RegFree"); // "RegFree" or "RegEntry"
RegFree
: Uses registration-free COM for simplified deployment via MinHook.RegEntry
: Uses traditional registry-based COM registration.
- Build the component using a C++ compiler and the foobar2000 SDK (included in the repository).
- Set the COM registration method in
-
Scripting with JavaScript:
- Use Spider Monkey Panel or JSplitter to access the API Wizard interface.
- Instantiate the
MyCOM
ActiveX object to manipulate foobar2000 properties and behaviors:const myCOM = new ActiveXObject('MyCOM'); console.log(myCOM.WindowWidth); // Get window width myCOM.WindowWidth = 1000; // Set window width myCOM.SetWindowSize(1000, 500); // Set window size myCOM.PrintMessage(); // Display a message
New Arcane Arts are ever welcome! Prove your mastery:
- Forge Enhancements: Submit pull requests to expand this chapter's magic.
- Reveal Mystical Anomalies: Open issues to report eldritch bugs.
- Earn Your Sigil: Notable contributors will be etched in the Hall of Honorable Scholars.
- Peter Pawlowski for foobar2000, the sacred canvas of our Arcane Arts.
- Tsuda Kageyu for MinHook.
This holy spell be bound by the sacred oath of the MIT License.