Releases: missionpinball/mpf-gmc
0.1.3
0.1.3
24 January 2025
BREAKING CHANGES
- A few GMC nodes derived from
Node2D
have been converted to derive fromControl
. All scenes that use the impacted nodes must be manually updated to re-define the GMC nodes. Instructions and questions can be found on the MPF Google Forum. The impacted nodes are:MPFCarousel
MPFChildPool
MPFConditional
MPFConditionalChildren
MPFEventHandler
New Features
- New method
MPF.util.mins_secs()
to convert a seconds integer to formatted clock time (e.g.73
->"1:13"
) - Keyboard events in gmc.cfg now support kwargs
- Optional method
MPF.ignore_input()
to not block GUI input events (for GMC Toolkit)
Improvements
MPFVariable
will now subscribe and update machine variables in realtime- Service mode improved handling of inputs and keyboard emulation
Bug Fixes
- Fix
MPFVariable.initialize_empty
not properly behaving - Fix
GMCBUS.BusType.SOLO
not resuming faded out music during replacement - Fix
MPFConditional
crashing on player 4 - Fix
MPFVariable
crashing when using template strings on numbers - Fix
MPF.game.num_players
not resetting after each game - Fix
[filter]
config option not rendering shader filters - Fix crash on stopping tweens calling
stop_all()
instead ofstop()
- Fix Service mode crashing if a switch has no
number:
defined - Fix GMC panel options showing toggles enabled but being undefined (disabled)
- Catch possible race condition on BCP client shutdown causing a crash
- Catch an error on exiting Godot Editor with RefCounted objects in memory
0.1.2
0.1.2
1 January 2025
Features
- Support for RGB DMD displays with new class
MPFDMDDisplay
- Specify a BCP port with the gmc.cfg option
bcp_port=XXXX
- BCPServer method
send_bytes()
for byte transmission
Improvements
- Don't auto-pause video previews in editor
- Renamed "Autoloads" to "Globals" in docs per Godot 4.3 change
- Removed WIP show creator addon from repo
- Exclude root files from ZIP bundle to avoid file conflicts when installing from Asset Library
- Added CHANGELOG file
Bug Fixes
- Fix
MPFConditional
ref to machine variables - Handle MPF inconsistency in
num
vsplayer_num
kwarg in player_added event
GMC 0.1.1
Here's what's new in GMC 0.1.1!
Breaking Changes
Ducking
Audio ducking attenuation
settings are now specified in a percentage range from 0.0
to 1.0
. Previously attenuation was specified in decibels, but this is changed to be consistent with legacy MC and also easier to intuit. For example, attenuation: 0.5
will reduce the bus by 50% of its full value (after bus volume level is factored in), and attenuation: 0.2
will reduce the bus by 20% of its full value.
Configuration
The main config file (gmc.cfg) has been reworked to include a multitude of configuration options. The previous config file's [settings]
block is renamed to [gmc]
to make more sense alongside all the other settings groups.
What's New
MPFCarousel
has a lot more logging now, to help debug issues. Add anMPFLogger
node to your scene and attach the carousel node to see debug logs.MPFTextInput
class for text entry (still very early stages)
What's Improved
Sound Playback
bus_player:
config option for controlling audio buses directly, including pausing and unpausing buses (#8)loops:
support for all audio types (#16)- Support for MP3 assets
Widgets
- widget(name)_active and widget(name)removed events for better Widget handling
Video Slides
MPFVideoPlayer
option to preview video in editor
What's Fixed
- Fixed exception raised for nil float values by @bernarma in #9
- Converted volume to DB by @bernarma in #14
- Fixed stopping sound on bus by @bernarma in #11
- Fixed player variable tracking and initializing variables when players are added
- Fixed an issue where question marks in settings names would break the BCP parser
New Contributors
Full Changelog: v0.1.0...v0.1.1
Prerelease 0.1.0.dev1
This is the initial advance release of the GMC for early adopters.