Replaces the per-scene HTML directories (landing/, loading/, game/,
desktop/, goodbye/, music-box/, music/) with a single Laravel app
serving every overlay over HTTP. Supervisord runs `php artisan serve`
on 127.0.0.1:1118 and the OBS scene JSON now references HTTP routes
instead of file:// URLs.
Highlights:
- public/css/hud.css consolidates the duplicated HUD chrome,
scanlines/vignette/flicker, terminal styling, and pulse keyframes
that were copy-pasted across all seven scenes.
- Blade partials own hud-strip, crt-overlays, obs-ws-scripts,
camera-frame, screen-frame; the seven scenes extend a shared
overlay layout.
- Artisan commands (`rig:setup`, `rig:telemetry`, `rig:loading`,
`rig:playlist`, `rig:cmd`) replace the shell scripts that wrote
per-rig JSON snapshots. TwitchHelix + HardwareSnapshot services
handle the work the bash + Python helpers used to.
- ObsWsClient + MusicCommandController kill the 250 ms cmd.js poll
in the music daemon: POST /cmd/{skip|prev|pause|resume} opens a
short-lived Pawl WS, authenticates, and broadcasts mpd:cmd.
- AudioController streams files from the configured music dirs so
CEF can load tracks under the HTTP origin (Chromium blocks
HTTP-origin pages from loading file:// media).
- DataController serves /data/playlist.js (with ETag mtime cache)
and /cover.jpg (no-store) so the existing overlays' window.__PLAYLIST
and cover.jpg cache-bust pattern keeps working.
scripts/obs-webapp.supervisord.conf is the supervisord unit; install
to /etc/supervisor.d/obs-webapp.conf.
scripts/rewrite-scene-urls.py is a one-shot tool that rewrites
basic/scenes/Default_Stream_HUD.json from file:// to HTTP URLs.
basic/scenes/Default_Stream_HUD.json.pre-webapp is the rollback
artifact (made with OBS closed; full pre-migration state).
The seven old scene directories, vendor/, and the bash scripts are
still on disk pending visual verification; the next commit will
prune them.
127 lines
4.2 KiB
PHP
127 lines
4.2 KiB
PHP
<?php
|
|
|
|
return [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Name
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This value is the name of your application, which will be used when the
|
|
| framework needs to place the application's name in a notification or
|
|
| other UI elements where an application name needs to be displayed.
|
|
|
|
|
*/
|
|
|
|
'name' => env('APP_NAME', 'Laravel'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Environment
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This value determines the "environment" your application is currently
|
|
| running in. This may determine how you prefer to configure various
|
|
| services the application utilizes. Set this in your ".env" file.
|
|
|
|
|
*/
|
|
|
|
'env' => env('APP_ENV', 'production'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Debug Mode
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| When your application is in debug mode, detailed error messages with
|
|
| stack traces will be shown on every error that occurs within your
|
|
| application. If disabled, a simple generic error page is shown.
|
|
|
|
|
*/
|
|
|
|
'debug' => (bool) env('APP_DEBUG', false),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application URL
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This URL is used by the console to properly generate URLs when using
|
|
| the Artisan command line tool. You should set this to the root of
|
|
| the application so that it's available within Artisan commands.
|
|
|
|
|
*/
|
|
|
|
'url' => env('APP_URL', 'http://localhost'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Timezone
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here you may specify the default timezone for your application, which
|
|
| will be used by the PHP date and date-time functions. The timezone
|
|
| is set to "UTC" by default as it is suitable for most use cases.
|
|
|
|
|
*/
|
|
|
|
'timezone' => 'UTC',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Locale Configuration
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The application locale determines the default locale that will be used
|
|
| by Laravel's translation / localization methods. This option can be
|
|
| set to any locale for which you plan to have translation strings.
|
|
|
|
|
*/
|
|
|
|
'locale' => env('APP_LOCALE', 'en'),
|
|
|
|
'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'),
|
|
|
|
'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Encryption Key
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This key is utilized by Laravel's encryption services and should be set
|
|
| to a random, 32 character string to ensure that all encrypted values
|
|
| are secure. You should do this prior to deploying the application.
|
|
|
|
|
*/
|
|
|
|
'cipher' => 'AES-256-CBC',
|
|
|
|
'key' => env('APP_KEY'),
|
|
|
|
'previous_keys' => [
|
|
...array_filter(
|
|
explode(',', (string) env('APP_PREVIOUS_KEYS', ''))
|
|
),
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Maintenance Mode Driver
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| These configuration options determine the driver used to determine and
|
|
| manage Laravel's "maintenance mode" status. The "cache" driver will
|
|
| allow maintenance mode to be controlled across multiple machines.
|
|
|
|
|
| Supported drivers: "file", "cache"
|
|
|
|
|
*/
|
|
|
|
'maintenance' => [
|
|
'driver' => env('APP_MAINTENANCE_DRIVER', 'file'),
|
|
'store' => env('APP_MAINTENANCE_STORE', 'database'),
|
|
],
|
|
|
|
];
|