@echo off
if "%1"=="whatis" echo Launches WAV media player&goto :eof
if "%1"=="createsound" goto createsound
setlocal EnableDelayedExpansion
:waveplay
if not exist boot_os\Sound.bat call :createsound
if exist log_os\terminate del log_os\terminate
start /b boot_os\Sound.bat
mode %screen_w%,%screen_h%
bg cursor 0
:begin
cls
echo.
echo. Available shared audio files:
echo -------------
dir /b specific_os\share\audio\*.wav
echo -------------
echo.
echo. Available private audio files:
echo -------------
dir /b specific_user\%user%\audio\*.wav
echo -------------
set /p file=Enter filename:
set norepeat=false
:repeat
if exist "specific_user\%user%\audio\%file%" @echo.specific_user\%user%\audio\%file%>>play&goto checkplay
if exist "specific_user\%user%\audio\%file%.wav" @echo.specific_user\%user%\audio\%file%.wav>>play&goto checkplay
if exist "specific_os\share\audio\%file%" @echo.specific_os\share\audio\%file%>>play&goto checkplay
if exist "specific_os\share\audio\%file%.wav" @echo.specific_os\share\audio\%file%.wav>>play&goto checkplay
:checkplay
if "!norepeat!"=="false" goto play
if not "!norepeat!"=="false" goto waitloop

:play
cls
echo.
echo Playing audio
echo.
echo 1. Repeat when finished
echo 2. Choose another when finished
echo 3. Return to start screen ^(continue playing^)
echo 4. Return to start screen ^(stop playing^)
echo.
set /p answer=Select one option:
if "%answer%"=="1" goto waitloop
if "%answer%"=="2" goto waitend
if "%answer%"=="3" exit
if "%answer%"=="4" taskkill /F /IM bg.exe >nul 2>nul
if "%answer%"=="4" exit
goto play

:waitloop
cls
echo.
echo Playing %file%...
echo.
echo Press any key for menu...
echo.
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
echo %random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%%random:~0,1%
:loop_process
set found=false
for /f %%a in ('tasklist') do (
if "%%a"=="bg.exe" set found=true
)
if "%found%"=="false" set norepeat=true&goto repeat
ping localhost -n 1 >nul
bg _kbd
set "key=%ERRORLEVEL%"
if not "%key%"=="0" goto play
ping localhost -n 1 >nul
goto waitloop

:waitend
cls
echo.
echo Playing %file%...
echo.
set e=!e:0=Û!
set e=!e:1=Û!
set e=!e:2=Û!
set e=!e:3=Û!
set e=!e:4=Û!
set e=!e:5=Û!
set e=!e:6=Û!
set e=!e:7=Û!
set e=!e:8=Û!
set e=!e:9=Û!
echo.!e!!e!!e!!e!!e!!e!!e!!e!!e!!e!!e!!e!
echo.
echo Press any key for menu...
echo.
:end_process
set found=false
for /f %%a in ('tasklist') do (
if "%%a"=="bg.exe" set found=true
)
if "%found%"=="false" goto begin
ping localhost -n 1 >nul
bg _kbd
set "key=%ERRORLEVEL%"
if not "%key%"=="0" goto play
ping localhost -n 1 >nul
goto waitend

:createsound
echo Initializing audio device...
if exist boot_os\Sound.bat del boot_os\Sound.bat
@echo.@echo off>>boot_os\Sound.bat
@echo.setlocal EnableDelayedExpansion EnableExtensions>>boot_os\Sound.bat
@echo.title Please wait... (loading sound driver)>>boot_os\Sound.bat
@echo.if exist loaded del loaded^&exit>>boot_os\Sound.bat
@echo.echo.^>^>Loaded>>boot_os\Sound.bat
@echo.title Please wait...>>boot_os\Sound.bat
@echo.:wait>>boot_os\Sound.bat
@echo.if not exist loaded echo.^>^>loaded>>boot_os\Sound.bat
@echo.if exist login goto playstartup>>boot_os\Sound.bat
@echo.if exist play goto checkplay>>boot_os\Sound.bat
@echo.if exist log_os\terminate del log_os\terminate^&del loaded^&del boot_os\Sound.bat^&exit>>boot_os\Sound.bat
@echo.>>boot_os\Sound.bat
@echo.goto wait>>boot_os\Sound.bat
@echo.>>boot_os\Sound.bat
@echo.:playstartup>>boot_os\Sound.bat
@echo.del login>>boot_os\Sound.bat
@echo.bg play specific_os\root\audio\Startup.wav>>boot_os\Sound.bat
@echo.goto wait>>boot_os\Sound.bat
@echo.>>boot_os\Sound.bat
@echo.:checkplay>>boot_os\Sound.bat
@echo.set /p ^"play=^"^<play>>boot_os\Sound.bat
@echo.title Loading %%play%%,>>boot_os\Sound.bat
@echo.del play>>boot_os\Sound.bat
@echo.if exist ^"%%play%%^" goto playfile>>boot_os\Sound.bat
@echo.if exist %%play%% goto playfile>>boot_os\Sound.bat
@echo.if exist ^"%%play%%.wav^" goto playfile>>boot_os\Sound.bat
@echo.if exist %%play%%.wav goto playfile>>boot_os\Sound.bat
@echo.goto wait>>boot_os\Sound.bat
@echo.>>boot_os\Sound.bat
@echo.:playfile>>boot_os\Sound.bat
@echo.title Initializing: %%play%%>>boot_os\Sound.bat
@echo.ping localhost -n 2 ^>nul>>boot_os\Sound.bat
@echo.title Playing: %%play%%>>boot_os\Sound.bat
@echo.bg play %%play%%>>boot_os\Sound.bat
@echo.title Welcome %%user%% to %%OSname%%>>boot_os\Sound.bat
@echo.goto wait>>boot_os\Sound.bat
goto :eof
