Andre Noll [Thu, 25 Oct 2007 21:59:52 +0000 (23:59 +0200)]
gui.c: Don't ignore SIGPIPE.
The programs that are executed by para_gui likely depend on
SIGPIPE having its default action.
Andre Noll [Thu, 25 Oct 2007 21:11:58 +0000 (23:11 +0200)]
server.cmd: Cosmetics.
Andre Noll [Thu, 25 Oct 2007 20:48:13 +0000 (22:48 +0200)]
Minor correctioons to the doxygen main page.
Andre Noll [Thu, 25 Oct 2007 20:47:35 +0000 (22:47 +0200)]
INSTALL: Add two links to related information.
Andre Noll [Thu, 25 Oct 2007 20:46:57 +0000 (22:46 +0200)]
Make man pages for the web site use para.css.
Andre Noll [Thu, 25 Oct 2007 20:45:05 +0000 (22:45 +0200)]
Remove links to old screenshots.
Andre Noll [Thu, 25 Oct 2007 18:46:25 +0000 (20:46 +0200)]
More documentation updates.
Andre Noll [Thu, 25 Oct 2007 17:30:00 +0000 (19:30 +0200)]
Small cleanups and documentation improvements.
Andre Noll [Thu, 25 Oct 2007 17:28:34 +0000 (19:28 +0200)]
afs.h: Add doxygen comments for enum afs_events and struct afs_table.
Andre Noll [Thu, 25 Oct 2007 17:25:32 +0000 (19:25 +0200)]
Documentation update and re-ordering.
Andre Noll [Thu, 25 Oct 2007 16:52:30 +0000 (18:52 +0200)]
overview.sk: Update to 0.3.0.
Andre Noll [Thu, 25 Oct 2007 16:46:54 +0000 (18:46 +0200)]
INSTALL: Replace "congiure" by "./configure".
Andre Noll [Thu, 25 Oct 2007 03:22:17 +0000 (05:22 +0200)]
Update overview.sk to v0.3.
Andre Noll [Wed, 24 Oct 2007 23:44:51 +0000 (01:44 +0200)]
Doxygen fixes.
Andre Noll [Wed, 24 Oct 2007 21:22:21 +0000 (23:22 +0200)]
afs.cmd: cosmetics.
Andre Noll [Wed, 24 Oct 2007 21:21:47 +0000 (23:21 +0200)]
command_util.sh: Don't replace newlines by spaces.
Andre Noll [Wed, 24 Oct 2007 20:45:36 +0000 (22:45 +0200)]
afs.cmd: Improve description of blob commands.
Andre Noll [Wed, 24 Oct 2007 19:13:50 +0000 (21:13 +0200)]
aft.c: Separate attribute bitmap and attribute text.
Andre Noll [Wed, 24 Oct 2007 15:32:35 +0000 (17:32 +0200)]
vss.c: Kill noisy debug message.
Andre Noll [Wed, 24 Oct 2007 15:29:07 +0000 (17:29 +0200)]
com_touch: Only print error message on errors.
Andre Noll [Wed, 24 Oct 2007 13:02:51 +0000 (15:02 +0200)]
Reset afd fields on eof.
Don't print stale status info when stopped.
Andre Noll [Wed, 24 Oct 2007 12:39:24 +0000 (14:39 +0200)]
afs.c: Restore the current mood or playlist on SIGHUP.
Andre Noll [Wed, 24 Oct 2007 12:38:14 +0000 (14:38 +0200)]
afs.c execute_server_command(): Improve log message.
Andre Noll [Wed, 24 Oct 2007 12:37:27 +0000 (14:37 +0200)]
Simplify init_admissible_files().
It now takes an arg containing the mood or playlist
to be initialized.
Andre Noll [Wed, 24 Oct 2007 12:12:11 +0000 (14:12 +0200)]
afs: Increase default sched timount.
1 second is fine.
Andre Noll [Wed, 24 Oct 2007 12:00:30 +0000 (14:00 +0200)]
Fix a use-after-free bug in para_server.
This bug bites on SIGHUP if a config file was specified at the command line.
Andre Noll [Wed, 24 Oct 2007 11:58:13 +0000 (13:58 +0200)]
Let afs die if para_server dies.
Andre Noll [Wed, 24 Oct 2007 10:49:16 +0000 (12:49 +0200)]
afs.c: Fix open_afs_tables().
The old code tried to close the table we just failed to open.
We just want to close all tables that were opened successfully
before the failed one.
Andre Noll [Wed, 24 Oct 2007 10:47:09 +0000 (12:47 +0200)]
Add missing initialization of table pointer in blob_init().
Andre Noll [Tue, 23 Oct 2007 21:36:40 +0000 (23:36 +0200)]
Get rid of mmd->filename.
The info is also contained in afd, but this was a pointer to data in
the shared memory area. We must copy into the static mmd buffer anyway,
since com_stat() must be able to see it. So make afd.path a static
array rather than a pointer and use afd->path instead of mmd->filename.
This simplifies save_afd() and load_afd() a bit since now only the
chunk table is of variable length.
Andre Noll [Tue, 23 Oct 2007 21:05:05 +0000 (23:05 +0200)]
Add LYRICS_ID status item.
Andre Noll [Tue, 23 Oct 2007 20:50:37 +0000 (22:50 +0200)]
Replace status item SELECTOR by IMAGE_ID.
Andre Noll [Tue, 23 Oct 2007 20:37:59 +0000 (22:37 +0200)]
Replace status item DBINFO3 by DIRECTORY.
Andre Noll [Tue, 23 Oct 2007 20:23:36 +0000 (22:23 +0200)]
stat.c: Fix a typo.
Andre Noll [Tue, 23 Oct 2007 20:20:36 +0000 (22:20 +0200)]
Replace status item STATUS_BAR to BASENAME.
as this is what it actually contains.
Andre Noll [Tue, 23 Oct 2007 20:06:51 +0000 (22:06 +0200)]
Replace status item DBINFO2 by ATTRIBUTES.
Andre Noll [Tue, 23 Oct 2007 18:36:20 +0000 (20:36 +0200)]
Kill mmd->selector_change.
There are no more selectors to choose. It's all handled by afs.
Andre Noll [Tue, 23 Oct 2007 18:30:42 +0000 (20:30 +0200)]
Get rid of mmd->audio_format.
The current audio format is also stored in mmd->afd.afsi.audio_format_id,
so use the value stored there. However, most users of mmd->audio_format
used this value only to detect whether an audio file is open ATM. In
vss.c, use the map pointer instead to find out whether an audio file is
open.
Andre Noll [Tue, 23 Oct 2007 17:56:44 +0000 (19:56 +0200)]
Get rid of mmd->afi.
It was only a copy of mmd->afd.afhi, so make all users use the
latter directly.
Andre Noll [Tue, 23 Oct 2007 17:38:47 +0000 (19:38 +0200)]
Remove com_sb and com_sc.
Nobody used com_sb and com_sc was only used by para_krell.
Andre Noll [Tue, 23 Oct 2007 17:07:21 +0000 (19:07 +0200)]
remove README.mysql.
Andre Noll [Tue, 23 Oct 2007 17:06:52 +0000 (19:06 +0200)]
README/INSTALL/FEATURES cleanup.
Andre Noll [Tue, 23 Oct 2007 16:36:12 +0000 (18:36 +0200)]
Mark some unused variables as such.
Andre Noll [Tue, 23 Oct 2007 16:33:43 +0000 (18:33 +0200)]
playlist.c: Remove an unused variable.
Andre Noll [Tue, 23 Oct 2007 16:32:33 +0000 (18:32 +0200)]
Makefile.in: Remove unused PICDIR.
Andre Noll [Tue, 23 Oct 2007 16:23:43 +0000 (18:23 +0200)]
Remove moew unused stuff.
SFont is not needed anymore. Also remove gone files from doxygen
exclude list.
Andre Noll [Tue, 23 Oct 2007 16:20:47 +0000 (18:20 +0200)]
Add error2.h to .gitignore.
Andre Noll [Tue, 23 Oct 2007 16:19:59 +0000 (18:19 +0200)]
Add missing afh_common.c.
dooh, it's easy to miss including an essential file.
Andre Noll [Tue, 23 Oct 2007 16:13:21 +0000 (18:13 +0200)]
Remove para_sdl_gui, para_slider, para_krell.
These were all really crappy, probably not used by anybody,
and they broke due to the rename of the status item text or
the switch to the new afs. So let's get rid of them.
para_gui is here to stay though.
Andre Noll [Tue, 23 Oct 2007 15:53:04 +0000 (17:53 +0200)]
Change dbinfo1 stat item and use it from afs.
Andre Noll [Tue, 23 Oct 2007 15:37:38 +0000 (17:37 +0200)]
aft.c: Kill somce dead code.
Andre Noll [Tue, 23 Oct 2007 14:47:46 +0000 (16:47 +0200)]
mood.c: Use activate_mood_or_playlist() also to switch to the dummy mode.
Andre Noll [Tue, 23 Oct 2007 14:43:50 +0000 (16:43 +0200)]
command.c: Trivial documentation cleanups.
Andre Noll [Tue, 23 Oct 2007 14:43:17 +0000 (16:43 +0200)]
Make pass_afd() static.
And move current_mop to the top.
Andre Noll [Tue, 23 Oct 2007 14:30:05 +0000 (16:30 +0200)]
afs: Fix a fd leak.
Andre Noll [Tue, 23 Oct 2007 14:09:01 +0000 (16:09 +0200)]
Implement com_select().
Andre Noll [Tue, 23 Oct 2007 11:47:01 +0000 (13:47 +0200)]
mood.c: Add missing initialization of mood_name.
Andre Noll [Tue, 23 Oct 2007 11:45:31 +0000 (13:45 +0200)]
Kill code for loading the first available playlist.
It's unused.
Andre Noll [Tue, 23 Oct 2007 11:41:11 +0000 (13:41 +0200)]
Kill loading of first available mood.
It's unused and quite ugly. The dummy mood is good enough as a fallback.
Andre Noll [Tue, 23 Oct 2007 01:35:39 +0000 (03:35 +0200)]
Rename afs_ls and afs_rm to ls and rm.
Andre Noll [Tue, 23 Oct 2007 01:35:05 +0000 (03:35 +0200)]
convert_0.2-0.3.sh: Fix some silly typos.
Andre Noll [Tue, 23 Oct 2007 00:35:16 +0000 (02:35 +0200)]
Remove para_dbadm.
The same can be easily done with a shell-script. And libmenu sucks.
Andre Noll [Tue, 23 Oct 2007 00:23:28 +0000 (02:23 +0200)]
Remove old audio file selector code.
Andre Noll [Mon, 22 Oct 2007 23:48:45 +0000 (01:48 +0200)]
Remove users of the old audio file selector code.
Andre Noll [Mon, 22 Oct 2007 23:23:17 +0000 (01:23 +0200)]
vss.c: Kill unused int audio_file.
Andre Noll [Mon, 22 Oct 2007 23:14:32 +0000 (01:14 +0200)]
Move afh_init() call from vss.c to server.c.
Andre Noll [Mon, 22 Oct 2007 22:50:47 +0000 (00:50 +0200)]
Move common audio format handler functions to new afh_common.c.
Andre Noll [Mon, 22 Oct 2007 22:22:39 +0000 (00:22 +0200)]
vss.c: Isolate afh_init().
As a first step to separate the audio format handlers from the vss.
Andre Noll [Mon, 22 Oct 2007 22:14:36 +0000 (00:14 +0200)]
vss.c: Use audio_format_name() where possible.
Andre Noll [Mon, 22 Oct 2007 21:59:35 +0000 (23:59 +0200)]
vss.c: Kill an unused variable.
Andre Noll [Mon, 22 Oct 2007 21:55:50 +0000 (23:55 +0200)]
vss.c: Small simplifications.
Andre Noll [Mon, 22 Oct 2007 21:53:53 +0000 (23:53 +0200)]
Fix off-by-one bug in chunktable saving.
Chunk table indices go from 0 to num_chunks, so the size is
(num_chunks + 1) * 4.
Andre Noll [Mon, 22 Oct 2007 21:53:01 +0000 (23:53 +0200)]
Change chunktable array type from size_t to uint32_t.
It's better to have a fixed size here.
Andre Noll [Mon, 22 Oct 2007 20:30:05 +0000 (22:30 +0200)]
vss.c: Remove some unused code.
Andre Noll [Mon, 22 Oct 2007 20:23:31 +0000 (22:23 +0200)]
Switch to the new afs.
This obsoletes get_audio_file() of vss.c. It is being replaced
by a call to the afs layer from vss_post_select() which requests
a struct audio_format_data for the next audio file.
The afd struct, the chunk table and the path of the new audio file are
stored in a shared memory area. The id of that area is sent through
the afs-server socket. An open fd for the underlying audio file is
send to the server process as well using usual socket magic.
The vss task of the server process attaches the shared memory area
and mmaps the open fd to start audio streaming.
The code is still quite buggy, but let's do bug fixes and removal of
the old audio file selectors in susequent patches.
Andre Noll [Sun, 21 Oct 2007 13:25:55 +0000 (15:25 +0200)]
Move mmap_full_file from osl.c to fd.c.
To make it independent from osl.c, we must not pass
a pointer to struct osl_data. Replace it by void *, size_t *
pointers. Also add new int *fd_ptr parameter. If it's non-NULL
the file is not closed after mmap, and the open fd is returned
in fd_ptr.
Andre Noll [Sun, 21 Oct 2007 12:59:20 +0000 (14:59 +0200)]
aft.c: Remove special case code for playlist mode.
Andre Noll [Sun, 21 Oct 2007 12:40:27 +0000 (14:40 +0200)]
Add 3 byte reserved space to the afs info.
Andre Noll [Sun, 21 Oct 2007 12:24:19 +0000 (14:24 +0200)]
aft: Add missing add event.
Andre Noll [Sun, 21 Oct 2007 11:43:22 +0000 (13:43 +0200)]
Complete afs event handling.
Add blob event handling. This definitely needs some
more fine-tuning, but that can be changed gradually
thanks to the generic event handling code.
In playlist mode there's nothing to do, as we're
not interested in any blob events. So install only
a dummy handler for the scoring system and decide
whether to reload the score table in mood.c.
Andre Noll [Thu, 18 Oct 2007 20:00:16 +0000 (22:00 +0200)]
Implement afs events.
Andre Noll [Sat, 13 Oct 2007 16:30:33 +0000 (18:30 +0200)]
Replace struct table_info by struct afs_table.
This is a much cleaner approach and it simplifies afs.c a bit.
Andre Noll [Thu, 11 Oct 2007 18:06:46 +0000 (20:06 +0200)]
Refuse to add invalid attibute names.
And tell the client rather than the log file about any errors.
Andre Noll [Thu, 11 Oct 2007 17:07:29 +0000 (19:07 +0200)]
fd.c: Remove unused label change_to_orig_dir.
Andre Noll [Thu, 11 Oct 2007 16:59:36 +0000 (18:59 +0200)]
Merge commit 'remotes/fml/v0.3' into v0.3
Andre Noll [Thu, 11 Oct 2007 12:35:28 +0000 (14:35 +0200)]
Add --gc-sections to LDFLAGS.
This, together with -fdata-sections and -ffunction-sections brought
nice size reductions. Before:
-rwxr-xr-x 1 maan fml 29K Oct 11 14:32 para_audioc*
-rwxr-xr-x 1 maan fml 42K Oct 11 14:32 para_client*
-rwxr-xr-x 1 maan fml 33K Oct 11 14:32 para_fade*
-rwxr-xr-x 1 maan fml 38K Oct 11 14:32 para_filter*
-rwxr-xr-x 1 maan fml 54K Oct 11 14:32 para_fsck*
-rwxr-xr-x 1 maan fml 52K Oct 11 14:32 para_gui*
-rwxr-xr-x 1 maan fml 42K Oct 11 14:32 para_recv*
-rwxr-xr-x 1 maan fml 216K Oct 11 14:32 para_server*
-rwxr-xr-x 1 maan fml 38K Oct 11 14:32 para_write*
After:
-rwxr-xr-x 1 maan fml 21K Oct 11 14:31 para_audioc*
-rwxr-xr-x 1 maan fml 33K Oct 11 14:31 para_client*
-rwxr-xr-x 1 maan fml 29K Oct 11 14:31 para_fade*
-rwxr-xr-x 1 maan fml 29K Oct 11 14:31 para_filter*
-rwxr-xr-x 1 maan fml 45K Oct 11 14:31 para_fsck*
-rwxr-xr-x 1 maan fml 47K Oct 11 14:31 para_gui*
-rwxr-xr-x 1 maan fml 30K Oct 11 14:31 para_recv*
-rwxr-xr-x 1 maan fml 208K Oct 11 14:31 para_server*
-rwxr-xr-x 1 maan fml 29K Oct 11 14:31 para_write*
Andre Noll [Wed, 10 Oct 2007 18:19:26 +0000 (20:19 +0200)]
Get rid of E_WAITPID.
Andre Noll [Wed, 10 Oct 2007 18:04:03 +0000 (20:04 +0200)]
Get rid of E_SIGNAL_PIPE.
If creation of the signal pipe fails, we abort anyway. So print
the errno in the fatal log message instead of the fact that the create
failed.
Andre Noll [Wed, 10 Oct 2007 17:55:04 +0000 (19:55 +0200)]
fd.c: Cosmetics.
Andre Noll [Wed, 10 Oct 2007 17:50:12 +0000 (19:50 +0200)]
Get rid of E_FCHDIR.
Return the system error code instead.
Andre Noll [Wed, 10 Oct 2007 17:45:45 +0000 (19:45 +0200)]
Get rid of E_OPENDIR.
Return the system error instead.
Andre Noll [Wed, 10 Oct 2007 17:38:41 +0000 (19:38 +0200)]
para_select(): Return a proper error code on errors.
Andre Noll [Tue, 9 Oct 2007 19:11:05 +0000 (21:11 +0200)]
Remove some system errors from errno.h
No need to have system errors duplicated in error.h. Just return
-ERRNO_TO_PARA_ERROR(errno) in these cases.
Andre Noll [Tue, 9 Oct 2007 18:10:22 +0000 (20:10 +0200)]
Get rid of -E_F_GETFL and -E_F_SETFL.
Return the proper errno instead, using the new ERRNO_TO_PARA_ERROR macro..
Andre Noll [Tue, 9 Oct 2007 18:05:16 +0000 (20:05 +0200)]
error.h: Add more helper macros.
Andre Noll [Mon, 8 Oct 2007 16:22:30 +0000 (18:22 +0200)]
.ico Version of the fancy new logo.
Andre Noll [Sun, 7 Oct 2007 19:52:47 +0000 (21:52 +0200)]
error.h: Make PARA_STRERROR understand system errors.
Andre Noll [Sun, 7 Oct 2007 19:28:44 +0000 (21:28 +0200)]
error.h: Remove some unused errors.
Andre Noll [Sun, 7 Oct 2007 19:03:54 +0000 (21:03 +0200)]
Only declare error codes that are safe to use.
The following type of bug occurred frequently since the introduction
of error.h: An error code was defined for some file a.c and was used
in another file b.c. This is all good if each executable that contains
b.o also contains a.o.
If this is not the case, i.e. if there is an executable that contains
b.o but _not_ a.o, the error texts of all errors defined for a.c are
not included in the executable. This results in a segmentation fault
at runtime if PARA_STRERROR() is used for such an error code.
Unfortunately, this was hard to spot because all error codes were
visible everywhere. This patch gets rid of this flaw by making
only those error codes visible for b.c which are safe to use.
According to the above, the set of error codes which are safe to use
in b.c can be defined as follows. Let E_1, ... E_n be the set of
executables that contain b.o and let, for j=1,...n, S_j be the
set of files those files contained in E_j. Then, all errors defined
in the intersection
S_1 \cap S_2 \cap ... \cap S_n
are safe to use in b.c. The patch adds a function to configure.ac
That computes this intersection. Unfortunately, it is rather expensive.
The good news is that this simplifies error.h a bit and that it
already revealed a couple of bugs which are also fixed in the patch:
- afs.c used E_SIGNAL_CAUGHT which was only defined in audiod.
Introduce E_AFS_SIGNAL and change afs.c accordingly.
- audiod uses E_RECV_SYNTAX, which belonged to recv which is
not contained in audiod. Move it to recv_common instead.
This bug is also present in v0.2.x and needs a similar fix.
- E_NOTDIR was used in fd.c, but was defined in osl.c. Not all
executables that include fd.o also include osl.o. Move E_NOTDIR
to the set of errors for fd.
Andre Noll [Sat, 6 Oct 2007 23:50:06 +0000 (01:50 +0200)]
INSTALL: Update to v0.3.
Still needs more work.