paraslash.git
16 years ago04_DCCP-socket-functions.diff
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
04_DCCP-socket-functions.diff

This converts the DCCP streaming unit to use the makesock interface.

As much as possible, the format of the system calls was modelled after /
adapted to that of the HTTP sender/receiver.

This includes the use of a `name' field for the remote socket name of
the connecting client.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
16 years ago03_TCP-socket-functions.diff
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
03_TCP-socket-functions.diff

This converts the control connection and the HTTP streaming module to use the makesock() interface.

The specific changes are:
 * replace tcp_connect() directly with makesock();
 * replace tcp_listen() with para_listen() (in turn a wrapper around makesock());
 * init_sockaddr() becomes obsolete;
 * replaced use of sockaddr_in in para_accept() with NULL sockaddr argument
  -- the `remote' name of the socket is always available via getpeername(2),
-- this is exploited by replacing the reverse-name lookup with remote_name();
 * the sockaddr_in field `addr' of `struct http_client' has been replaced with `name' string
  -- name is filled in as in para_accept() above, using remote_name(),
-- unlike above, the remote_fd() call can later not be done, due to close_listed_fds().

The one thing I am really not sure about is host_in_access_perm_list():
 * It needed to be converted to allow address-independent HTTP streaming.
 * The conversion represents the obvious choice for doing this.
 * However, I have not (yet) tested it.
 * A problem that may arise is that when listening using AF_UNSPEC then _all_ addresses appear
   as IPv6 addresses (i.e. the test "family == AF_INET" would never hold true). In this case,
   a possible solution is to switch between AF_UNSPEC and AF_INET dependint on whether the
   configurable access-list is empty or non-empty, respectively.
 * A possible place for this chance would be http_send_init() or any other function calling
   open_tcp_port().

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
16 years ago02_Reverse-lookup-support.diff
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
02_Reverse-lookup-support.diff

In some parts of the code a reverse-lookup (e.g. "connection from xxx") is used.
An address-family independent reverse-lookup function is provided by this patch,
exploiting that a socket is described by {src addr, src port, dst addr, dst port}:
 * host_and_port(): prints host and port number of given socket,
 * local_name():    pretty-prints src-addr/src-port,
 * remote_name():   pretty-prints dst-addr/dst-port;

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
16 years ago01_IPv6-Basic-Support.diff
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
01_IPv6-Basic-Support.diff

This patch provides an algorithm which, given a hostname and a numeric port identifier,
will look up all matching IPv4/IPv6 addresses and either bind it (for passive sockets)
or connect to it (for active sockets).

Certain socket options need to be set before a connection is established. Since in
paraslash the demand for such options is not very big at this time, the only present
case (setting SO_REUSEADDR on passive sockets) has been integrated into the main loop.

A more sophisticated variant for setting pre-connection socket options exists and is
available as part of the DCCP library. The current solution is extensible, i.e. if one
wants to later add more options, the alternative (more sophisticated approach) can be
used. But for now, that would just have meant code bloat.

The subsequent patches in this set will step by step replace the old infrastructure
with the use of this algorithm.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
16 years agoINSTALL: Use $LOGNAME instead of hardcoding the user name.
Andre Noll [Fri, 30 Nov 2007 09:01:05 +0000 (10:01 +0100)]
INSTALL: Use $LOGNAME instead of hardcoding the user name.

16 years agoFix link to gitweb on the main page.
Andre Noll [Fri, 30 Nov 2007 08:59:19 +0000 (09:59 +0100)]
Fix link to gitweb on the main page.

16 years agoreplace PUBLIC_KEY.
Andre Noll [Mon, 26 Nov 2007 15:03:15 +0000 (16:03 +0100)]
replace PUBLIC_KEY.

The new key adds my email address of tuebingen, and deletes
the tud and the www.paraslash.org email addresses.

16 years agoRemove key.anonymous.
Andre Noll [Mon, 26 Nov 2007 15:01:51 +0000 (16:01 +0100)]
Remove key.anonymous.

