From f14010ccc5c1ba0c20dc9899661b5f1aa2ec26d6 Mon Sep 17 00:00:00 2001 From: arthurkehrwald <50906979+arthurkehrwald@users.noreply.github.com> Date: Mon, 31 Mar 2025 01:47:57 +0200 Subject: [PATCH] doc: Media controller --- .../plugins/mpf/configuration.md | 5 + .../plugins/mpf/event-and-mode-sounds.png | Bin 0 -> 31473 bytes .../plugins/mpf/media-controller.md | 105 ++++++++++++++++++ .../plugins/mpf/mpf-current-player-text.png | Bin 0 -> 13718 bytes .../mpf/mpf-toggle-object-components.png | Bin 0 -> 25284 bytes .../plugins/mpf/technical-details.md | 4 - .../Documentation~/plugins/toc.yml | 2 + 7 files changed, 112 insertions(+), 4 deletions(-) create mode 100644 VisualPinball.Unity/Documentation~/plugins/mpf/event-and-mode-sounds.png create mode 100644 VisualPinball.Unity/Documentation~/plugins/mpf/media-controller.md create mode 100644 VisualPinball.Unity/Documentation~/plugins/mpf/mpf-current-player-text.png create mode 100644 VisualPinball.Unity/Documentation~/plugins/mpf/mpf-toggle-object-components.png diff --git a/VisualPinball.Unity/Documentation~/plugins/mpf/configuration.md b/VisualPinball.Unity/Documentation~/plugins/mpf/configuration.md index fe3b4d4e1..82ad1d442 100644 --- a/VisualPinball.Unity/Documentation~/plugins/mpf/configuration.md +++ b/VisualPinball.Unity/Documentation~/plugins/mpf/configuration.md @@ -76,6 +76,11 @@ Select the media controller MPF should attempt to connect to on startup. version of MPF included in VPE is `v0.80.0`, so it will use Godot. If you choose this option, you must manually install the appropriate media controller. +- **Included:** Use the media controller included with VPE's MPF plugin. If + selected, you can also configure the port through which the media controller + will communicate with MPF and whether or not to log sent and received messages + to the Unity console. See [Media Controller](media-controller.md) for more + information. - **Other:** Do not start any particular media controller, but attempt to connect to an already running media controller. The IP and port to connect to can be configured in MPF. If you choose this option, you are responsible for diff --git a/VisualPinball.Unity/Documentation~/plugins/mpf/event-and-mode-sounds.png b/VisualPinball.Unity/Documentation~/plugins/mpf/event-and-mode-sounds.png new file mode 100644 index 0000000000000000000000000000000000000000..8bdb60b37c487ed140067ab7df6f962b0567d2b6 GIT binary patch literal 31473 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 [!NOTE] +> +> The VPE media controller is very basic compared to the fully featured Kivvy +> and Godot based media controllers by the MPF developers. + +# Media Controller + +MPF is designed with real pinball machines in mind and those typically have a +specialized circuit board for controlling the playfield hardware. To allow MPF +to control your virtual playfield, VPE connects to MPF as if it was a stupid +little circuit board that can do nothing but turn coils and lights on and off. +As a result, MPF only gives simple orders to VPE without providing any +information about the larger context within the current game, like what modes +are active, how many players there are, or even what the score is. To get this +information, VPE connects to MPF through a separate channel designed for +controlling the displays and speakers in the backbox. + +## Text + +Current player text component + +To display variables from MPF (such as the current player's score) in a text +field, you can use one of the following components: + +- **MPF Current Player Text** shows the number of the player whose turn it is. +- **MPF Player Count Text** shows the number of players in the current game. +- **MPF Machine Variable Text** and **MPF Player Variable Text** show machine + and player variables, respectively. For technical reasons, they each have + three variants: + - **String** for text variables including symbols other than numeric digits + - **Int** for whole numbers + - **Float** for decimal numbers + +You can find these components under _Pinball -> MPF Media Controller_ in the +_Add Component_ menu. Each component needs a text field to show the text. To +create one, right-click in your hierarchy and select _UI -> Text - Text Mesh +Pro_. If prompted, import the TMP Essential Resources, then drag the game object +of the newly created text field into the _Text Field_ box on the MPF text +component. To learn about positioning and styling text fields and other UI +elements, refer to the +[Unity documentation](https://docs.unity3d.com/Packages/com.unity.ugui@latest). + +### Formatting + +By default, the text field will display the variable as it was received from +MPF, but you can optionally specify a format string to customize how the value +from MPF is converted to text. The most basic way to use this feature is to add +additional text before or after the variable. For example, enter `P{0}` into the +_Format_ field of an _MPF Current Player Text_ component to prefix the player +number with the letter 'P.' Using more advanced format string features, it is +possible to separate every third digit of the score number with a comma or round +to a certan number of decimal places. You could learn how to do that and much +more in +[Microsoft's introduction to string formatting in .NET](https://learn.microsoft.com/en-us/dotnet/fundamentals/runtime-libraries/system-string-format#get-started-with-the-stringformat-method). +Or you could take the easy route and just ask some LLM to write your format +strings for you. + +## Sound + +
+ + +Event and mode sound components + +To play a sound effect when the player unlocks an achievement or to add a +soundtrack for a specific mode, use the _MPF Event Sound_ and _MPF Mode Sound_ +components. Each one allows you to specify the name of an event or mode from MPF +and a sound it should trigger. _MPF Mode Sound_ has additional options for +stopping the sound that are useful for music. + +
+ +## Toggling Objects + +Componenets for toggling objects + +VPE's media controller can enable and disable game objects in the Unity scene +whenever events occur or modes are triggered in MPF. While it is a far cry from +what is possible with MPF's new Godot based media controller, this feature +allows you to at least show and hide some graphics or videos when things happen +in MPF without having to split your table across two game engines. + +The _Enable During MPF Mode_ component enables its parent object during the +specified MPF mode and disables it otherwise. The _Toggle On MPF Event_ +component enables its parent object when the _Enable Event_ occurs and disables +it when the _Disable Event_ occurs. You do not have to specify both. If both are +set to the same event, that event will enable the object if it is disabled and +enable it when it is disabled. The MPF documentation contains a +[list of all events built into MPF](https://missionpinball.org/latest/events/). +In addition, you can define your own. + +Lastly, make sure the objects you add these components to are intially enabled. +They cannot begin receiving events until their parent object is enabled. If the +object should be disabled initially, do not just disable it in the scene. For +objects controlled by a _Toggle On MPF Event_ component, use its _Enabled On +Start_ checkbox. Objects with an _Enable During MPF Mode_ component will always +be disabled on startup, at least until MPF starts the first mode. diff --git a/VisualPinball.Unity/Documentation~/plugins/mpf/mpf-current-player-text.png b/VisualPinball.Unity/Documentation~/plugins/mpf/mpf-current-player-text.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5c487020014c694526373e78a32026bb4bd439 GIT binary patch literal 13718 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 S#doPlq^~JlO_jLk`u_k*p;Ipa literal 0 HcmV?d00001 diff --git a/VisualPinball.Unity/Documentation~/plugins/mpf/mpf-toggle-object-components.png b/VisualPinball.Unity/Documentation~/plugins/mpf/mpf-toggle-object-components.png new file mode 100644 index 0000000000000000000000000000000000000000..bb64a053e611932c169f9e7aaeaad87b762c1449 GIT binary patch literal 25284 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
    b~%UmcP%GT6>I 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 G?f*9eP4Z6w literal 0 HcmV?d00001 diff --git a/VisualPinball.Unity/Documentation~/plugins/mpf/technical-details.md b/VisualPinball.Unity/Documentation~/plugins/mpf/technical-details.md index 614ee037f..1506e5ce9 100644 --- a/VisualPinball.Unity/Documentation~/plugins/mpf/technical-details.md +++ b/VisualPinball.Unity/Documentation~/plugins/mpf/technical-details.md @@ -58,7 +58,3 @@ previously told VPE that the flipper switch should activate the flipper coil. When the table goes into attract mode, MPF removes the rule and the flippers no longer work. This means that even though MPF runs in a separate process, using it to control your VPE table **does not increase latency**. - -## Media controller - -The media controller is not yet supported. diff --git a/VisualPinball.Unity/Documentation~/plugins/toc.yml b/VisualPinball.Unity/Documentation~/plugins/toc.yml index 87af89831..01f6aeeb5 100644 --- a/VisualPinball.Unity/Documentation~/plugins/toc.yml +++ b/VisualPinball.Unity/Documentation~/plugins/toc.yml @@ -30,5 +30,7 @@ href: mpf/usage.md - name: Configuration href: mpf/configuration.md + - name: Media Controller + href: mpf/media-controller.md - name: Technical details href: mpf/technical-details.md