bbFoomp  1.7
description
bbFoomp is a blackbox for windows (and hopefully all-branch compatible) frontend for Foobar2000. Features include:
  • Song Title with scrolling if needed.
  • Controls available through: buttons, bro@ms or a menu.
  • bbFoomp requires some sort of blackbox for windows variant to run.
  • Slit support.
  • revision history

    bbfoomp 1.7 August 12, 2006/ pkt-zer0

    • Fixed:
      Major code rewrite: it's somewhat less rigid now, and easier to expand.
    • Added:
      Shadow support.
      Adjustable scroll speed.
      More styles to choose from.
      User definable button actions and images.

    bbfoomp 1.6 June 2, 2006/ pkt-zer0

    • Fixed:
      Foobar 9.1/9.2 and columns UI support.

    bbfoomp 1.5 June 21, 2005/ freeb0rn

    • Fixed:
      Miscellaneous bugs.
      Foobar 8.3 and columns UI support.

    bbFoomp 1.4 July 28, 2004/ freeb0rn

    • Fixed:
      Some buggy issues with right-aligned FooMegaMode.
    • Added:
      Customizable default text!

    bbFoomp 1.3 July 26, 2004/ freeb0rn

    • Fixed:
      The way that bbFoomp renders the outter rectangle. It now uses the Toolbar settings. Piccolors are still drawn from Label.textcolor I believe. Sorry, Toolbar has no pic/text color.
    • Added:
      FooMegaMode can now be left or right aligned by going into the bbfoomp menu-> preferences -> FooMegaMode alignment.

    bbFoomp 1.2 July 24, 2004/ freeb0rn

    • Fixed:
      The way that bbFoomp renders buttoncolors, there was a slight "bug" since button PicColor could have been the same as Label color. Should be fine now.
    • Added:
      bbFoomp now supports multiple rendering styles
      for the inner rectangle, try them out!
    • Some code optimization.

    bbFoomp 1.1 July 15, 2004/ freeb0rn

    • Added:
      Adjustable height and border-width,
      Minimums for height, width and border-width to prevent possible errors.
    • Edited:
      Readme. Various things were forgotten in 1.0.
      Things relating to newly added (see above) also added.

    bbFoomp 1.0 July 15, 2004/ freeb0rn

    • Original release
    future releases?
  • Doubtful, at least not in terms of new "features".
  • known issues
  • bbFoomp used to notwork with bblean, then it was fixed, then it broke again. If it is still broken, fix it and submit the code change :)
  • license information
    © 2004-2005 Isidoros Passadis aka freeb0rn. Contact me at:
    freeb0rn@yahoo.com.

    BBFOOMP IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE AUTHOR DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF THE AUTHOR OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    initial setup

    Vanilla BB4win and BBLean users:

    To load bbFoomp you simply need to add the relative path of the plugin (from your Blackbox directory) to the Blackbox configuration file plugins.rc (located in the Blackbox directory). For example, if you installed Blackbox into c:\Blackbox, and BBSysmon.dll is located in c:\Blackbox\plugins\bbFoomp\, you should add the line...

    &plugins\bbfoomp\bbFoomp.dll
    to your plugins.rc
    !!! Make sure to note the '&' at the beginning of the second load line. !!!

    Xoblite users:
    To load bbFoomp you simply need to add the relative path of the plugin (from your Blackbox directory) to the Blackbox configuration file plugins.rc (located in the Blackbox directory). For example, if you installed Blackbox into c:\Blackbox, and BBSysmon.dll is located in c:\Blackbox\plugins\bbFoomp\, you should add the line...

    plugins\bbfoomp\bbFoomp.dll
    to your plugins.rc
    how to use bbFoomp...

    Mouse Input

    Once the plugin is loaded, not many things can be done with a simple click on the bbsysmon window.  This will change:

    Double Left Click  Hides or Shows Foobar. (Also opens it). (N/A in MouseOver mode)
    Double Left Click + Shift  Closes (quits) Foobar. (N/A in MouseOver mode)
    Left Click + Ctrl   Moves bbfoomp
    Middle Click  none
    Right Click  opens configuration menu 
    Right Click + Ctrl   none

    The Menu

    The plugin menu let's you change or select various things, and most should be self-explanatory. If they're not, think harder. Still confused? Ask at #bb4win on irc.freenode.net or at the bb plugin forums.

    Miscellaneous Features  

    • Looking for a "Random" button? No need! ALT-click on the play button and be amazed. There is also a random menu entry in the right-click menu.
    • Looking for a way to "Add files" rather than "Open File" ? Simple! Hold the ALT key while clicking the "Open Files" (Looks like a common "eject" button) and you will be able to Add instead of just Open a file!

    Miscellaneous Notes  

    • Minimum values: Height defaults to 22, Width to 200, and BorderWidth to 3.
      The minimum height value is: height must be < 15+borderwidth
      The minimum width value is: 0
      The minimum BorderWidth value is: 0

    bbfoomp.rc settings

    If a configuration file for some reason (e.g. you deleted it <g>) can not be found at startup (BBFoomp will first search for it in the same directory as the plugin, then in the Blackbox directory), BBFoomp will automatically create one for you in the same directory as the plugin.  For now, most settings are configured from the rc file.

    Defaults are as shown.

    bbfoomp.foobar.path: C:\Progra~1\foobar2000\foobar2000.exe  path to the foobar executable. 
    bbfoomp.displaytype: 1 BBFoomp display type. Don't touch.
    bbfoomp.foowidth: 250 BBFoomp Width. Needs to be > 300 for MegaMode to be accessible..
    bbfoomp.xpos: 0 BBFoomp xposition
    bbfoomp.ypos: 0 BBFoomp yposition
    bbfoomp.dockedtoslit: true Is bbfoomp docked to the slit? Don't touch.
    bbfoomp.OnTop: False Is bbfoomp Always On Top? Don't touch.

    bbfoomp.transparency: Is bbfoomp transparent? Don't touch.
    bbfoomp.transparencyAlpha:
    How transparent? (0-255) Edit to your heart's content.
    bbfoomp.InnerStyle: 2 Rendering methods for inner rectangle. Don't touch.
    bbfoomp.OuterStyle: 4 Rendering methods for outer rectangle. Don't touch.
    bbfoomp.MegaLeftAlign: false Alignment of buttons in FooMegaMode (right/left). Don't touch.
    bbfoomp.DefaultText: Nothing Is Playing
    What text to display when foobar is offline.
    bbfoomp.Shadows: FalseToggles the display of shadows.

    bbfoomp.button#.image: The image assigned to the designated button. (0-8 are valid options)
    bbfoomp.button#.command: The commandline arguments given to foobar when the button is clicked.
    bbfoomp.button#.altcommand: The commandline arguments given to foobar when the button is ALT-clicked.
    bbFoomp bro@ms

    @BBShowPlugins  Standard BB bro@m to show all plugins
    @BBHidePlugins  Standard BB bro@m to hide all plugins 

    @bbfoomp About  Shows the about window 

    @bbfoomp Play_Pause  Toggle between playing and pausing a song
    @bbfoomp Stop  Stops the current song
    @bbfoomp Next  Next song (in playlist)
    @bbfoomp Previous  Previous song (in playlist)
    @bbfoomp Random  Random song
    @bbfoomp VolUp  Volume Up
    @bbfoomp VolDown  Volume Down
    @bbfoomp Press#  Acts like you had clicked the designated button
    @bbfoomp AltPress#  Acts like you had alt-clicked the designated button

    acknowledgements
    Everyone in the #bb4win channel. Especially qwilk, nc-17 and tres`ni who helped me through a (rough) start, and snkmchnb for beta testing.