It was only needed for the live demo.

16 years agocom_addatt: Minor improvements.
Andre Noll [Sun, 25 Nov 2007 22:28:09 +0000 (23:28 +0100)]
com_addatt: Minor improvements.

- Use get_attribute_bitnum_by_name() instead of open-coding.
- Use new error code E_ATT_TABLE_FULL.
- Move definition of objs[ATTCOL_NAME] down to where it is needed.
- Kill FIXME comment: We can not use find_greatest_att_bitnum() here.

16 years agostring.h: for_each_line_ro() takes a _pointer_ to the line_handler.
Andre Noll [Sun, 25 Nov 2007 22:21:35 +0000 (23:21 +0100)]
string.h: for_each_line_ro() takes a _pointer_ to the line_handler.

16 years agoafs.h: Add more documentation.
Andre Noll [Sun, 25 Nov 2007 22:20:31 +0000 (23:20 +0100)]
afs.h: Add more documentation.

16 years agoafs.h: Fix typo in comment.
Andre Noll [Sun, 25 Nov 2007 22:19:53 +0000 (23:19 +0100)]
afs.h: Fix typo in comment.

16 years agoafh_common.c: Add documentation of afh_init().
Andre Noll [Sun, 25 Nov 2007 22:18:58 +0000 (23:18 +0100)]
afh_common.c: Add documentation of afh_init().

16 years agoerror.h: Cosmetics.
Andre Noll [Sun, 25 Nov 2007 21:32:19 +0000 (22:32 +0100)]
error.h: Cosmetics.

16 years agoThe setatt command needs at least two arguments.
Andre Noll [Sun, 25 Nov 2007 21:24:54 +0000 (22:24 +0100)]
The setatt command needs at least two arguments.

16 years agoFix a couple of typos in error messages.
Andre Noll [Sun, 25 Nov 2007 21:24:02 +0000 (22:24 +0100)]
Fix a couple of typos in error messages.

16 years agocom_setatt(): Generate an afs event if attributes were modified.
Andre Noll [Sun, 25 Nov 2007 18:11:50 +0000 (19:11 +0100)]
com_setatt(): Generate an afs event if attributes were modified.

16 years agogiweb.css: Make backround color for commit messages a bit darker.
Andre Noll [Sun, 25 Nov 2007 14:00:10 +0000 (15:00 +0100)]
giweb.css: Make backround color for commit messages a bit darker.

16 years agonet.c: Typo.
Andre Noll [Sun, 25 Nov 2007 13:59:23 +0000 (14:59 +0100)]
net.c: Typo.

16 years agoafs.h: Make doxygen happy again.
Andre Noll [Sun, 25 Nov 2007 13:59:03 +0000 (14:59 +0100)]
afs.h: Make doxygen happy again.

It interprets <foo> as html.

16 years agoREADME.afs: Minor improvements.
Andre Noll [Sun, 25 Nov 2007 13:57:47 +0000 (14:57 +0100)]
README.afs: Minor improvements.

16 years agoRename init_tcp_socket() to tcp_listen() and further net.c cleanups.
Andre Noll [Sun, 25 Nov 2007 13:48:40 +0000 (14:48 +0100)]
Rename init_tcp_socket() to tcp_listen() and further net.c cleanups.

Cleanups consist in the following:

- get rid of setserversockopts(). It had only one caller
  within net.c, so incorporate it into tcp_listen().

- Kill E_BIND, E_LISTEN, E_SETSOCKOPT and E_SOCKET. Return
  converted errno instead.

16 years agoIntroduce tcp_connect().
Andre Noll [Sun, 25 Nov 2007 12:36:37 +0000 (13:36 +0100)]
Introduce tcp_connect().

This replaces get_host_info(). The two callers of the latter,
client_connect() and http_recv_open(), did exactly the same, namely
initializing a struct sockaddr_in which was then used for PARA_CONNECT().

