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

📄 mikmod.bash

📁 gtk_server的源代码
💻 BASH
字号:
#!/bin/bash## 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.##---------------------------------------------------------------------# Name of PIPE filedeclare PI=/tmp/bash.gtk.$$# File to load and playFILE="welcome.mod"#---------------------------------------------------------------------# Communication function; assignment function#---------------------------------------------------------------------function mikmod() { echo $1 > $PI; read MIKMOD < $PI; }function define() { $2 "$3"; eval $1="\"$MIKMOD\""; }# Start GTK-server in PIPE modegtk-server -fifo=$PI &while [ ! -p $PI ]; do continue; done# 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 + -