From 320ec19419f56402f7dbc96aa1e9b7258df8358a Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 10 Mar 2006 22:47:16 +0100 Subject: [PATCH 01/16] kill a macro which is only used once. Insert the text directly instead. --- random_selector.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/random_selector.c b/random_selector.c index 0dca1727..bdb82682 100644 --- a/random_selector.c +++ b/random_selector.c @@ -124,9 +124,6 @@ static void random_shutdown(void) { } -/** random's (constant) database info text */ -#define DBINFO "dbinfo1:database info? You're kidding. I'm still dopey!\ndbinfo2:\ndbinfo3:\n" - /** * the init function for the random audio file selector * @@ -140,7 +137,8 @@ int random_selector_init(struct audio_file_selector *db) struct timeval now; PARA_INFO_LOG("%s", "registering random handlers ;)\n"); - sprintf(mmd->selector_info, DBINFO); + sprintf(mmd->selector_info, "dbinfo1:database info? You're kidding. " + "I'm still dopey!\ndbinfo2:\ndbinfo3:\n"); gettimeofday(&now, NULL); srand(now.tv_usec); db->cmd_list = cmds; -- 2.39.2 From 86d000420746596a6a932c47cdcdee21fe1e322d Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 10 Mar 2006 22:49:33 +0100 Subject: [PATCH 02/16] mysql_selector.c: rename refresh_mmd_dbinfo() to refresh_selector_info() --- mysql_selector.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mysql_selector.c b/mysql_selector.c index 9f5a14f3..2ed81f98 100644 --- a/mysql_selector.c +++ b/mysql_selector.c @@ -1827,7 +1827,7 @@ static int com_us(__unused int fd, int argc, char *argv[]) return update_audio_file(argv[1]); } -static void refresh_mmd_dbinfo(void) +static void refresh_selector_info(void) { char *name = get_current_audio_file(); char *info; @@ -1901,7 +1901,7 @@ static int com_ps(__unused int fd, int argc, char *argv[]) "'current_stream'", row[0]); ret = real_query(query); free(query); - refresh_mmd_dbinfo(); + refresh_selector_info(); out: free(stream); if (result) @@ -2009,7 +2009,7 @@ static int com_cs(int fd, int argc, char *argv[]) ret = change_stream(argv[1]); if (ret < 0) goto out; - refresh_mmd_dbinfo(); + refresh_selector_info(); } if (csp) { mmd_lock(); @@ -2148,7 +2148,7 @@ no_more_atts: for (; argv[i] && ret >= 0; i++) ret = update_atts(fd, argv[i], atts); } - refresh_mmd_dbinfo(); + refresh_selector_info(); out: return ret; } -- 2.39.2 From e04fd7a21f2013ce0edd3140195cb3f11ce91faf Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 10 Mar 2006 22:54:36 +0100 Subject: [PATCH 03/16] mysql_selector.c: rename get_dbinfo() to get_selector_info() --- mysql_selector.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql_selector.c b/mysql_selector.c index 2ed81f98..b51f4f07 100644 --- a/mysql_selector.c +++ b/mysql_selector.c @@ -1248,7 +1248,7 @@ out: * This is called from server and from some commands. Name must not be NULL * Never returns NULL. */ -static char *get_dbinfo(char *name) +static char *get_selector_info(char *name) { char *meta = NULL, *atts = NULL, *info, *dir = NULL, *query, *stream = NULL; void *result = NULL; @@ -1814,7 +1814,7 @@ static void update_mmd(char *info) static void update_audio_file_server_handler(char *name) { char *info; - info = get_dbinfo(name); + info = get_selector_info(name); update_mmd(info); free(info); update_audio_file(name); @@ -1834,7 +1834,7 @@ static void refresh_selector_info(void) if (!name) return; - info = get_dbinfo(name); + info = get_selector_info(name); free(name); mmd_lock(); update_mmd(info); -- 2.39.2 From f422b750677bab37d8229595d4a7a38f6a649045 Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 10 Mar 2006 23:01:33 +0100 Subject: [PATCH 04/16] deleted: index.html It crept in during the initial commit, and it is long outdated. --- index.html | 263 ----------------------------------------------------- 1 file changed, 263 deletions(-) delete mode 100644 index.html diff --git a/index.html b/index.html deleted file mode 100644 index acb329ca..00000000 --- a/index.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - Paraslash - - - - - - - - - - - - - -
- paraslash
-
-