So move this common code to tcp_connect(). Additional benefit of this
is that the only remaining callers of init_sockaddr() are in net.c, so
make this function static.

16 years agonet.c: Cosmetics.
Andre Noll [Sun, 25 Nov 2007 11:25:37 +0000 (12:25 +0100)]
net.c: Cosmetics.

16 years agoKill E_ACCEPT.
Andre Noll [Sun, 25 Nov 2007 11:25:08 +0000 (12:25 +0100)]
Kill E_ACCEPT.

16 years agoGet rid of E_SEND.
Andre Noll [Sun, 25 Nov 2007 11:08:24 +0000 (12:08 +0100)]
Get rid of E_SEND.

This patch also simplifies sendall() a bit and fixes two bugs in
add_one_audio_file():

- If the check for existence of a hash sister failed, we missed
  to unmap the audio file.
- If an error occurred we send out a message to the client. If
  this message can not be sent (because the client terminated
  the connection) we returned success anyway and happily
  tried to add the next audio file.

Some documentation improvements as well.

16 years agoGet rid of E_RECV.
Andre Noll [Sun, 25 Nov 2007 09:59:29 +0000 (10:59 +0100)]
Get rid of E_RECV.

recv_bin_buffer() returns the converted errno on errors.
So there's no point in having a paraslash error number for recv errors.

16 years agoMinor doxygen improvements.
Andre Noll [Sat, 24 Nov 2007 23:10:19 +0000 (00:10 +0100)]
Minor doxygen improvements.

16 years agoogg_afh.c: Increase eof timeval.
Andre Noll [Sat, 24 Nov 2007 22:44:25 +0000 (23:44 +0100)]
ogg_afh.c: Increase eof timeval.

16 years agogui: Reorder display of status items.
Andre Noll [Sat, 24 Nov 2007 22:26:11 +0000 (23:26 +0100)]
gui: Reorder display of status items.

16 years agogui.c: Handle empty status items properly.
Andre Noll [Sat, 24 Nov 2007 22:25:33 +0000 (23:25 +0100)]
gui.c: Handle empty status items properly.

16 years agogui.c: Cosmetics.
Andre Noll [Sat, 24 Nov 2007 22:25:01 +0000 (23:25 +0100)]
gui.c: Cosmetics.

16 years agogui.c: Increase numbers of color pairs not related to themes.
Andre Noll [Sat, 24 Nov 2007 19:10:15 +0000 (20:10 +0100)]
gui.c: Increase numbers of color pairs not related to themes.

So that they do not overlap with status items color pairs.

16 years agoRename mood_method "name_like" to "path_matches".
Andre Noll [Sat, 24 Nov 2007 13:31:21 +0000 (14:31 +0100)]
Rename mood_method "name_like" to "path_matches".

16 years agoFix rename detection.
Andre Noll [Sat, 24 Nov 2007 13:19:21 +0000 (14:19 +0100)]
Fix rename detection.

If a file is renamed and re-added the old code would segfault because of
a NULL pointer dereference in save_chunk_table(). Fix is trivial.

16 years agocom_lsblob(): Fix sorting order.
Andre Noll [Sat, 24 Nov 2007 12:01:45 +0000 (13:01 +0100)]
com_lsblob(): Fix sorting order.

16 years agoMerge commit 'remotes/fml/master'
Andre Noll [Sat, 24 Nov 2007 11:00:25 +0000 (12:00 +0100)]
Merge commit 'remotes/fml/master'

16 years agoDefine XOPEN_SOURCE and __EXTENSIONS__ on Solaris.
Andre Noll [Fri, 23 Nov 2007 17:17:19 +0000 (18:17 +0100)]
Define XOPEN_SOURCE and __EXTENSIONS__ on Solaris.

These are needed for passing fd through a socket.

16 years agoDon't garbage-collect sections.
Andre Noll [Fri, 23 Nov 2007 17:15:52 +0000 (18:15 +0100)]
Don't garbage-collect sections.

This does not work on Solaris, NetBSD and MacOS. Leave it in as
a comment though.

