pMusic 6.0.0

Audio editors, music players, video players, burning software, etc.
Message
Author
solid
Posts: 15
Joined: Mon 30 Jun 2008, 04:07

#21 Post by solid »

I just tried it out today, looks great!!

I haven't run into any freezing problems, but the indexing doesn't seem to work on my computer. I am just opening individual files.

Also, even after I close the windows, the processes don't stop. The music plays without a window. Cool effect, but probably not what you wanted.

I'm using Macpup4.0 on an AMD system with 4 gigs of ram. I'll continue testing when I get the time.

Solid

User avatar
markofkane
Posts: 310
Joined: Thu 03 Jul 2008, 09:02
Location: Kane, IL USA

#22 Post by markofkane »

I am trying it, and I don't know if it's indexing music or not,. I just got nothing, so far. :?: :?: :?:

It might be working now. I am not sure if it found all my music. 8)

User avatar
markofkane
Posts: 310
Joined: Thu 03 Jul 2008, 09:02
Location: Kane, IL USA

#23 Post by markofkane »

Won't play....froze up my computer creating playlist, and had to do a hard reboot.

None of the buttons work now. :?

I removed it until the bugs are worked out. (It takes a lot of CPU)

User avatar
markofkane
Posts: 310
Joined: Thu 03 Jul 2008, 09:02
Location: Kane, IL USA

#24 Post by markofkane »

well, it messed up my computer. Now I cannot play any music. Gxine won't work anymore.

:evil:

Edit: It might be because I updated Seamonkey, now i get the stupid:

error while loading shared libraries: libmozjs.so: cannot
open shared object file: No such file
or directory

User avatar
ttuuxxx
Posts: 11171
Joined: Sat 05 May 2007, 10:00
Location: Ontario Canada,Sydney Australia
Contact:

#25 Post by ttuuxxx »

markofkane wrote:well, it messed up my computer. Now I cannot play any music. Gxine won't work anymore.

:evil:

Edit: It might be because I updated Seamonkey, now i get the stupid:

error while loading shared libraries: libmozjs.so: cannot
open shared object file: No such file
or directory
Here's your libmozjs for puppy 4.0 it will automatically install :)
into /usr/lib/seamonkey-1.1.8/libmozjs.so
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)

User avatar
ttuuxxx
Posts: 11171
Joined: Sat 05 May 2007, 10:00
Location: Ontario Canada,Sydney Australia
Contact:

#26 Post by ttuuxxx »

also sometime you have to system link all the libs from
/usr/lib/seamonkey-1.1.8/
to
/usr/lib/

basically just drag them to the up arrow and select "link (relative)"

ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)

User avatar
markofkane
Posts: 310
Joined: Thu 03 Jul 2008, 09:02
Location: Kane, IL USA

#27 Post by markofkane »

Thanks!! I'll try it. :D

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#28 Post by zigbert »

DreamsToGo
I hope you can help me some more. I follow your steps, but none of mine computers locks. So I wonder, could you open /usr/local/pmusic/func in geany and find the section -add). If you put in a new line with 'xmessage hello', it's easy to determine exactly where it hangs. If hello-box doesn't show up, Pmusic hangs before xmessage. Other info of interest would be;
- What if you use Puppy 4.00
- Change x-server
- Play a file you know have perfect quality. (wav)

To open the filedialog in a specific place, bookmarks works great. But still /usr/local/pmusic isn't the most logical place to send user. For your enhanced directory management, I'll come back to that.

ttuuxxx
:)

Taavi
Pmusic doesn't support flac at this moment. ffmpeg -format tells that flac are supported, but I couldn't get it work. Either ffmpeg are not compiled well with Puppy, or the support aren't working. Do you know anything about this?


mdisaster2
My goal is to fit all my apps in 800x600. To support 440 we need another release made for eee or other tiny screens.

The progress bar and the name of the song is generated by the same function. You can't split those, so I'm sorry. Either name and progress, or none.

User avatar
DreamsToGo
Posts: 118
Joined: Fri 27 Jan 2006, 08:28
Location: Castelnaudary, south France, World Capital of Cassoulet

#29 Post by DreamsToGo »

Zigbert

Just to confirm I can repeat the crash at will.

I put a few xmessage hellos in the script. I get all of them and the system hangs after hello4. I highlighted the xmessage commands to make it easier.

I'll try on a clean boot with Puppy 400. I'm using Xorg on this machine, I'll try on another with xvesa.

This hang occurs all the time when a press the add button on the file selection dialog no matter what the file format is, mp3, ogg, wav.

