Hey all,
New version is ready. A whole lots of features in this one... including some new and exiting things that make a lot possible. Can't wait to see what the scripters come up with.
Download at:
http://www.psyci.com/bbi/
Here are the details.
BBI CORE IMPROVEMENTS:
Architecture Improvements: [psyci]
- Agents themselves cannot have agents attached to them (allows Compound Text Agent, Switched State Agent, and Graph agent to exist, and has lots of potential)
Styles: [pkt-zer0]
- Style literals
- Extra color format: rgb10:r/g/b - r, g, and b are decimal values 0-255
Modules (improved) [pkt-zer0]
- No more limitations on naming and control count.
- Use commented lines to set the different properties: "!Module: <name>" is necessary, <name> can only contain alphanumeric characters and underscores. Other properties are "!Author:" and "!Comments:"
- "Interface operations > Assign to module..." option added.
- "Set Active Module": New controls will automatically be assigned to this module.
- OnLoad and OnUnload actions - for the main config file, too.
Message preprocessing [pkt-zer0]
- Quoted broams are no longer exempt from preprocessing, use $$VarName$$ in such places, if that's the desired behaviour.
- Variable indirection: The value of a variable is used to access a control or another variable. ($*VarName$)
- $Slider.Value$ and $Switch.Value$ added.
- Variables saved to file: Use the "Static" keyword after the "Set" command, and optionally a module name to specify where it should be saved. (@BBInterface Set Static [Module] Variable Value)
- Expression evaluation for the "Set" command
Menu Improvements [psyci]
- Menu layout slightly easier to navigate (Options are on top, assigned agent type is displayed in menu)
CONTROLS:
Slider Control (Improved) [psyci]
- Slider control now has OnGrab, OnRelease, and OnChange agent slots that can be assigned to any action
- Added MinimumBroadcastValue and MaximumBroadcastValue property (use with Bro@ms)
Button/SwitchButton Control (Improved) [psyci]
- Buttons now have ImageWhenPressed agent slot (when this isn't set, the Image property is used)
AGENTS:
Winamp Agent (Improved) [psyci]
- Track time elapsed now available to assign to any text field
- Track time remaining now available to assign to any text field
- Track time remaining now available to assign to any text field
- Is Playing now available as a boolean value
System Monitor Agent (Improved) [psyci]
- All system monitor agents (CPU, Memory, Battery) can now be attached in text form to any text field
- Fixed bug with battery meter when plugged in
Compound Text Agent (NEW) [psyci]
- New agent can string together multiple pieces of text from any text source (for example, "CPU: 25% Memory: 30% Winamp Title: Your Song Here" can be the title of a button)
Switched State Agent (NEW) [psyci]
- Values linked to any boolean value can have two state images/text/triggers (for example, a button could have a different image and a different piece of text depending on if the volume is muted or not).
Graph Agent (NEW) [psyci]
- Attach as an image to any control that can contain an image (button, label, frame)
- Graphs any scale value over time (CPU Usage, Memory Usage, Battery Power, Volume, etc)
Slider Control (Improved) [psyci]
- Added OnChange, OnGrab, and OnRelease agents to Slider control
- Added Minimum & Maximum Broadcast Value property
Bitmap/Icon Agent (Improved) [psyci]
- Added "Change Source..." item to options menu that allows you to change source of icon without losing alignment/sizing properties
Bro@m Agent (Improved) [psyci]
- Removed ability to assign broams to sliders (did not fit in to architecture)
- Added ability to replace "$BroadcastValue$" in a broam message with the assigned control's value (0 or 1 for switch buttons, customizable range for sliders)
A compatibility note: Just about everything should be compatible with the previous versions. However, there is one change that script-makers should be aware of. Previously, you could assign a broam to a slider. This was kind of strange; a broam is not really a value. I changed the implementation of this, which might break a few scripts, but it is for the better. Changes are:
- Sliders now have "OnGrab", "OnChange", and "OnRelease" agents that can be assigned to *any* action, including broams.
- Sliders have "Minimum Broadcast Value" and "Maximum Broadcast Value" properties now (replacing the MinValue and MaxValue properties of broams)
- Broams now have the ability to replace "$BroadcastValue$" with the value of the control they are attached to.
Combine those three changes together, and you can get the same functionality but with a better architecture.
Enjoy!