Signed-off-by: Juergen Beisert --- generic/etc/icegenerator.conf | 172 +++++++++++++++++++++++++++++++++++++++++ rules/icegenerator.in | 25 ++++++ rules/icegenerator.make | 63 +++++++++++++++ 3 files changed, 260 insertions(+) create mode 100644 generic/etc/icegenerator.conf create mode 100644 rules/icegenerator.in create mode 100644 rules/icegenerator.make diff --git a/generic/etc/icegenerator.conf b/generic/etc/icegenerator.conf new file mode 100644 index 0000000..9b3ce7b --- /dev/null +++ b/generic/etc/icegenerator.conf @@ -0,0 +1,172 @@ +# IceGenerator sample configuration file + +####################################################### +# Server section +####################################################### + +# IP (REQUIRED) +IP=127.0.0.1 + +# Port (REQUIRED) +PORT=8000 + +# Type (REQUIRED) +# 1 - Icecast 1.3.21 or Shoutcast (ICY protocol compatible) +# 2 - Icecast 2.0 (HTTP protocol compatible) +SERVER=2 + +# Mount point for MP3/OGG streaming. (REQUIRED) +# REMEMBER TO SET A VIRTUAL MOUNT POINT HERE FOR OGG STREAMING. MANY +# PLAYERS (LIKE WINAMP, XMMS, ETC.) CAN'T AUTO RECOGNIZE OGG STREAMING +# WITHOUT .OGG EXTENSION. +# Dieser Name muss dann auf der URL-Seite verwendet werden. +# Also http://aura:8000/jbe +# Das hei�t, http://aura:8000 ist ICECAST und das jbe ist ICEGENERATOR +MOUNT=jbe + + + +####################################################### +# User section +####################################################### + +# Source user name (usually IceCast is configured for "source"). (REQUIRED) +SOURCE=source + +# Server connection password (REQUIRED) +# hier ist das "source password" gemeint +PASSWORD=hackme + + + +####################################################### +# File and playlist section +####################################################### + +# Format (REQUIRED) +# 0 - Ogg Vorbis +# 1 - MP3 +FORMAT=1 + +# Path for MP3s/OGGs. (REQUIRED) +# This variable has the following format: +# playlist_type:playlist_data +# where playlist_type is +# pth: list of dirs +# sql: MySQL server table +# pql: PostGreSQL server table +# pls: PLS file +# m3u: M3U file +# +# pth case +# playlist_data is your mp3's directories separated with full commas +# eg: pth:/path1;/path2;path3 +# +# pql/sql case +# playlist_data is your PostGreSQL/MySQL connection data (separated with +# full commas) in the following order: +# sql:host;port;user;password;database;table;field where: +# host is SQL server hostname or IP +# port is SQL server port. If 0, default port will be used +# user is SQL user authorized to database read access +# password is SQL user password +# database is SQL db name that contains mp3 data +# table is SQL table of database that contains mp3 data +# field is SQL table's field that contains mp3 pathname +# +# m3u/pls case +# you have to specify a M3U/PLS standard playlist file path. +# eg: pls:/my_path/my_playlist.pls +MP3PATH=pth:/usr/share/music/ + +# Set this flag to search recursively from root directories specified (default is disabled) +RECURSIVE=1 + +# File to record the stream to on the server (default is none) +DUMPFILE= + +# Loop playlist (default is enabled) +LOOP=1 + +# Set this flag to play your music in random order (default is enabled), otherwise +# alphabetic order will be used +SHUFFLE=1 + +####################################################### +# Information +####################################################### + +# In next four variables u can put your metadata information that will be +# sent to clients. You can use any string you want. + +# Name of the stream (default none). +NAME=Juergens Unterhalter + +# Genre of the stream (default none). +GENRE=Alles was mir gefaellt + +# Description of the stream (default none). +DESCRIPTION=Nur was fuer Zuhause + +# Url of the stream (default none). +URL=http://aura:8000 + +# Bitrate of the stream. Its value is purely informational. It doesn't +# affect real bitrate of your MP3s (default 24000). +BITRATE=24000 + +# Flag to list the stream in directories (default 0) +PUBLIC=0 + +# Set this flag to specify time elapsed between META information update in seconds +# (default is 5). A value of 0 disables META information, and only NAME value +# will be transmitted. +METAUPDATE=40 + +# This set global MetaDataFile path for your songs. See README.IceMetal +# for more info. +MDFPATH=/mypath/global.mdf + + +####################################################### +# Debug and logging information +####################################################### + +# Log +# 0 - None +# 1 - System logger +# 2 - File +LOG=2 + +# Log path +# Specify where you want to log IceG actions. Defaults to /var/log/icegenerator.log +# if not specified +LOGPATH=/var/log/icegenerator.log + +####################################################### +# Telnet interface +####################################################### + +# Now IceGenerator has a minimal telnet interface that +# receives run-time commands to change IceGenerator +# behaviour while streaming. Case is insensitive. +# ALL COMMAND MUST BE FOLLOWED BY A TRAILING DOT!!! +# Telnet commands are: +# TRACK +# Returns information about current track +# LOOP +# Returns information about current LOOP setting +# LOOPON +# Turns on playlist loop +# LOOPOFF +# Turns off playlist loop +# SHUFFLE +# Returns informations about current SHUFFLE setting +# SHUFFLEON +# Turns on shuffle +# SHUFFLEOFF +# Turns off shuffle +# +# DATAPORT is used to specify telnet port. If not specified, telnet +# interface will be disabled. If 0, 8796 (default port) will be used. +DATAPORT=8796 diff --git a/rules/icegenerator.in b/rules/icegenerator.in new file mode 100644 index 0000000..6b4e4fd --- /dev/null +++ b/rules/icegenerator.in @@ -0,0 +1,25 @@ +## SECTION=applications + +menuconfig ICEGENERATOR + tristate + prompt "icegenerator " + select LIBID3LIB if ICEGENERATOR_ID3TAG + select LIBSHOUT + help + IceGenerator is a direct streaming generator for Icecast/Shoutcast. + +if ICEGENERATOR + +config ICEGENERATOR_ID3TAG + bool + prompt "use ID3TAG" + help + Enable ID3 support for MPEG files + +config ICEGENERATOR_DEBUG + bool + prompt "enable debug" + help + Make the program more noisy + +endif diff --git a/rules/icegenerator.make b/rules/icegenerator.make new file mode 100644 index 0000000..a4e9b37 --- /dev/null +++ b/rules/icegenerator.make @@ -0,0 +1,63 @@ +# -*-makefile-*- +# +# Copyright (C) 2012 by Juergen Beisert +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_ICEGENERATOR) += icegenerator + +# +# Paths and names +# +ICEGENERATOR_VERSION := 0.5.5-pre2 +ICEGENERATOR_MD5 := 71515d79bc43ca53baffc96c4ada946a +ICEGENERATOR := icegenerator-$(ICEGENERATOR_VERSION) +ICEGENERATOR_SUFFIX := tar.gz +ICEGENERATOR_URL := http://www.becrux.com/pages/projects/icegenerator/$(ICEGENERATOR).$(ICEGENERATOR_SUFFIX) +ICEGENERATOR_SOURCE := $(SRCDIR)/$(ICEGENERATOR).$(ICEGENERATOR_SUFFIX) +ICEGENERATOR_DIR := $(BUILDDIR)/$(ICEGENERATOR) +ICEGENERATOR_LICENSE := GPLv2 + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +# +# autoconf +# +ICEGENERATOR_CONF_TOOL := autoconf +ICEGENERATOR_CONF_OPT := \ + $(CROSS_AUTOCONF_USR) \ + --$(call ptx/wwo, PTXCONF_ICEGENERATOR_ID3TAG)-id3 \ + --$(call ptx/endis, PTXCONF_ICEGENERATOR_DEBUG)-debug + +# this does not work +# --without-mysq \ +# --without-pgsql \ + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/icegenerator.targetinstall: + @$(call targetinfo) + + @$(call install_init, icegenerator) + @$(call install_fixup, icegenerator,PRIORITY,optional) + @$(call install_fixup, icegenerator,SECTION,base) + @$(call install_fixup, icegenerator,AUTHOR,"Juergen Beisert ") + @$(call install_fixup, icegenerator,DESCRIPTION,missing) + + @$(call install_copy, icegenerator, 0, 0, 0755, -, /usr/local/bin/icegenerator) + @$(call install_alternative, icegenerator, 0, 0, 0755, /etc/icegenerator.conf) + + @$(call install_finish, icegenerator) + + @$(call touch) -- 1.7.9.5