16 years agoRename mark_fd_nonblock() to mark_fd_nonblocking().
Andre Noll [Fri, 23 Nov 2007 10:15:42 +0000 (11:15 +0100)]
Rename mark_fd_nonblock() to mark_fd_nonblocking().

Just to be consistent with mark_fd_blocking().

16 years agoRename sched() to schedule().
Andre Noll [Fri, 23 Nov 2007 10:11:42 +0000 (11:11 +0100)]
Rename sched() to schedule().

We already have struct sched..

16 years agoREQUIREMENTS: Add pointers to software packages.
Andre Noll [Fri, 23 Nov 2007 10:07:48 +0000 (11:07 +0100)]
REQUIREMENTS: Add pointers to software packages.

16 years agonet.c: Return proper error value in recv_bin_buffer().
Andre Noll [Fri, 23 Nov 2007 09:42:09 +0000 (10:42 +0100)]
net.c: Return proper error value in recv_bin_buffer().

16 years agoIn handle_connect() we really need a blocking fd for the client.
Andre Noll [Fri, 23 Nov 2007 09:40:16 +0000 (10:40 +0100)]
In handle_connect() we really need a blocking fd for the client.
At least on NetBSD the fd returned by accept() might be in non-blocking
mode. So introduce mark_fd_blocking() and use it in handle_connect().

16 years agoReplace shebang in bash scripts.
Andre Noll [Fri, 23 Nov 2007 09:35:19 +0000 (10:35 +0100)]
Replace shebang in bash scripts.

NetBSD does not have /bin/bash.

16 years agoafs.c: Simplify activate_mood_or_playlist().
Andre Noll [Fri, 23 Nov 2007 09:33:41 +0000 (10:33 +0100)]
afs.c: Simplify activate_mood_or_playlist().

This also gets rid of

warning: `mode' might be used uninitialized in this function

on gcc-3.3.3.

16 years agoAdd wrapper for isspace().
Andre Noll [Fri, 23 Nov 2007 09:32:00 +0000 (10:32 +0100)]
Add wrapper for isspace().

This avoids

warning: subscript has type `char'

on netbsd.

16 years agogitweb.css: Improve readability.
Andre Noll [Wed, 21 Nov 2007 22:53:31 +0000 (23:53 +0100)]
gitweb.css: Improve readability.

16 years agoAdd some gitweb-releated stuff.
Andre Noll [Wed, 21 Nov 2007 16:22:31 +0000 (17:22 +0100)]
Add some gitweb-releated stuff.

16 years agooverview.sk: Minor improvements.
Andre Noll [Tue, 20 Nov 2007 22:13:48 +0000 (23:13 +0100)]
overview.sk: Minor improvements.

16 years agoRemove another link to the live-demo.
Andre Noll [Tue, 20 Nov 2007 21:54:00 +0000 (22:54 +0100)]
Remove another link to the live-demo.

16 years agoKill live-demo web page.
Andre Noll [Tue, 20 Nov 2007 21:52:45 +0000 (22:52 +0100)]
Kill live-demo web page.

16 years agoAdd final 0.2.17 stuff.
Andre Noll [Tue, 20 Nov 2007 20:58:05 +0000 (21:58 +0100)]
Add final 0.2.17 stuff.

16 years agothe paraslash-0.2.17 release tarball
Andre Noll [Tue, 20 Nov 2007 17:36:55 +0000 (18:36 +0100)]
the paraslash-0.2.17 release tarball

16 years agoFix html header.
Andre Noll [Tue, 20 Nov 2007 17:13:01 +0000 (18:13 +0100)]
Fix html header.

The location of the cgi-bin dir on systemlinux is different from
paraslash.org. This broke the gitweb link in the left menu.

16 years agodownload.in.html: Replace paraslash.org in clone command.
Andre Noll [Tue, 20 Nov 2007 19:08:08 +0000 (20:08 +0100)]
download.in.html: Replace paraslash.org in clone command.

