⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mikmod.ksh

📁 gtk_server的源代码
💻 KSH
字号:
#!/bin/ksh## And now for something completely different. :-)## With the GTK-server it is possible to open any library from a shellscript,# without using configfile, as is shown below.## Enjoy nice music from www.modarchive.org!## September 2008, PvE - tested with GTK-server 2.2.8 on Linux.##---------------------------------------------------------------------# File to load and playFILE="welcome.mod"#---------------------------------------------------------------------# Communication function; assignment function#---------------------------------------------------------------------function mikmod { print -p $1; read -p MIKMOD; }function define { $2 "$3"; eval $1="$MIKMOD"; }# Start GTK-server in STDIN modegtk-server -stdin |&# Open MikMod librarydefine MM mikmod "gtk_server_require libmikmod.so"if [[ $MM != "ok" ]]then    echo "No MikMod found on this system! Please install from http://mikmod.raphnet.net/. Exiting..."    mikmod "gtk_server_exit"    exitfi# Define some mikmod callsmikmod "gtk_server_define MikMod_Init NONE BOOL 1 STRING"mikmod "gtk_server_define MikMod_RegisterAllDrivers NONE NONE 0"mikmod "gtk_server_define MikMod_RegisterAllLoaders NONE NONE 0"mikmod "gtk_server_define MikMod_Update NONE NONE 0"mikmod "gtk_server_define MikMod_Exit NONE NONE 0"mikmod "gtk_server_define Player_Load NONE POINTER 3 STRING INT BOOL"mikmod "gtk_server_define Player_Start NONE NONE 1 POINTER"mikmod "gtk_server_define Player_Active NONE BOOL 0"mikmod "gtk_server_define Player_Stop NONE NONE 0"mikmod "gtk_server_define Player_Free NONE NONE 1 POINTER"# Register all the driversmikmod "MikMod_RegisterAllDrivers"# Register all the module loadersmikmod "MikMod_RegisterAllLoaders"# initialize the librarydefine init mikmod "MikMod_Init ''"if [[ $init -ne 0 ]]then    echo "Could not initialize sound."    mikmod "gtk_server_exit"    exitfi# Load module using 64 channelsdefine module mikmod "Player_Load $FILE 64 0"# Play musicif [[ $module -gt 0 ]]then    # Start module    mikmod "Player_Start $module"    define active mikmod "Player_Active"    # We're playing    while [[ $active -gt 0 ]]    do	define active mikmod "Player_Active"	# Lower the sleep value if your sound stutters	#sleep 1	mikmod "MikMod_Update"    done    mikmod "Player_Stop"    mikmod "Player_Free $module"else    echo "Could not play module!"fi# Give upmikmod "MikMod_Exit"# Exit GTK-servermikmod "gtk_server_exit"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -