{
    "schema": "eupdate-package-specification-v1",
    "author": "PB <pavel.bartos.pb@gmail.com>",
    "project_id": "08c513cbd7758de9",
    "software_id": "estudio",
    "software": "eStudio",
    "module": null,
    "release_id": "dda691c23df71b83d7f6536bf94d23e8",
    "version": "0.9.4",
    "release_date": "2026-10-15",
    "published_at": "2026-10-15T18:15:24+00:00",
    "bytes": 864867,
    "sha256": "e6373c91205652bdbb50b503298e6458b837fb7dd9cafaa3650941a479e0f7a5",
    "file_count": 644,
    "languages": {
        "JavaScript": {
            "bytes": 1178288,
            "files": 14
        },
        "PHP": {
            "bytes": 265032,
            "files": 34
        },
        "HTML": {
            "bytes": 124632,
            "files": 489
        },
        "CSS": {
            "bytes": 88269,
            "files": 8
        },
        "Python": {
            "bytes": 33927,
            "files": 9
        },
        "SQL": {
            "bytes": 27010,
            "files": 2
        },
        "Shell": {
            "bytes": 16886,
            "files": 9
        }
    },
    "installation_url": "https://update.estudium.eu/package.php?software_id=estudio&version=0.9.4",
    "update_url": "https://update.estudium.eu/package.php?software_id=estudio",
    "install_json": {
        "software": "eStudio",
        "software_id": "estudio",
        "version": "0.9.4",
        "release_date": "2026-10-15",
        "author": {
            "name": "PB",
            "email": "pavel.bartos.pb@gmail.com",
            "created": "10/2026",
            "website": "https://estudium.eu"
        },
        "description": {
            "cs": "Webové rozhlasové studio: audio knihovna, playlisty, cart wall, PFL a vysílání přes Liquidsoap/Icecast. Více stanic, aktualizace eUpdate a volitelné AI a reportovací moduly.",
            "en": "Web radio studio with an audio library, playlists, cart wall, PFL and Liquidsoap/Icecast playout. Multiple stations, eUpdate updates and optional AI and reporting modules."
        },
        "license": "MIT",
        "package": {
            "type": "release",
            "target": "software",
            "license": "MIT",
            "access": "open",
            "visibility": "public"
        },
        "compatibility": {
            "os_types": [
                "linux"
            ],
            "distributions": [
                {
                    "id": "ubuntu",
                    "name": "Ubuntu",
                    "versions": [
                        "24.04",
                        ">=24"
                    ]
                }
            ],
            "architectures": [
                "x86_64"
            ],
            "native_windows_supported": false,
            "native_macos_supported": false,
            "distribution_ids": [
                "ubuntu"
            ],
            "os_versions": [
                ">=24",
                "24.04"
            ],
            "any_linux_distribution": false
        },
        "requirements": {
            "php": ">=8.3 <9.0"
        },
        "installation": {
            "commands": {
                "linux": {
                    "supported": true,
                    "command": "bash ./setup.sh --install",
                    "mode": "automatic"
                },
                "windows": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                },
                "macos": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                },
                "other": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                },
                "source": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                }
            },
            "update_command": "bash ./setup.sh --update",
            "requires_root": true,
            "web_root": "."
        },
        "documentation": {
            "readme": "estudio-server/README.md",
            "changelog": "estudio-server/CHANGELOG.md",
            "manual_cs": "estudio-server/docs/MANUAL-CZ.md",
            "manual_en": "estudio-server/docs/MANUAL-EN.md"
        },
        "archive_metadata": {
            "working_directory": "estudio-server",
            "publisher": "dcf6d41fbcdf0e16",
            "updated_at": "2026-10-15T18:23:36+00:00",
            "application_author": "PB <pavel.bartos.pb@gmail.com>"
        },
        "dependencies": {
            "database": "MariaDB >=10.11",
            "playout": "Liquidsoap >=2.2.4; adaptive syntax for 2.4+",
            "audio": "FFmpeg with libopus/libmp3lame/FLAC; python3-mutagen",
            "webserver": "Nginx + PHP-FPM",
            "templates": "Composer: pavel852/php-templates 2.6.1",
            "charts": "Bundled GrafJS 1.3.9 (user-supplied; original licensing preserved)"
        },
        "eupdate": {
            "software_id": "estudio",
            "checkin_schema": "eupdate-checkin-v1",
            "checkin_url": "https://update.estudium.eu/check/",
            "updates_url": "https://update.estudium.eu/updates.json",
            "modules": true
        },
        "validation": {
            "platform": "Ubuntu 24.04 x86_64",
            "scope": "0.9.1: AI readiness/UI checks in three themes; real Liquidsoap manual failure, missing audio, prepared URI, monitor PCM and hold/resume regression; PHP metadata and package checks. Isolated fixtures replace database/engine/control transport. Production MariaDB/systemd/PHP-FPM and live paid AI requests require target validation. See VALIDATED.md."
        },
        "created": "10/2026",
        "homepage": "https://estudium.eu",
        "project": {
            "website": "https://estudium.eu"
        },
        "license_custom": ""
    },
    "readme": "# eStudio Server 0.9.4\n\nAutor: **PB** · Vytvořeno: **10/2026** · E-mail: **pavel.bartos.pb@gmail.com**  \nLicence vlastního kódu: **MIT** (soubor LICENSE).\n\nWebové rozhlasové studio pro Ubuntu 24 a novější: správa audio knihovny, playlistů, reklamních kampaní a odbavování více stanic přes Liquidsoap a Icecast. Webová konzole ovládá skutečný přehrávač a zobrazuje jeho stav. Balíček obsahuje TUI instalátor i bezobslužnou aktualizaci.\n\n## Funkce\n\n- Přímý živý odposlech mixu a cart wall s omezeným bufferem; samostatně volitelný odposlech Icecastu a malé checkboxy kanálů.\n- Větší kruhové Play/Stop a panely s červeným ON AIR, průběhem, S/L a označením výstupu.\n\n- Kompletní diagnostický ZIP ke stažení z nastavení, se stavem služeb, logy a odstraněnými přístupovými údaji.\n- Plovoucí informace o právě vysílané nahrávce a přesouvatelná lišta PFL/CUE s obnovením z horního tlačítka.\n- Loga rádií přes drag & drop; výměna obalu v editoru přímo v audio souboru bez nové komprese zvuku.\n- Přehled celé knihovny: počty a minuty, jazyky, roky, žánry a další členění v tabulkách i grafech GrafJS 1.3.9.\n- About s [českým](docs/MANUAL-CZ.md) a [anglickým](docs/MANUAL-EN.md) manuálem a ostatní Markdown dokumentací. Doplněné CZ/EN rozhraní.\n\n- Více stanic, uživatelé, role a přidělené stanice; audit přihlášení a operací. Volitelné sdílení knihovny mezi rádii.\n- Cart wall: jingly skupiny cart wall se automaticky doplní do volných polí. Vlastní výstupní kanál pro každé rádio, samostatný PFL; ruční pole mají přednost. Výchozí skupina rotate jingle zůstává mimo automatické doplňování.\n- Typové formuláře: jingle (název, popis, transcript), reklama (+ sponzor), talk/pořad/přednáška (+ pořad, mluvčí, téma). Všechny typy mají také rok, skupinu, obrázek a enable/disable. Hudba zachovává úplná hudební metadata.\n- Složky: hudba podle kapely, jinak interpreta; reklamy podle sponzora; jingly společně; talk/přednášky podle tématu → pořadu → mluvčího. Podrobnosti v docs/LIBRARY-THEMES.md.\n- Audio knihovna: drag & drop souborů i složek MP3/WAV/FLAC/AAC/Ogg/M4A/Opus, předvyplněná metadata a obaly, skupiny, distributor, rok skladby, BPM, jazyky, žánry, enable/disable, cue body a volitelný přepis řeči. Posuvný přehrávač pro předposlech.\n- Interní archiv: povinný převod všech nových audio importů, výchozí Opus 160 kb/s VBR; formát a tok lze změnit v Nastavení → Audio archiv. Zachování metadat a vložených obrázků.\n- Soubory: procházení složek, mazání skladeb a celých složek s potvrzením, průběžný audio.json s daty vytvoření a verzí eStudia, ZIP záloha jedné skladby nebo složky a zpětný import popsaného ZIPu.\n- Instalace modulů z lokálního ZIPu přetažením, se zachováním kontrol kompatibility a licencí.\n- Tři responzivní vzhledy eStudium, monochrome a ENCO, záhlaví konzole s názvem eStudio a verzí. Logo eStudium zůstává na přihlašovací obrazovce. HTML šablony v `php-app/html/estudium/` zpracovává `pavel852/php-templates` 2.6.1, instalovaný přes Composer.\n- Playlisty: vytvoření, kopie, výběr, přidávání, odebrání, pořadí a aktivace pro zvolený kanál.\n- PLAY, STOP, SKIP, ruční přehrání a přibližně dvousekundový FADE přes místní socket Liquidsoapu. Historie vzniká při skutečném začátku skladby; konzole ukazuje skutečný uplynulý/zbývající čas a RMS úroveň.\n- Výstupy ch0/ch1/ch2 s vlastním playlistem, fallbackem, gainem v dB, autostartem a více Icecast streamy. MP3, AAC/ADTS a Ogg/Vorbis; volitelně TLS a ALSA zařízení.\n- PFL v prohlížeči nebo na samostatném serverovém kanálu. Cart wall má stránky po 16 slotech a spouští nahrávku na vybraném kanálu.\n- AutoMix a hodinové šablony: posloupnost kategorií, omezení opakování interpreta, reklamní kampaně s platností a hodinovým limitem.\n- Automatický import z vymezených adresářů, kontrola duplicit, volba ponechat/smazat zdroj, záznam chyby a času běhu.\n- Zálohy databáze, konfigurace a modulů; audio volitelně. Obnova s předchozí bezpečnostní zálohou. Volitelný export přes předem nakonfigurovaný rclone.\n- eUpdate: denní i ruční check-in, stabilní identita instalace, kontrola nových verzí a aktualizace přímo z webu. Správa dostupných a povolených modulů.\n- TUI instalace, oprava databáze, reset hesla a diagnostika; systemd služby a časovače.\n\n## Instalace přes TUI\n\n```bash\nunzip estudio-server-v0.6.2.zip\ncd estudio-server\nsudo bash install.sh\n```\n\nInstalátor se zeptá na doménu, port, databázi a administrátorský účet. Nabídne místní Icecast a volitelný Whisper. Hesla mají náhodné výchozí hodnoty; nejsou pevně nastavena na admin123. Podrobný návod a bezobslužný režim jsou v [INSTALL.md](INSTALL.md).\n\nPo přihlášení nahrajte audio, sestavte playlist, přiřaďte jej výstupu v Nastavení → Outputs, zapněte výstup a stiskněte PLAY. „Přehrávat po startu služby“ zapíná autostart.\n\n## Aktualizace a dokumentace\n\nVe webu: Nastavení → eUpdate → Zkontrolovat verzi → Aktualizovat. Ručně z rozbaleného balíčku: `sudo bash setup.sh --update`. Upgrade zachovává konfiguraci, audio, účty i identitu instalace a před změnou vytváří zálohu.\n\n- [CHANGELOG.md](CHANGELOG.md): změny proti 0.2.3.\n- [docs/EUPDATE.md](docs/EUPDATE.md): check-in, licence a publikování balíčku.\n- [docs/MODULES.md](docs/MODULES.md): formát a správa modulů.\n- [docs/OUTPUTS.md](docs/OUTPUTS.md): výstupy a PFL.\n- [docs/AUTOMIX.md](docs/AUTOMIX.md): automatika a reklamy.\n- [docs/SECURITY.md](docs/SECURITY.md): oprávnění, zálohy a aktualizace.\n- [VALIDATED.md](VALIDATED.md): provedené testy a jejich rozsah.\n\nVerze neobsahuje cluster/HA ani nativní Dante/AES67 ovladač. Cart wall přeruší program vybraného kanálu; není samostatným směšovačem podkresu. Hodinový plán není hard-clock vysílání s garantovanou přesností přepnutí na sekundu.\n\nPodrobnosti nové knihovny a úprav vzhledu: [docs/LIBRARY-THEMES.md](docs/LIBRARY-THEMES.md).\n\nVerze 0.5.3 opravuje nedostupnost webu po interní aktualizaci (adresáře 0750/root:root); postup obnovení přístupu pro starší instalace je v INSTALL.md.\n\nGrafy používají dodaný GrafJS 1.3.9. Jeho původní balíček uvádí UNLICENSED; licence MIT vlastního kódu eStudia tuto knihovnu nepřelicencuje. Viz php-app/html/third-party/GRAFJS-NOTICE.txt.\n\n\n## eStudio 0.7.0\n\nZvukový editor Z/K, INTRO, SEGUE a HOOK; stránky HOOK v Cart Wall; vokál M/F/B/D; login jako eWeb/eCast. Návody: docs/SOUND-EDITOR-CZ.md a docs/SOUND-EDITOR-EN.md. GUI ovládá samostatnou serverovou službu, která pokračuje i po jeho zavření.\n\n## eStudio 0.8.0 – AI metadata\n\nV Nastavení → ChatGPT / AI vložte OpenAI API klíč. Dostupné modely se načtou automaticky; vyberte model popisu a metadat a model s audio vstupem. Nastavení uložte a použijte Ověřit oba modely. V knihovně spustíte AI pro skladbu nebo celou složku. Analýza pokračuje na serveru i po zavření GUI; výsledky najdete přes AI analýzy. Před uložením je zkontrolujte. [Český návod](docs/MODULES.md) / [English manual](docs/MODULES.md).\n\n## eStudio 0.8.1 – provozní log a zálohy\n\nNastavení → Provozní log připraví stažitelný textový soubor. Nastavení → Zálohy zobrazuje soubory s datem a velikostí a umožňuje stažení/smazání. Dlouhá nastavení se posouvají uvnitř okna. Podrobnosti: [český návod](docs/MAINTENANCE-CZ.md) / [English guide](docs/MAINTENANCE-EN.md).\n\n## eStudio 0.8.2 – poslech v PC při přehrávání playlistu\n\nOpraveno čtení času a stavu zvukového řetězce, které mohlo přerušit přehrávání/odposlech. Po aktualizaci celého balíčku přes `sudo bash setup.sh --update` obnovte stránku v prohlížeči (Ctrl+F5), zvolte kanál a zdroj **Studio · živě** a zapněte Poslech v PC. Při pozastavení zvuku prohlížečem stejné tlačítko poslech obnoví. Samotné kopírování souborů webu nestačí: aktualizace musí přegenerovat a restartovat Liquidsoap služby.\n\n## eStudio 0.9.0 – samostatné moduly\n\nChatGPT / AI a Reporty se dodávají jako **dva samostatné ZIPy**. Aktualizujte celé jádro, pak v Nastavení → Moduly nahrajte požadované moduly a obnovte stránku. Nové tlačítko v nastavení se objeví jen pro nainstalovaný a zapnutý modul. Staré nastavení AI a výsledky z 0.8.x zůstávají; do instalace modulu je AI vypnutá. Jádro ukládá historii skutečných událostí přehrávače i bez reportovacího modulu. Reporty obsahují filtrování, CSV a kontrolovatelný XLSX podklad pro OSA. Podrobnosti a omezení v návodech samostatných modulů.\n\nAktualizace 0.9.1 opravuje chování ručního spuštění při chybě přípravy; chyby engine jsou v /var/log/estudio/engine.log (nebo nastavené cestě logs) a diagnostickém ZIPu. AI tlačítka podle aktivace vyžadují AI modul 1.0.1. Viz CHANGELOG.md a VALIDATED.md.",
    "download_url": "https://update.estudium.eu/download.php?project=08c513cbd7758de9&release=dda691c23df71b83d7f6536bf94d23e8",
    "package_target": "software",
    "requirements": {
        "php": ">=8.3 <9.0"
    },
    "license": {
        "id": "MIT",
        "name": "MIT",
        "custom_text": ""
    },
    "deployment": {
        "archive_root": "estudio-server",
        "web_root": "."
    },
    "project_type": "application",
    "hosting": null
}