Skip to content

Releases: arkamax404-max/MediaControlGsmtcPlugin

Media Control for D200 v1.7.1

Choose a tag to compare

@arkamax404-max arkamax404-max released this 11 Sep 19:03

Clearer artwork controls

Artwork mosaic tiles can now show a compact action badge in their matching outer corner. Each badge uses a white, state-aware icon, supports a configurable color, and disappears completely when no secondary action is assigned.

Coordinated Now Playing color

Now Playing adds a single accent-color setting for both the play/pause indicator and the filled progress bar, making the display easier to coordinate with any setup.

Store presentation

  • Refreshed cover and banner artwork.
  • Reworked the plugin description for faster scanning and clearer benefits.
  • Preserved the single-package Windows installation with the embedded supervised companion.

Verification

  • Physically validated the artwork badges and Now Playing accent controls on D200.
  • 288 Python tests passed.
  • 64 Node.js tests passed.
  • Pinned Ulanzi SDK verification passed.
  • Python/JavaScript artwork badge parity passed across 112 cases.
  • Main and tag GitHub Actions runs passed.
  • Plugin package: 203 files, exact ZIP round-trip verified.
  • Package inventory SHA-256: 2e57300228521f9ffcfe846b2607272b1da92835f68825fc6d13881774107709.

Asset

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
  • SHA-256: b4551a78478ed313f426abac547443d3913319cd01ac92e57d0be28741a5240b

Media Control for D200 v1.7.0

Choose a tag to compare

@arkamax404-max arkamax404-max released this 08 Sep 22:35

Single-package Windows release

Media Control for D200 now ships the Windows companion inside the plugin ZIP. New users install only the plugin; there is no separate companion installer asset in this release.

Companion lifecycle

  • Embeds the frozen GSMTCD200Companion v1.4.0 while preserving process isolation.
  • Reuses an external companion when its version is equal to or newer than the bundled minimum.
  • Authenticates and stops an older external instance before launching the bundled companion.
  • Binds the bundled companion to the plugin runtime PID so it exits even when Studio terminates the runtime abruptly.
  • Keeps lifecycle traffic local to authenticated loopback HTTP.

Migration

Existing v1.6.0 installations with companion v1.3.0 migrate automatically when Studio starts the updated plugin. The legacy standalone installer remains available from the v1.6.0 release for compatibility only.

Verification

  • Physically validated automatic replacement of external companion v1.3.0 by embedded v1.4.0
  • Physically validated parent PID ownership and clean shutdown after closing Studio
  • 283 Python tests passed
  • 62 Node tests passed
  • Pinned Ulanzi SDK verifier passed
  • Main and tag GitHub Actions runs passed
  • Companion bundle: 85 files, SHA-256 tree 7808872fb561a9e25647bb2032d4c71907285999b83412f28f8190449ee21ceb
  • Plugin package: 203 files, exact round-trip verified

Asset

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
  • SHA-256: 389e789ce22b423c4efde64299af9b52fc2ed13d30595d2e4a5744b8684d3d2b

Media Control for D200 v1.6.0

Choose a tag to compare

@arkamax404-max arkamax404-max released this 08 Sep 20:10

Final Media Center version

This is the final version of the Media Center experience for Media Control for D200. It completes the intended artwork, playback, progress, transport, audio, and Large Display controls in one physically validated layout.

Now Playing artwork

  • Adds the Large Display-style circular Play/Pause badge over the top-right corner.
  • Adds an optional animated progress bar, enabled by default.
  • Uses the approved 7 px full-width bar flush with the bottom edge.
  • Keeps color artwork while playing and grayscale artwork while paused.

Actionable artwork tiles

  • Each of the four mosaic tiles can independently run None, Previous, Play/Pause, Next, Volume Up, Volume Down, or Mute Toggle.
  • Audio actions retain an independent source selection per tile.
  • Secondary actions use the existing bounded command queue and never replace the artwork quadrant.

Verification

  • Physically validated on the D200
  • 273 Python tests
  • 62 Node tests
  • Ulanzi SDK verifier with plugin-common-python 0.1.0
  • Main and tag GitHub Actions runs passed
  • Frozen runtime rebuilt with PyInstaller 6.22.2
  • 118-file plugin package round-trip verified

Assets

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
    • SHA-256: 5c1db6f82a16b933070fad40b22c27c3d131f719af4749350cee7ed4d46d3bc9
  • GSMTCD200Companion-1.3.0-local-unsigned.exe
    • SHA-256: 90a67603502fd557fe5b5a4e9d04e3b840829909bfedf24a0063d57c88c111fd