-add)
xmessage hello1
if [ ! "`cat $WORKDIR/pmusic-playlist`" ]; then AUTOPLAY=true; fi #if nothing in playlist, play added song.
INDEX="`echo "$INDEX" | sed -e "s/ \//\//g"`"
if [ "`echo "$INDEX" | grep -i "('$\|\.m3u$\|\.pls$\|\.{END}$ ')"`" ]; then #playlist
echo "Importing playlist..." > $WORKDIR/pmusic-splashtext
echo 0 > $WORKDIR/pmusic-splash #reset progress bar
$APPDIR/box_splash_progress &
echo "$INDEX" > $WORKDIR/pmusic-last_added_playlist
cat "$INDEX" | grep -v '#' | sed -e "s%\r%%g" > $WORKDIR/pmusic-tmp #remove metadata of playlist
#check if path is valid in playlist
echo -e "\c" > $WORKDIR/pmusic-songs_in_list
while read I; do
if [ "`echo "$I" | grep '/'`" ]; then #path exist, use path of playlist
echo "$I" >> $WORKDIR/pmusic-songs_in_list
else #no path for files in list. Use current dir
TMP="`dirname "$INDEX"`"
echo "$TMP/$I" >> $WORKDIR/pmusic-songs_in_list
fi
done < $WORKDIR/pmusic-tmp
else #single song
echo "$INDEX" > $WORKDIR/pmusic-songs_in_list
fi
SELECTION="`cat $WORKDIR/pmusic-SELECTION`"
COUNT=1
while read I; do
if [ `cat $WORKDIR/pmusic-USE_TAGS` = true ]; then #use meta info in playlist AND in index
TMP="`id3info "$I" | grep 'Lead performer' | cut -d ':' -f 2- | cut -b 2-`" #artist
TMP2="`id3info "$I" | grep 'Title' | cut -d ':' -f 2- | cut -b 2-`" #title
if [ "$TMP" ] && [ "$TMP" != " " ]; then
NAME="$TMP - $TMP2"
else #use filename
basename "`echo "$I"`" | sed -e 's/\.[^\.]*$//' > $WORKDIR/pmusic-tmp
NAME="`cat $WORKDIR/pmusic-tmp`"
fi
else #use filename
basename "`echo "$I"`" | sed -e 's/\.[^\.]*$//' > $WORKDIR/pmusic-tmp
NAME="`cat $WORKDIR/pmusic-tmp`"
fi
ffmpeg -i "$I" 2> $WORKDIR/pmusic-tmp2
LENGTH=`grep Duration $WORKDIR/pmusic-tmp2 | awk '{print $2}' | cut -d "." -f 1 | cut -d ":" -f 2-`
LINE_SELECTED="`cat $WORKDIR/pmusic-playlist | grep "$SELECTION"`"
NR=`echo "$LINE_SELECTED" | cut -d '|' -f 1`
NR=`expr $NR + 1`
if [ $ADD_AFTER_SELECTION = true ] && [ "$SELECTION" ] && [ $NR -le `cat $WORKDIR/pmusic-playlist | wc -l` ]; then #add the song after selection
LINE_NEW="|$NAME|$LENGTH|$I"
if [ "`cat $WORKDIR/pmusic-playlist | grep --before-context=1 "$LINE_SELECTED" | head -n 1 | cut -d '|' -f 2-`" != "`echo $LINE_NEW | cut -d '|' -f 2-`" ]; then #do not add same song twice
sed -i $NR\i\\"$LINE_NEW" $WORKDIR/pmusic-playlist
fi
else #add at the end of list
if [ ! "`tail -n 1 $WORKDIR/pmusic-playlist | grep "$NAME"`" ]; then #do not add same song twice
echo "|$NAME|$LENGTH|$I" >> $WORKDIR/pmusic-playlist
fi
fi
TMP=`cat $WORKDIR/pmusic-songs_in_list | wc -l`
PERCENT=`expr $COUNT \* 100 / $TMP`
echo $PERCENT > $WORKDIR/pmusic-splash #update progressbar
COUNT=`expr $COUNT + 1`
xmessage hello2
done < $WORKDIR/pmusic-songs_in_list
$APPDIR/func -update_numbering
#if nothing was previously in playlist, play added song.
xmessage hello3
if [ "$AUTOPLAY" = "true" ]; then
$APPDIR/func -stop
echo "`head -n 1 $WORKDIR/pmusic-playlist | cut -d '|' -f 4`" > $WORKDIR/pmusic-PLAYLIST
echo "`head -n 1 $WORKDIR/pmusic-playlist`" > $WORKDIR/pmusic-TREE_ITEM
$APPDIR/func -playing &
fi
xmessage hello4
echo 100 > $WORKDIR/pmusic-splash #be sure to close progress dialog
;;

