Picoxine
Utilities
Score 79%
Description:

PicoXine is a (very small) XINE implementation for playing audio events as a replacement for ARTS. It's extremely small (the source code is only 3.0KiB long!) It offers great response time, it's faster than MPlayer upon start-up, and it has no stdout output if no errors are found. It's, therefore, completely transparent.

It requires Xine-Lib (any version). If your distro uses development packages, you need xine-devel and libc6-devel

Picoxine is now available on Gentoo's Portage tree due to nagging on my part. Enjoy; :)
Last changelog:

11 years ago

0.0.1:
Initial Release

0.0.2:
* Removed X11 Linkage from build script: PicoXine is now no longer dependant on X11/Xorg linkage, this also makes it faster and smaller!

* Fixed stupid typo (omission of sudo in sudo example) in the INSTALL / README file



0.0.3:

*Added Volume Option

*Added Audio Driver option

*To use these options, simply run picoxine without any arguments and it will display the usage.

0.0.4:

*Increased Delay Loop to 40kUsec to attempt to stop audio skips at EOF

0.0.5:

*Fixed Volume handling for it to work using the internal XINE volume mixer, rather than your ALSA mixer! Now it works!

*Added a secondary delay at EOF to prevent cut offs.

0.0.5.1:
Always check your tar files before distributing.

0.0.7:

Added a patch given to me by Diego 'Flameeyes' Petteno, flameeyes@gentoo.org

Further optimisation

Caster

11 years ago

Response is not so great here. If I try, say KDE_Glass_Break.ogg to play in System Notifications panel with the preview button, picoxine takes almost 1 second before it plays. The "play" command from sox package is instant, mplayer lags a bit but it's nothing compared to picoxine :( Trying wav sounds from K3B, k3b_error1.wav lags as much, and won't finish, it's cut in middle. k3b_wait_media1.wav doesn't play at all. What's the problem? Got xine-lib 1.1.2_pre20060328-r9.

Report

ciaraan

11 years ago

I am not entierly sure. Allow me to go back to source code. Maybe I can optimise even more. Please change -O2 to -O3 in your build.sh and add -fomit-frame-pointer.

Report

Caster

11 years ago

No change... I think such flags don't matter much for this tiny program :) Delay must be caused by xine initialisation or something... Tried also manually from command line, different -ao parameters, teh same.

Report

ciaraan

11 years ago

I am going to point the finger to your XINElib, yes.
I would suggest using -o3 -fomit-frame-pointer and -ffast-math for your Xine lib.
I actually compile with those plus
-ftree-vectorize, -mfpmath=sse,387 and -march=opteron, so I am not entierly sure what what may work for you...

Report

ciaraan

11 years ago

0.0.7 is out, it should help, since it will init faster.

Furthermore, it may just be your Xine setup. I use my Xine with prelink and it helps greatly.

Report

Caster

11 years ago

Yeah that helped a lot, now it's playing instantly. Thanks.

Report

gohanz

11 years ago

A SlackWare TGz package with SlackBuild Script is Ready to DownLoad!!!

http://www.slacky.it/

http://www.slacky.it/index.php?option=com_remository&Itemid=29&func=fileinfo&id=1199

Report

ciaraan

11 years ago

I forgot to include picoxine.c in the tar file and just added picoxine.c~, my apologies. Oh, 0.0.5.1 is brilliant. :)

Report

ciaraan

11 years ago

The mighty bugfixer? I like 0.0.5 a lot more than 0.0.4 because audio mixers now WOEK, and I would like to recognise the thought for the parmeter to use the internal mixer came from you lot, so, Thank you!


Ho, also calibrated a new delay loop at EOF to prevent cut-offs. Hopefully it will work

Thank you.

Report

DexterMagnific

11 years ago

YES I LOVE IT !!
Great job !

Report

gordin

11 years ago

great handy little app
is there some way to get this running with the file preview for sound-files in konqueror? then i could really get rid of arts.

Report

landice

11 years ago

how about using "XINE_PARAM_AUDIO_AMP_LEVEL" instead of "XINE_PARAM_AUDIO_VOLUME" so it will not affect the volume of other audio stream?

BTW, I think the code read volume arg from the command line is wrong, the code set volume to the ascii number of the first char?

Report

AntonChumak

11 years ago

picoxine is a great thing but it's volume behaviour is horrible! It dosent notice the mixer settings! How to add command line option in "other player" dialog? Trying to use it with volume option I had to write a script like this:

#!/bin/sh
picoxine -v 40 "$1"
amixer set PCM 110+

after this volume behaviour became more suitable.

Report

panzi

11 years ago

nice. I use the command "play" from the package "sox" to play system events. A speed comparison would be interesting.

Report

MerlinTC

11 years ago

Hi, I really like picoxine but it seems as if it cuts of the last second of a sound file for me. So most of my system sounds are pretty short so you can't hear much of it.

Report

ciaraan

11 years ago

I think that's due to your audio output try -ao oss to see if it works. If that does not quite cut it, let me know again and I will increase the delay loop at the end to see if that fixes it.

Report

MerlinTC

11 years ago

I tried to use OSS but that doesn't work at all and with alsa it just skips the last part. I'd really like if you can do something about it since xine plays mostly everything.

Thanks

Report

ciaraan

11 years ago

Please tell me if 0.0.4 Addresses this problem.

Report

AntonChumak

11 years ago

how about --volume option? I would like to hear events lower then my music etc. How can I do it with picoxine?

Report

ciaraan

11 years ago

Volume option added. Make sure to read the README file.

Report

linmain

11 years ago

there is a security bug:
you do
sprintf(configfile, "%s%s", xine_get_homedir(), "/.xine/config");



but if your home dir is greater than 2048-strlen(/.xine/config) chars long, then you overrun the buffer. i guess a simple "HOME=[insert here your long special thingy] ./picoxine" will crash your app...

Report

ciaraan

11 years ago

Ah... I see what you mean. I will have to fix that then. Thanks!

Report

ciaraan

11 years ago

The application will refuse to start if home is beyond 2048 characters. It's not a security bug, there is no crash, just an error. But feel free to write a possible replacement for the statement.

Report

amigib

11 years ago

very handy, thanks for this app

Report

sirtalon

11 years ago

I was planning on writing something like this for my laptop (aRts crashes a lot on it), but now I don't have to!

Report

11 years ago

0.0.1:
Initial Release

0.0.2:
* Removed X11 Linkage from build script: PicoXine is now no longer dependant on X11/Xorg linkage, this also makes it faster and smaller!

* Fixed stupid typo (omission of sudo in sudo example) in the INSTALL / README file



0.0.3:

*Added Volume Option

*Added Audio Driver option

*To use these options, simply run picoxine without any arguments and it will display the usage.

0.0.4:

*Increased Delay Loop to 40kUsec to attempt to stop audio skips at EOF

0.0.5:

*Fixed Volume handling for it to work using the internal XINE volume mixer, rather than your ALSA mixer! Now it works!

*Added a secondary delay at EOF to prevent cut offs.

0.0.5.1:
Always check your tar files before distributing.

0.0.7:

Added a patch given to me by Diego 'Flameeyes' Petteno, flameeyes@gentoo.org

Further optimisation

product-maker pondogor Mar 25 2015

product-maker 15 72

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
0.0.7
updated Sep 12 2006
added May 21 2006
downloads today
0
page views today 0