AsPyFoo

by tnl (tnl TA asia TOD com)

AsPyFoo is a set of Python scripts that lets you play songs in Audiosurf according to foobar2000's active playlist or playback.

Execute AsPyFoo, specifying the Audiosurf character you want to use.

What AsPyFoo does, in a loop

  1. If playback in foobar2000 is paused, it advances the playlist (plays the next song).
    If playback is stopped, it starts playback.
  2. If then a song file is playing and is surfable, it loads the file in Audiosurf.
  3. Once the track appears for surfing, it pauses foobar2000.

What this means

Implications that may not sound so great

As a system, AsPyFoo is indirect, since it is effectively hidden without its console shown. There is no indication that it is responsible for what it does, unless it works and you as a user are aware of its presence.

Because Audiosurf and foobar2000 aren't integrated means it can be weird to bridge the two apps. For example, if you play Audiosurf fullscreen at a resolution different than your desktop resolution for the same monitor, it can be awkward and annoying to switch back and forth between Audiosurf and foobar2000, when you want to view or change your playlist or song.

I cannot prescribe a set usage pattern for either foobar2000 or Audiosurf, but I can list some behaviors to adopt to make it tolerable to use. It may be best to use AsPyFoo in your manner that avoids or accepts the issues brought on by a lack of an integrated user interface.

Setup & Usage

AsPyFoo has only been tested on Windows XP Pro 32bit. I don't expect it to work on 64bit Windows but if it does, this documentation should be changed.

AsPyFoo requires the following installed, firstly:

Because of how COM works, foobar2000 must be installed to a known location on the system, I think, so this likely disqualifies a portable version of foobar2000.

There is no graphical user interface in AsPyFoo.

There is a script to generate shortcuts in order to control AsPyFoo. Execute Make_Shortcuts.pyw to create Windows shortcuts in the subfolder named shortcuts, after you have placed AsPyFoo in a desired folder.

As such is the design, I throw the shortcuts I want into a folder that Launchy indexes, so that I am keystrokes away from using AsPyFoo.

Configuration

options.ini can be edited (but don't remove it, break it, etc.; there's no error handling).

I haven't tested other Audiosurf addons but I imagine AsPyFoo would not interfere with those that only set startup options.

Download

You can download AsPyFoo as a set of Python scripts. The latest version is also available in my bitbucket. The project itself isn't developed enough to warrant an upgrade procedure, so expect that the files (including configuration) are likely incompatible between versions.

Script files contained

audiosurf_foobar2000.pyw

Make_Shortcuts.pyw

aspybase.py

aspyfoo.py

ashifyfoo.py

runwithoutfocus.pyw

ashstats.py