Paraslash: Play, archive, rate and stream - large audio sets happily

- - A set of tools for doing just what its name - suggests. -
-
Feature list -
Screenshots -
Download -
Live Demo -
Changes
Documentation -
License
Author -
-
-

Events

-
    -
  • 2005-12-27: paraslash-0.2.7 "transparent invariance"
  • -
  • 2005-10-29: paraslash-0.2.6 "recursive compensation"
  • -
  • 2005-10-27: manual pages online
  • -
  • 2005-10-13: paraslash-0.2.5 "aggressive resolution"
  • -
  • 2005-09-21: paraslash-0.2.4 "toxic anticipation"
  • -
  • 2005-09-01: paraslash-0.2.3 "hydrophilic movement"
  • -
  • 2005-08-19: paraslash-0.2.2 "tangential excitation"
  • -
  • 2005-08-15: paraslash-0.2.1 "surreal experience"
  • -
  • 2005-08-06: overview.pdf
  • -
  • 2005-08-06: paraslash-0.2.0 "distributed diffusion"
  • -
  • 2005-08-01: paraslash live stream
  • -
  • 2005-04-18: paraslash-0.1.7 "melting penetration"
  • -
  • 2005-03-05: paraslash-0.1.6 "asymptotic balance"
  • -
  • 2004-12-31: paraslash-0.1.5 "opaque eternity"
  • -
  • 2004-12-19: paraslash-0.1.4 "tunneling transition"
  • -
  • 2004-12-10: paraslash-0.1.3 "vanishing inertia"
  • -
  • 2004-11-28: paraslash-0.1.2 "spherical fluctuation"
  • -
  • 2004-11-05: paraslash-0.1.1 "floating atmosphere"
  • -
  • 2004-10-22: paraslash-0.1.0 "rotating cortex"
  • -
-
-

Feature list

-
    -
  • network audio streaming software
  • -
  • client/server tcp-networking
  • -
  • command line interface
  • -
  • openssl user authentication
  • -
  • several grafical user interfaces
  • -
  • mysql-based audio file selector
  • -
- See FEATURES for a more detailed list. -
- -

Screenshots

- Everybody loves screenshots, so - here - we go. -
- -

Download

- -

Only source is available, - including the - nightly cvs snapshot. All regular releases are - cryptographically signed. - Anonymous (read-only) cvs access is also - available. Checkout a copy with

- -

cvs -d - :pserver:anonymous@cvs.systemlinux.org:/var/lib/cvs - login

-

(empty passwd)

-

cvs -d :pserver:anonymous@cvs.systemlinux.org:/var/lib/cvs co paraslash

- - -

Finally, you can RTFS online. -


- -

Live Demo

- -

There is a public paraslash stream at www.paraslash.org, - streaming - - the music of Henri Petterson. - - - You can listen to the stream with any mp3 player that supports - http streaming. Both

- -

mpg123 http://www.paraslash.org:8009/

- - and - -

xmms http://www.paraslash.org:8009/

- -

are known to work.

- -

Moreover, there is an anonymous paraslash account - available which you can use to have a look at paraslash - without configuring and running para_server on your own box. - Just download and run - - this shell script - - on your Unix system. If you prefer to do things manually, - simply cut-and-paste the instructions given below verbatim - to your shell. No root-privileges are required.

- -
    -
  • - Check that both aplay and mpg123 are installed on your system -
  • - -
  • - Download - a recent paraslash package. You - you need paraslash-0.2.0 or later - for the demo, paraslash-0.1.x will not work. -
  • - -
  • - - Install the neccessary paraslash binaries - (you can safely ignore any warnings about - missing software): - -
      -
    • tar xjf paraslash-cvs.tar.bz2
    • -
    • cd paraslash-cvs
    • -
    • bin="para_client para_audioc para_audiod para_gui" # all we need -
    • (./configure --prefix="$HOME" && make $bin) > /dev/null
    • -
    • mkdir -p $HOME/bin; cp $bin $HOME/bin -
    • export PATH=$HOME/bin:$PATH - -
    - There should be no errors. -
  • -
  • - Get the key for the anonymous account on - www.paraslash.org: - -
      -
    • dir="$HOME/.paraslash"; server=www.paraslash.org
    • -
    • mkdir -p $dir
    • -
    • wget --directory-prefix=$dir http://$server/key.anonymous
    • -
    -
  • -
  • - Tell para_client that we want to connect to - www.paraslash.org as user anonymous: - -
      -
    • conf="$dir/client.conf"; socket="$dir/socket"
    • -
    • echo user \"anonymous\" > $conf
    • -
    • echo hostname \"$server\" >> $conf
    • -
    • echo key_file \"$dir/key.anonymous\" >> $conf
    • -
    • echo socket \"$socket\" >> $dir/audioc.conf
    • -
    -
  • -
  • - Start para_audiod -
    • - - para_audiod -d --stream_read_cmd - "mp3:mpg123 -s http://$server:8009/" - --stream_write_cmd "mp3:aplay -fcd" -L $dir/audiod.log - --socket=$socket - -
    -
  • - Start para_gui -
    • - para_gui -
    -
  • -