The companion remains v1.3.0 because its API and behavior did not change.

Media Control for D200 v1.5.0

Choose a tag to compare

@arkamax404-max arkamax404-max released this 07 Sep 22:48

Configurable control icon colors

  • Adds an independent icon color picker and HEX field to Volume Up, Volume Down, and Mute Toggle.
  • Adds the same per-key color control to Previous, Play/Pause, and Next.
  • Keeps #1DB954 as the default and safely normalizes invalid or legacy settings.
  • Keeps one selected color across both Play and Pause states.

Verification

  • Physically validated on the D200
  • 272 Python tests
  • 61 Node tests
  • Ulanzi SDK verifier with plugin-common-python 0.1.0
  • Main and tag GitHub Actions runs passed
  • Frozen runtime rebuilt with PyInstaller 6.22.2
  • 110-file plugin package round-trip verified

Assets

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
    • SHA-256: 2c811a696d03873b6f1c0a2f637f2954554415a00948afb099d350e56081f0d8
  • GSMTCD200Companion-1.3.0-local-unsigned.exe
    • SHA-256: 90a67603502fd557fe5b5a4e9d04e3b840829909bfedf24a0063d57c88c111fd

The companion remains v1.3.0 because its API and behavior did not change.

Media Control for D200 v1.4.5

Choose a tag to compare

@arkamax404-max arkamax404-max released this 05 Sep 20:33

Large Display readability

  • Increases elapsed and remaining time labels from 13 px to 18 px.
  • Uses bold 700 weight for both time values.
  • Keeps the validated baseline and progress-bar spacing unchanged.

Verification

  • Physically validated on the D200
  • 270 Python tests
  • 60 Node tests
  • Ulanzi SDK verifier with plugin-common-python 0.1.0
  • Frozen runtime rebuilt with PyInstaller 6.22.2

Assets

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
    • SHA-256: 667b59ed6f95d2b0f8b4075ecabfe7174aa2551d3ea0e89e439586537b0a37a8
  • GSMTCD200Companion-1.3.0-local-unsigned.exe
    • SHA-256: 90a67603502fd557fe5b5a4e9d04e3b840829909bfedf24a0063d57c88c111fd

The companion remains v1.3.0 because its API and behavior did not change.

Media Control for D200 v1.4.4

Choose a tag to compare

@arkamax404-max arkamax404-max released this 05 Sep 20:24

Display polish

  • Moves the Mute status label upward for clearer separation from the speaker glyph.
  • Renders the artist name in bold on Large Now Playing.
  • Preserves the physically approved volume and speaker icon sizing.

Verification

  • 270 Python tests
  • 60 Node tests
  • Ulanzi SDK verifier with plugin-common-python 0.1.0
  • Frozen runtime rebuilt with PyInstaller 6.22.2
  • Local package inventory verified before installation

Assets

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
    • SHA-256: 40bfb7ae16d5bdb6e9a9891139545dc0c4b6204e5b179d92dd42bb37adf8251f
  • GSMTCD200Companion-1.3.0-local-unsigned.exe
    • SHA-256: 90a67603502fd557fe5b5a4e9d04e3b840829909bfedf24a0063d57c88c111fd

The companion remains v1.3.0 because its API and behavior did not change.

Media Control for D200 v1.4.3

Choose a tag to compare

@arkamax404-max arkamax404-max released this 05 Sep 19:00

Metadata correction

  • Sets the plugin author to Santiago Pérez in the manifest consumed by Ulanzi Studio and the Community Store.
  • Retains the new Large Now Playing cover introduced in v1.4.2.
  • Runtime behavior remains unchanged from the physically validated v1.4.1 release.

Verification

  • 60 Node tests
  • 18 focused packaging/profile-tool tests
  • Plugin package generated from the previously validated frozen runtime

Assets

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
    • SHA-256: 3216514c530fd2c1931795a936ff7cda60368460010f56bc66fda9b166673580
  • GSMTCD200Companion-1.3.0-local-unsigned.exe
    • SHA-256: 90a67603502fd557fe5b5a4e9d04e3b840829909bfedf24a0063d57c88c111fd

The companion remains v1.3.0 because its API and behavior did not change.

Media Control for D200 v1.4.2

Choose a tag to compare

@arkamax404-max arkamax404-max released this 05 Sep 18:55

