Skip to content

API Wizard (foo_api_wizard) is a sacred chapter of The Wizardium, unlocking foobar2000’s ActiveX realm for seamless JavaScript automation. Cast spells to control playback, playlists, and library with radiant precision.

License

Notifications You must be signed in to change notification settings

TT-ReBORN/API-Wizard

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


API Wizard Logo

API Wizard Title

API Wizard Subtitle


*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.


⸺ Aurea Clavis Splendet ⸺




Arcana Of The Topaz Spell

  • 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.

Gather The Relics


Perform The Ritual

  1. Invoke foobar2000's installation ceremony.
  2. Channel this sacred chapter from its Topazurum Sanctum.
  3. Bind the component to your foobar2000 essence.

Cast The Spell

  • 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).
  • Scripting with JavaScript:

    1. Use Spider Monkey Panel or JSplitter to access the API Wizard interface.
    2. 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

Join The Inner Circle

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.

Hall Of Honorable Scholars

  • Peter Pawlowski for foobar2000, the sacred canvas of our Arcane Arts.
  • Tsuda Kageyu for MinHook.

Sacred Oaths

This holy spell be bound by the sacred oath of the MIT License.



API Wizard Footer Slogan

About

API Wizard (foo_api_wizard) is a sacred chapter of The Wizardium, unlocking foobar2000’s ActiveX realm for seamless JavaScript automation. Cast spells to control playback, playlists, and library with radiant precision.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 93.4%
  • C 4.0%
  • HTML 1.9%
  • Objective-C++ 0.3%
  • Objective-C 0.3%
  • CMake 0.1%