- - -

Changes

- Read the complete - ChangeLog - or the file - NEWS - containing a brief summary of the changes for each version. -
- - -

Documentation

- Have a look at this - overview, - a pdf file containing a sketch which illustrates how the pieces of paraslash work - together. Read - README - for general information, - INSTALL - for installation notes, and - README.mysql - for instructions on how to use the mysql database tool - shipped with paraslash. There is also an online version - of paraslash's - manual pages. -
- -

License

- Distribution of Paraslash is covered by the GNU GPL. See file - COPYING. -
- -

Author

- André Noll, - maan@systemlinux.org -

- Several people helped by reporting bugs, improving documentation, - constructive discussions, or, last but not least, by writing - free software on which this project is based on. See - CREDITS - for an incomplete list of people. -


- - - Last modified: - -

- Valid HTML 4.01! -

- -
- - -- 2.39.2 From 256ee6641e5de427e6798c672e9c7f116f49e8bc Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 10 Mar 2006 23:44:15 +0100 Subject: [PATCH 05/16] update NEWS --- NEWS | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 5e7dfa88..c533666f 100644 --- a/NEWS +++ b/NEWS @@ -3,9 +3,22 @@ NEWS 0.?.? (to be announced) "atomic duality" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - o update to gengetopt-2.16 - o switch from cvs to git +Fairly many user-visible changes in this release. As two out of the +three "database tools" of paraslash don't use a database at all, +they are now called "audio file selectors" instead. + + + o the cdt command (change database tool) becomes chs (change + selector) + + o no more colon separators: The syntax of some options of + para_audiod and para_filter have changed. Use --help for + more info (and some examples). + + o update to gengetopt-2.16 (thanks to Lorenzo Bettini) + + o switch from cvs to git (should've done that earlier) o the new ipc subsystem @@ -13,8 +26,8 @@ NEWS o para_server: the dopey selector is now called "random", and is the default selector. Use the --selector option to - choose another selector at startup, or the cdt command to - switch between the supported selectors. + choose another selector at startup, or the chs command to + change the selector at runtime. o X86_64 fixes (thanks to Steffen Klassert) -- 2.39.2 From f4bb874669c1bab8fead3ca503fb5e678141bb81 Mon Sep 17 00:00:00 2001 From: Andre Date: Sat, 11 Mar 2006 04:40:55 +0100 Subject: [PATCH 06/16] whitespace cleanup --- README | 21 +++++++++++---------- slider.c | 18 +----------------- 2 files changed, 12 insertions(+), 27 deletions(-) diff --git a/README b/README index 70c91445..872a0fa0 100644 --- a/README +++ b/README @@ -27,7 +27,7 @@ It contains the following programs: para_server needs an "audio file selector" to work, mainly to determine which song to stream next. There are three selectors available: random, playlist and mysql. The former - chooses audio files randomly and playlist can handle, well, + chooses audio files randomly and playlist can handle, well, playlists. Both are always supported. The optional mysql selector connects to a mysql server which @@ -80,18 +80,19 @@ It contains the following programs: - para_gui (optional, but recommended): - Themable ncurses-based gui. It calls para_audioc and presents - the obtained information in an ncurses window. para_gui - provides key-bindings for the most common commands and new - key-bindings can be added easily. + Themable ncurses-based gui. It calls para_audioc and presents + the obtained information in an ncurses window. para_gui + provides key-bindings for the most common commands and new + key-bindings can be added easily. - para_sdl_gui (optional): - SDL-based gui. Similar to para_gui but presents its output in - an X window (fullscreen mode is also available) and can display - jpg images on a per song basis. para_sdl_gui provides an input - prompt to enter arbitrary commands. However, it can also be used - non-interactively (e.g. as a screen saver) via the -i switch. + SDL-based gui. Similar to para_gui but presents its output + in an X window (fullscreen mode is also available) and can + display jpg images on a per song basis. para_sdl_gui provides + an input prompt to enter arbitrary commands. However, it + can also be used non-interactively (e.g. as a screen saver) + via the -i switch. - para_krell (optional, only useful in conjunction with the mysql selector): diff --git a/slider.c b/slider.c index 558f55bd..d0bb6d8d 100644 --- a/slider.c +++ b/slider.c @@ -28,7 +28,7 @@ #define VAL_2_SL_VAL(v) (v) * (SLIDER_RATIO - 1.0) / SLIDER_RATIO #define SL_VAL_2_VAL(v) (v) * SLIDER_RATIO / (SLIDER_RATIO - 1.0) #define VAL_2_SCORE(v) (v) > 0.5? 1 / (1.03 - (v)) / (1.03 - (v)) :\ - - 1 / ((v) + 0.03) / ((v) + 0.03) + - 1 / ((v) + 0.03) / ((v) + 0.03) #define RGB(R,G,B) (((R)<<12) + ((G)<<6) + (B)) @@ -39,27 +39,11 @@ #define NUMPLAYED_FORMULA(v)\ 10 * (v) + (v) / (1 - (v) * (1 - EPSILON)) - static int argc; static char **argv; char *streamname = NULL; static Zmw_Float_0_1 *slider_vals, lastplayed_val, numplayed_val; -#if 0 -static void boxed_text(const char *text, int i) -{ - ZMW(zmw_decorator(Zmw_Decorator_Border_Embossed)) - { - if (i == 2) - { - zmw_horizontal_expand(Zmw_False) ; - zmw_vertical_expand(Zmw_False) ; - } - zmw_label(text) ; - } -} -#endif - void para_log(int ll, char* fmt,...) /* no logging */ { } -- 2.39.2 From 71a55a1d4db03ecc7adb7236f45109efffda75c2 Mon Sep 17 00:00:00 2001 From: Andre Date: Sat, 11 Mar 2006 16:23:15 +0100 Subject: [PATCH 07/16] paraslash 0.2.11 --- Makefile.in | 2 +- NEWS | 9 +++++---- configure.ac | 2 +- scripts/demo-script | 2 +- web/index.in.html | 4 ++++ 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Makefile.in b/Makefile.in index ae0923c1..9ce793a4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -23,7 +23,7 @@ cc_version = $(shell $(CC) --version | head -n 1) version = @PACKAGE_VERSION@ codename = atomic duality -DEBUG_CPPFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W +# DEBUG_CPPFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W # produces lots of warnings on older debian systems with gcc-2.95.4 # DEBUG_CPPFLAGS += -Wredundant-decls diff --git a/NEWS b/NEWS index c533666f..6ff4df81 100644 --- a/NEWS +++ b/NEWS @@ -1,11 +1,12 @@ NEWS ==== -0.?.? (to be announced) "atomic duality" -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +0.2.11 (2006-03-11) "atomic duality" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Fairly many user-visible changes in this release. As two out of the -three "database tools" of paraslash don't use a database at all, +Here it is, the first paraslash release developed with git. There +are fairly many user-visible changes in this release. As two out of +the three "database tools" of paraslash don't use a database at all, they are now called "audio file selectors" instead. diff --git a/configure.ac b/configure.ac index 06cbe7ac..d22818a5 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ AC_PREREQ(2.53) -AC_INIT(paraslash, [git], maan@systemlinux.org) +AC_INIT(paraslash, [0.2.11], maan@systemlinux.org) AC_CONFIG_HEADER([config.h]) ########################################################################### generic diff --git a/scripts/demo-script b/scripts/demo-script index 9e12e803..6a51ec16 100755 --- a/scripts/demo-script +++ b/scripts/demo-script @@ -6,7 +6,7 @@ dir="$HOME/.paraslash" client_conf="$dir/client.conf" audioc_conf="$dir/audioc.conf" server=www.paraslash.org -proj=paraslash-git +proj=paraslash-0.2.11 df=$proj.tar.bz2 # download file url=http://$server/versions/$df kf="$dir/key.anonymous" # key file diff --git a/web/index.in.html b/web/index.in.html index b20c9a0c..211562f0 100644 --- a/web/index.in.html +++ b/web/index.in.html @@ -1,5 +1,9 @@

Events