16 years agoMerge commit 'remotes/meins/v0.3' into v0.3
Andre Noll [Mon, 19 Nov 2007 09:08:58 +0000 (10:08 +0100)]
Merge commit 'remotes/meins/v0.3' into v0.3

16 years agoAnnounce NetBSD Port.
Andre Noll [Mon, 19 Nov 2007 09:08:46 +0000 (10:08 +0100)]
Announce NetBSD Port.

16 years agoaft.c: Simplify print_list_item().
Andre Noll [Sun, 18 Nov 2007 23:33:31 +0000 (00:33 +0100)]
aft.c: Simplify print_list_item().

16 years agoaft.c: Do not print directory if LS_FLAG_FULL_PATH was not given.
Andre Noll [Sun, 18 Nov 2007 23:32:59 +0000 (00:32 +0100)]
aft.c: Do not print directory if LS_FLAG_FULL_PATH was not given.

16 years agoaft.c ls -lm: Fix unmapping of lyrics file.
Andre Noll [Sun, 18 Nov 2007 21:19:36 +0000 (22:19 +0100)]
aft.c ls -lm: Fix unmapping of lyrics file.

16 years agoFix handling of invalid entries in the score table.
Andre Noll [Sun, 18 Nov 2007 19:59:49 +0000 (20:59 +0100)]
Fix handling of invalid entries in the score table.

It may happen that the score table contains references to files that
no longer exist in the file system. The current code fails badly in
this case.

In open_next_audio_file(), if the file corresponding to the next
entry in the score table can not be opened, delete this entry from
the score table and try the next entry.

If the score table becomes empty, send NO_ADMISSIBLE_FILES back to para_server
and make recv_afs_result() switch to stop mode in this case.

16 years agoAdd additional sanity checks to osl_get_rank().
Andre Noll [Sun, 18 Nov 2007 19:49:56 +0000 (20:49 +0100)]
Add additional sanity checks to osl_get_rank().

Check whether the riven rank is greater than zero and not greater than
the number of rows in the table.

16 years agoFix osl_del_row().
Andre Noll [Sun, 18 Nov 2007 19:47:59 +0000 (20:47 +0100)]
Fix osl_del_row().

Only free volatile columns of the deleted row if OSL_DONT_FREE
is not set.

16 years agoopen_and_update_audio_file(): Interchange two arguments.
Andre Noll [Sat, 17 Nov 2007 19:35:23 +0000 (20:35 +0100)]
open_and_update_audio_file(): Interchange two arguments.

And add documentation of the "score" parameter.

16 years agoREQUIREMENTS: Kill an incomplete sentence, add git.
Andre Noll [Sat, 17 Nov 2007 19:33:20 +0000 (20:33 +0100)]
REQUIREMENTS: Kill an incomplete sentence, add git.

16 years agoIntroduce vss_stopped().
Andre Noll [Sat, 17 Nov 2007 17:15:11 +0000 (18:15 +0100)]
Introduce vss_stopped().

16 years agoFix com_pause().
Andre Noll [Sat, 17 Nov 2007 17:14:46 +0000 (18:14 +0100)]
Fix com_pause().

If the vss status is stopped, we must not switch to pause status.

16 years agofade.c: Fix client_cmd()
Andre Noll [Sat, 17 Nov 2007 17:13:55 +0000 (18:13 +0100)]
fade.c: Fix client_cmd()

We have to wait for children to terminate because otherwise the
client commands may be executed in random order.

Since no caller checked the return value of client_cmd(), make it
abort on errors and change the return value to void.

Also, each caller only passed one string, so make it take only a
char * pointer.

16 years agostat.c: Cosmetics.
Andre Noll [Sat, 17 Nov 2007 17:09:52 +0000 (18:09 +0100)]
stat.c: Cosmetics.

16 years agomake_empty_status_items(): Add spaces after status item identifiers.
Andre Noll [Tue, 13 Nov 2007 19:10:48 +0000 (20:10 +0100)]
make_empty_status_items(): Add spaces after status item identifiers.