User avatar
DreamsToGo
Posts: 118
Joined: Fri 27 Jan 2006, 08:28
Location: Castelnaudary, south France, World Capital of Cassoulet

#30 Post by DreamsToGo »

Sorry, Double post
Last edited by DreamsToGo on Sat 12 Jul 2008, 15:09, edited 1 time in total.

User avatar
markofkane
Posts: 310
Joined: Thu 03 Jul 2008, 09:02
Location: Kane, IL USA

#31 Post by markofkane »

ttuuxxx wrote:
markofkane wrote:well, it messed up my computer. Now I cannot play any music. Gxine won't work anymore.

:evil:

Edit: It might be because I updated Seamonkey, now i get the stupid:

error while loading shared libraries: libmozjs.so: cannot
open shared object file: No such file
or directory
Here's your libmozjs for puppy 4.0 it will automatically install :)
into /usr/lib/seamonkey-1.1.8/libmozjs.so
ttuuxxx
Didn' t work. :(

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#32 Post by zigbert »

DreamsToGo
Wonderful report.
Can you give us some futher help....PLEASE?

Since hello4 showed up, it means that process continued to the 'playing' function. You'll find it in the same /usr/local/pmusic/func, but now section '-playing)'. Some hellos here too could hopefully detect the trouble.

Thanks a lot
Sigmund

User avatar
DreamsToGo
Posts: 118
Joined: Fri 27 Jan 2006, 08:28
Location: Castelnaudary, south France, World Capital of Cassoulet

#33 Post by DreamsToGo »

OK, system hang after hello8, I do not get hello9 and hello10

-playing)
xmessage hello5
SS=`cat $WORKDIR/pmusic-SS`
PLAYLIST="`cat $WORKDIR/pmusic-PLAYLIST`"
cat $WORKDIR/pmusic-playlist | grep "$PLAYLIST" > $WORKDIR/pmusic-TREE_ITEM #holds all coloums
##### add to index #####
xmessage hello6
if [ "$PLAYLIST" ]; then #iso 8859-1 sometimes break $PLAYLIST
#add to index_recent
if [ ! "`tail -n 1 $HOME/.pmusic/index_recent | grep "$PLAYLIST"`" ]; then
cat $HOME/.pmusic/index_alphabetic | grep -w "$PLAYLIST" >> $HOME/.pmusic/index_recent
fi
#add to index_most_played
if [ "`cat $HOME/.pmusic/index_most_played | grep -w "$PLAYLIST"`" ]; then
NR="`cat $HOME/.pmusic/index_most_played | grep -w "$PLAYLIST" | cut -d '|' -f 1`"
TMP="`cat $HOME/.pmusic/index_most_played | grep -w "$PLAYLIST" | cut -d '|' -f 2-`"
NR_NEW=`expr $NR + 1`
sed -i -e "s%$NR|$TMP%$NR_NEW|$TMP%g" $HOME/.pmusic/index_most_played #increase by 1
else
TMP="`cat $HOME/.pmusic/index_alphabetic | grep -w "$PLAYLIST"`"
echo "10001|$TMP" >> $HOME/.pmusic/index_most_played
fi
fi
######
xmessage hello7
echo false > $WORKDIR/pmusic-stop #if stopped it shouldn't start next
echo -e "\c" > $WORKDIR/pmusic-ffmpeg_output
xmessage hello8
ffmpeg -i "$PLAYLIST" -ss $SS -f au - 2>> $WORKDIR/pmusic-ffmpeg_output | aplay
#loop until ffmpeg is finnished
while [ "`cat $WORKDIR/pmusic-ffmpeg_output | wc -c`" != "$OLD_WC" ]; do #ffmpeg is working
OLD_WC=`cat $WORKDIR/pmusic-ffmpeg_output | wc -c`
sleep 1
done
xmessage hello9
#run next song in playlist
if [ "`cat $WORKDIR/pmusic-stop`" = "false" ]; then $APPDIR/func -next; fi
xmessage hello10
;;

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#34 Post by zigbert »

Discussion

Are you one of those who collects mp3s in directory structure like /Artist/Album/Song.mp3. I have a suggestion of how to 'index' content of directories: During indexing, pmusic can make playlists of content of every directory. If we name these playlists with name-of-directories.pmd, they will show up in index list, but not interfere with the standard m3u files.