Store refresh

  • Publishes the new Community Store cover featuring Large Now Playing on the D200 center display.
  • Keeps the v1.4.1 runtime behavior unchanged: managed Install/Repair/Restore, persistent background-only mode, media rendering, and aligned Mute controls.
  • Bumps the plugin metadata to v1.4.2 so the Store has an unambiguous latest release to reindex.

Verification

  • 60 Node tests
  • 48 focused packaging/Profile Assistant/profile-tool tests
  • Uses the same previously validated frozen runtime from v1.4.1

Assets

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
    • SHA-256: 4105f0bb0b5aa2d9b19cf7642bce6da11828d0506f2bee0c82493768d695c165
  • GSMTCD200Companion-1.3.0-local-unsigned.exe
    • SHA-256: 90a67603502fd557fe5b5a4e9d04e3b840829909bfedf24a0063d57c88c111fd

The companion remains v1.3.0 because its API and behavior did not change.

Media Control for D200 v1.4.1

Choose a tag to compare

@arkamax404-max arkamax404-max released this 05 Sep 16:19

Highlights

  • Adds Large Now Playing for the D200 center display with artwork, title, larger artist text, playback state, progress, and time.
  • Adds Setup Large Display, a guided Install, Repair, and Restore workflow for the reserved 3_2 slot.
  • Keeps the center in background-only mode with SmallViewMode: 2, so the built-in clock does not return when revisiting the page.
  • Aligns the dynamic Mute speaker with Volume Up and Volume Down while leaving Studio titles optional for source labels.

Guided setup

  1. Install the companion and plugin.
  2. Drag Setup Large Display to an unused normal key on the target page.
  3. Choose Install and press the key.
  4. Wait for Waiting for Studio to close, then close Studio normally.
  5. Profile Assistant verifies a complete backup, updates the center entry, and attempts to reopen Studio.

Use Repair if Studio restores the built-in widget. Use Restore original to recover the exact center entry captured during Install.

Safety

Profile Assistant edits Studio's private ProfilesV2 format only while Studio is closed. Requests and receipts are authenticated, operations are serialized, backups are hash-verified and fsynced, writes are atomic, and unknown concurrent bytes are preserved for manual recovery rather than overwritten.

This private profile technique is physically validated with Ulanzi Studio 3.2.11 and a D200. Revalidate after Studio upgrades.

Verification

  • 270 Python tests
  • 60 Node tests
  • Pinned real Ulanzi Python SDK verifier
  • Frozen Python 3.14 runtime build
  • Physical D200 validation of Install, Restore, reinstall, page switching, clock suppression, media rendering, and Mute alignment

Assets

  • com.arkamax404.mediacontrold200.ulanziPlugin.zip
    • SHA-256: 538808a51a81f1d5cdeb730706aaf044dea0b83a74d09c5154aae85d93c4388e
  • GSMTCD200Companion-1.3.0-local-unsigned.exe
    • SHA-256: 90a67603502fd557fe5b5a4e9d04e3b840829909bfedf24a0063d57c88c111fd

The companion remains at v1.3.0 because its API and behavior did not change in this plugin-focused release.

Acknowledgement

Thanks to chilleno/claude-deck for documenting and demonstrating the community 3_2 center-slot technique that informed this implementation.

Media Control for D200 v1.3.0

Choose a tag to compare

@arkamax404-max arkamax404-max released this 05 Sep 09:05

Media Control for D200 v1.3.0

Selectable audio sources

  • Volume Up, Volume Down, and Mute Toggle now let you choose the Windows system volume or any application with an active audio session.
  • Each key stores its own source, so the three actions can control one shared target or different applications.
  • The selector refreshes from the audio sessions currently available on the default Windows output.
  • Key labels and mute state follow the selected source. Existing keys continue to default to Spotify.

Compatibility

This release requires the v1.3.0 companion. The plugin uses bridge API 1.1; older companions are rejected rather than applying a command to the wrong source.

Downloads

Asset What it is
GSMTCD200Companion-1.3.0-local-unsigned.exe Required local companion installer with selectable Core Audio source support.
com.arkamax404.mediacontrold200.ulanziPlugin.zip Ulanzi Studio plugin package v1.3.0.

Quick start

  1. Close Ulanzi Studio.
  2. Install GSMTCD200Companion-1.3.0-local-unsigned.exe.
  3. Import the extracted plugin folder through Ulanzi Studio and restart Studio.
  4. Select each audio key and choose its Audio source.

Physically validated on a D200 with process and system-volume targets. Automated verification: 200 Python tests, 57 Node tests, frozen companion verification, real Ulanzi SDK integration, and installer receipt validation.