Identifiers without spaces confuse para_gui.

16 years agoFix tv_divide().
Andre Noll [Tue, 13 Nov 2007 19:08:06 +0000 (20:08 +0100)]
Fix tv_divide().

The old code contained an integer overflow which caused the mp3 audio
format handler to compute the chunk of large mp3 files incorrectly.

Moreover, the code was more complicated than necessary. So replace it
by a simple calculation which just transforms the given struct timeval
into its number of microseconds, does the division and transforms
the quotient back to a struct timeval.

Thanks to Gerrit Renker for pointing out the problem.

16 years agoFix com_nomore.
Andre Noll [Sun, 11 Nov 2007 19:24:20 +0000 (20:24 +0100)]
Fix com_nomore.

16 years agoAvoid some gcc warnings.
Andre Noll [Sun, 11 Nov 2007 19:23:45 +0000 (20:23 +0100)]
Avoid some gcc warnings.

16 years agoAvoid empty lines in the status output.
Andre Noll [Sun, 11 Nov 2007 19:22:56 +0000 (20:22 +0100)]
Avoid empty lines in the status output.

16 years agoIntroduce make_empty_status_items().
Andre Noll [Sun, 11 Nov 2007 19:22:18 +0000 (20:22 +0100)]
Introduce make_empty_status_items().

At the end of the stream we have to reset the status items
because audiod would start a new receiver otherwise.

16 years agoAdd more status items.
Andre Noll [Sun, 11 Nov 2007 13:58:28 +0000 (14:58 +0100)]
Add more status items.

16 years agoUse FOR_EACH_STATUS_ITEM everywhere.
Andre Noll [Sat, 10 Nov 2007 16:33:06 +0000 (17:33 +0100)]
Use FOR_EACH_STATUS_ITEM everywhere.

16 years agohandle status items via autoconf.
Andre Noll [Sat, 10 Nov 2007 16:23:04 +0000 (17:23 +0100)]
handle status items via autoconf.

16 years agoStore chunk info in the afhi column rather than in the chunk column.
Andre Noll [Sat, 3 Nov 2007 21:04:04 +0000 (22:04 +0100)]
Store chunk info in the afhi column rather than in the chunk column.

As the afhi column is mmapped, the chunk info is now available to
the ls command. The disk-storage column "chunks" only contains the
chunk table which allows to get rid of load_chunk_info() and
save_chunk_info().

16 years agoaft.c: Fix a possible memory leak.
Andre Noll [Sat, 3 Nov 2007 21:00:16 +0000 (22:00 +0100)]
aft.c: Fix a possible memory leak.

16 years agoREADME, INSTALL: Small improvements.
Andre Noll [Sat, 3 Nov 2007 20:58:55 +0000 (21:58 +0100)]
README, INSTALL: Small improvements.

16 years agoMore status item renames.
Andre Noll [Fri, 2 Nov 2007 14:55:24 +0000 (15:55 +0100)]
More status item renames.

SI_LENGTH_MIN -> SI_BITRATE
SI_LENGTH_SEC -> SI_FREQUENCY

SI_ATTRIBUTES -> SI_ATTRIBUTES_BITMAP
SI_UPTIME -> SI_ATTRIBUTES_TXT

16 years agoDon't report server uptime as status item.
Andre Noll [Fri, 2 Nov 2007 14:52:03 +0000 (15:52 +0100)]
Don't report server uptime as status item.

This belongs to the server info.

16 years agoRename audio_info status items and get rid of duplicate afh info.
Andre Noll [Fri, 2 Nov 2007 02:00:35 +0000 (03:00 +0100)]
Rename audio_info status items and get rid of duplicate afh info.

SI_AUDIO_INFO1 -> SI_AUDIO_FILE_INFO
SI_AUDIO_INFO2 -> SI_TAG_INFO1
SI_AUDIO_INFO3 -> SI_TAG_INFO2