I use here an example of the well known band 'Puppies' and their album 'The Kennel'. The mp3s are saved in /private/music/Puppies/The Kennel/*mp3.
There are several models:
1. User indexes the directory /private/music/, so Pmusic will use this as its startpoint. Every music file in /private/music/Puppies/The Kennel/ are applied to the playlist 'Puppies - The kennel.mpd'. This gives a nice overview of your music, but it's easy to see what happens when user indexes / to find all music on system.... The name 'Private - Music - Puppies - The Kennel' is not what we want.
2. A simpler model is to just accept directories that contains music files. We will never get strange names, but our songs from The Puppies album will only be named with 'The kennel.mpd'
3. As nr 1, but now with the option to define how deep Pmusic should dig in the directory structure. This would give a more flexible indexing, but also a lot harder to understand for an average user who don't like talking about file structure at all.
4. So maybe the most logical solution would be to simply include a 'Add all' button in the open-dialog.
5. Or maybe you got some better ideas...

Sigmund

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#35 Post by zigbert »

DreamsToGo
What if you now change the hello8 with

xmessage "$PLAYLIST" $SS

???

Thanks
Sigmund

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#36 Post by zigbert »

DreamsToGo
If $PLAYLIST and $SS keeps any value (and I guess they do), Please try another way to start ffmpeg.

Code: Select all

echo "exec ffmpeg -i \"$PLAYLIST\" -ss $SS -f au - 2>> $WORKDIR/pmusic-ffmpeg_output | aplay" > $WORKDIR/pmusic-exec
chmod 700 $WORKDIR/pmusic-exec
. $WORKDIR/pmusic-exec &
This replaces the ffmpeg-line after hello8

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#37 Post by HairyWill »

zigbert wrote:1. User indexes the directory /private/music/, so Pmusic will use this as its startpoint. Every music file in /private/music/Puppies/The Kennel/ are applied to the playlist 'Puppies - The kennel.mpd'. This gives a nice overview of your music, but it's easy to see what happens when user indexes / to find all music on system.... The name 'Private - Music - Puppies - The Kennel' is not what we want.
why not only keep the current directory name and its parent, ie piping your example through ie

Code: Select all

echo "/root/music/puppy lovers/alpha 7/my dog.mp3" | sed 's/.*\(\/.*\/.*\/.*\)/\1/;s/\///;s/\// - /g;'
 - puppy lovers - alpha 7 - my dog.mp3
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

Taavi
Posts: 146
Joined: Fri 10 Mar 2006, 19:23
Location: Suomi, Finland

#38 Post by Taavi »

Hi,

I don't know about ffmpeg's difficulties with flac. I got all my flacs also in mp3 files so I could try Pmusic. After some tries it did index my about 7000 mp3 files. Pmusic freezes occasionally my machine but not if I run it from commandline. On the first run Pmusic didn't read metatags of mp3's. But then I noticed error message with libstdc++.so.6. I managed to repair this: libstdc++.so.6 was symlinked to libstdc++.so.6.0.8 and I changed it to point to libstdc++.so.6.0.9. I updated index and Pmusic read metatags right.

I understood that you don't see much value in metatags in musicfiles. I still suggest feature to sort songs by metatags. For example by artist(performer) and title. In flac files there is standard tags for forexample composer, lyricist, arranger and so on. I think it's more important to know the composer of the song as the artist. Especially in classical music. But because I know so little of programming, I don't know how difficult it is to built.

I've used Madman music manager and Wxmusic but didn't really like them. I've tried some java based managers but didn't really like any of them. Pmusic looks like it's gonna be the one.

User avatar
markofkane
Posts: 310
Joined: Thu 03 Jul 2008, 09:02
Location: Kane, IL USA

#39 Post by markofkane »

I think I'll try it again, (install, because I am on a fresh puppy install)

I'll see if it will at least play a song. 8)

Edit: Importing a song to play in pmusic locked up my computer.(I had to used the power button to turn ot off!!!) I was importing from hdb1 Hard-drive,

That does it for me. :roll:

User avatar
DreamsToGo
Posts: 118
Joined: Fri 27 Jan 2006, 08:28
Location: Castelnaudary, south France, World Capital of Cassoulet

#40 Post by DreamsToGo »

zigbert wrote:DreamsToGo
What if you now change the hello8 with

xmessage "$PLAYLIST" $SS

???

Thanks
Sigmund
Sigmund,

I did this test. $PLAYLIST shows the song path and name, $SS=0

Hilary

Post Reply