The mp3 and the ogg afh stored bits of information in the info
string. Only store there what is not already contained in afh_info.

16 years agoInterchange two lines in load_afhi().
Andre Noll [Fri, 2 Nov 2007 01:48:15 +0000 (02:48 +0100)]
Interchange two lines in load_afhi().

Just to keep the oder consistent with safe_afhi().

16 years agoMake the status item list globally visible.
Andre Noll [Fri, 2 Nov 2007 01:46:35 +0000 (02:46 +0100)]
Make the status item list globally visible.

16 years agoaudiod.c: Add missing space.
Andre Noll [Fri, 2 Nov 2007 00:01:13 +0000 (01:01 +0100)]
audiod.c: Add missing space.

16 years agoscore.c: Use the new OSL_DONT_FREE flag for the aft column.
Andre Noll [Fri, 2 Nov 2007 00:00:42 +0000 (01:00 +0100)]
score.c: Use the new OSL_DONT_FREE flag for the aft column.

The score tables stores in one of its columns a pointer to
a row in the audio file table. This means for each admissible
file we're allocating space for a void* pointer to store the
aft pointer.

It's simpler and probably faster to store the afs pointer directly,
but of course that pointer must not be freed by the osl.

16 years agoosl: Introduce volatile columns that need not be freed.
Andre Noll [Thu, 1 Nov 2007 23:52:48 +0000 (00:52 +0100)]
osl: Introduce volatile columns that need not be freed.

If the new OSL_DONT_FREE flag is given, osl_close_table()
will not try to free such objects.

16 years agoFix duplicate afs event add.
Andre Noll [Thu, 1 Nov 2007 23:49:03 +0000 (00:49 +0100)]
Fix duplicate afs event add.

This bug hits if a request to update an existing audio file
is made. The old code caused an AFHI_CHANGE event and then
did "goto out;" which raises nother event (AUDIO_FILE_ADD).

Fix it by moving the event-raising code some lines up.

16 years agoAlways print a space after each status item identifier.
Andre Noll [Thu, 1 Nov 2007 20:50:18 +0000 (21:50 +0100)]
Always print a space after each status item identifier.

16 years agoGet rid of afd->afsi and rename afs_status_info to verbose_ls_output.
Andre Noll [Thu, 1 Nov 2007 20:32:34 +0000 (21:32 +0100)]
Get rid of afd->afsi and rename afs_status_info to verbose_ls_output.

16 years agoKill afd->current_play_mode.
Andre Noll [Thu, 1 Nov 2007 20:04:18 +0000 (21:04 +0100)]
Kill afd->current_play_mode.

It's unused.

16 years agokill afd->score.
Andre Noll [Thu, 1 Nov 2007 20:02:21 +0000 (21:02 +0100)]
kill afd->score.

This is also contained in afd->afs_status_info.

16 years agoGet rid of afd->path.
Andre Noll [Thu, 1 Nov 2007 19:45:34 +0000 (20:45 +0100)]
Get rid of afd->path.

All that info is contained in afd->afs_status_info.

16 years agoRename length status item to seconds_total and print it only once.
Andre Noll [Thu, 1 Nov 2007 18:58:12 +0000 (19:58 +0100)]
Rename length status item to seconds_total and print it only once.

16 years agoFix number of whitespaces in duration status item.
Andre Noll [Thu, 1 Nov 2007 18:20:40 +0000 (19:20 +0100)]
Fix number of whitespaces in duration status item.

16 years agoAlways write image_name and lyrics_name status output.
Andre Noll [Thu, 1 Nov 2007 18:06:39 +0000 (19:06 +0100)]
Always write image_name and lyrics_name status output.

If there is no image_name, print "(none)". Same with
lyrics.

16 years agoSplit lyrics and image lines in stat output.
Andre Noll [Thu, 1 Nov 2007 18:03:14 +0000 (19:03 +0100)]
Split lyrics and image lines in stat output.

It's better to have the id and the name of the corresponding
blob as two different status items.