LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Command line music player and msn messenger (https://www.linuxquestions.org/questions/slackware-14/command-line-music-player-and-msn-messenger-801831/)

dumdadum 04-13-2010 04:08 PM

Command line music player and msn messenger
 
Anyone know any good command line music player, that can play mp3's and wav files?

Also, anyone know any good command line msn messenger?

I want those two softwares for Slackware 13.0. Lately I've been going crazy about command line softwares. I intend to really abuse of the command line environment. I find it so usefull.

Thanks for sharing.

Cheers,
Dumdadum

harryhaller 04-13-2010 04:10 PM

http://slackbuilds.org/repository/13.0/audio/herrie/

mrclisdue 04-13-2010 04:13 PM

command line player - mpd, with mpc or one of the few ncurses interfaces, rocks

as for cli im, i tried it for a while (alas my children all abandoned im in favour of sms..) and there's an ncurses interface for pidgin, finch, i believe, that worked best for me....

cheers,

frieza 04-13-2010 04:14 PM

depends, mp3blaster can play mp3s
xmms (not sure about xmms2) has not only command line options but there are curses based interfaces for xmms such as ncxmms or xcplay
http://freshmeat.net/projects/ncxmms/
http://sourceforge.net/projects/xcplay/

as for msn messenger try finch
http://developer.pidgin.im/ should be there somewhere

Fidori 04-13-2010 05:05 PM

Messenger can also be used with bitlbee + irssi.

dive 04-13-2010 05:08 PM

Finch is part of the pidgin package.

T3slider 04-13-2010 05:51 PM

I use mpd+ncmpcpp for music playing (with a bash script that searches recursively through my music folder and creates a playlist for each folder and subfolder). If I want to listen to an entire artist's library, I load the playlist in that artist's top-level directory which includes the songs in each subdirectory (ie album). Or I can load just a single album, or load "everything". I also have subsets of music that are just everything while excluding certain things (with grep -f and an exclude file). It's all automatic and it means I have effectively the same function as dragging an artist/album/etc. in Amarok or similar. For the record I use dvtm within screen to display vifm (my favourite file manager) and ncmpcpp in one screen window, so I can load playlists in vifm and browse within playlists in ncmpcpp. Very handy.

As for IM apps, centerim is the standard I believe.

mrclisdue 04-13-2010 06:18 PM

Quote:

Originally Posted by T3slider (Post 3934628)
...with a bash script that searches recursively through my music folder and creates a playlist for each folder and subfolder)....

pretty please?

cheers,

dugan 04-13-2010 06:31 PM

moc was one of the models for my MPD client.

w1k0 04-13-2010 06:37 PM

I use as a music player moc and I'm very glad of it. It uses ncurses so it isn't pure command line player. Depending on the machine you can use multimedia keys to control the work of the player. To use these keys install remoot.

Gerard Lally 04-13-2010 07:10 PM

Quote:

Originally Posted by dumdadum (Post 3934527)
Anyone know any good command line music player, that can play mp3's and wav files?

Also, anyone know any good command line msn messenger?

I want those two softwares for Slackware 13.0. Lately I've been going crazy about command line softwares. I intend to really abuse of the command line environment. I find it so usefull.

Thanks for sharing.

Cheers,
Dumdadum

centerim seems pretty good as a command-line IM client

dumdadum 04-13-2010 07:32 PM

Quote:

Originally Posted by T3slider (Post 3934628)
I use mpd+ncmpcpp for music playing (with a bash script that searches recursively through my music folder and creates a playlist for each folder and subfolder). If I want to listen to an entire artist's library, I load the playlist in that artist's top-level directory which includes the songs in each subdirectory (ie album). Or I can load just a single album, or load "everything". I also have subsets of music that are just everything while excluding certain things (with grep -f and an exclude file). It's all automatic and it means I have effectively the same function as dragging an artist/album/etc. in Amarok or similar. For the record I use dvtm within screen to display vifm (my favourite file manager) and ncmpcpp in one screen window, so I can load playlists in vifm and browse within playlists in ncmpcpp. Very handy.

As for IM apps, centerim is the standard I believe.

Ok, that looks a little advanced for me. I dont know scripting yet, and am surely not ready to do recursion, I'll make my system freeze.

Maybe I'll try your solution this weekend, when I've got time on my hands.

Right now I've tried the ncurse for xmms (ncxmms) and I tried herrie and I cant even get the song to play. So if anyone cares to help that would be great, but or else I need to figure this out before I start scripting... I'm trying to play .wav files, cause all of my files are .wav, I hate compressed formats.

Thanks for the idea though, it seems to be very powerful when you actually know what you're doing...

Cheers,
Dumdadum

T3slider 04-13-2010 08:13 PM

Quote:

Originally Posted by mrclisdue (Post 3934657)
pretty please?

cheers,

Don't use the following script without modifying the variables at the top and don't use it if you don't understand what it's doing. It's kind of a customized setup, and it requires that your music is at least fairly well organized. It doesn't necessarily need to be *tagged* well (since everything will be grouped together based on their folder names) but the hierarchy should be "Music folder --> artist --> album [--> sub-album, if such a thing exists]" or at least a setup where it is grouped as you like it. There are certainly more complex scripts out there to do what you want, but if you want simplicity and you have an organized library the following might be enough.

Note that $MUSICDIR/exclude.txt will exclude this music from *all* playlists. I use this for duplicate songs (for example, if an album and a single contains the same version of a song, blacklist one of them or it will be in your playlist twice). $MUSICDIR/punkexclude.txt (since I'm a punk fan) just duplicates the full playlist (Music.m3u in this case) but excludes more. For my exclude list I have exact paths to songs, but it could be paths to directories as well if you want. In my punk exclude file I have something like
Code:

/home/username/Documents/Music/Non-Punk Band
/home/username/Documents/Music/Other non-punk Band

It's just using grep -vF -f so if you understand what that does you can be more bold. In theory you could use the above in the original exclude file as well but of course then that artist won't be in any of your playlists. You could of course expand my script to more genres, and you could use an "include" file instead of an "exclude" one if you want. And if you maintain different directories for each genre then you don't even need to bother with the exclude files at all. I must emphasize that this is a *simple* script but for my simplistic needs it works well -- I can listen to an artist, an album, a genre, or just everything (on random usually).

The symlinks are pretty specific to my usage scenario. I symlink each playlist to the mpd playlist directory (replacing / with _ so it won't try to copy into some non-existant directory within the mpd playlist directory). This will creates links named "_home_user_Documents_Music_artist.m3u" or "_home_user_Documents_Music_artist_album.m3u", for example. You can load these (lengthily-named) playlists manually but I have a small script that loads the playlist from vifm (though any file manager would do) when I launch the regular .m3u playlist within my music directory (it figures out the name of the playlist symlink and tells mpc to load that -- I use mpc in addition to ncmpcpp).

Code:

#!/bin/bash

MUSICDIR=$HOME/Documents/Music
MPDDIR=$HOME/.mpd/playlists
EXCLUDE=$MUSICDIR/exclude.txt
PUNKEXCLUDE=$MUSICDIR/punkexclude.txt
FULLFILE=$MUSICDIR/`echo $(basename "$MUSICDIR").m3u`
PUNKFILE=$MUSICDIR/Punk.m3u

find ${MUSICDIR} -type d | while read DIRNAME
do
        FILENAME="$DIRNAME"/`echo $(basename "$DIRNAME").m3u`
        echo "#EXTM3U" > "$FILENAME"
        find "$DIRNAME" -type f -name "*.mp3" | sort | grep -vF -f ${EXCLUDE} >> "$FILENAME"
        LINKNAME=$MPDDIR/`echo "$FILENAME" | sed 's|/|_|g'`
        ln -sf "$FILENAME" "$LINKNAME"
done

cat ${FULLFILE} | grep -vF -f ${PUNKEXCLUDE} > ${PUNKFILE}
LINKNAME=$MPDDIR/`echo "${PUNKFILE}" | sed 's|/|_|g'`
ln -sf "$PUNKFILE" "$LINKNAME"

Code:

#!/bin/sh

FILENAME=`echo "$@" | sed -e 's|/|_|g' -e 's/.m3u$//'`
mpc clear
mpc load "$FILENAME"

Quote:

Originally Posted by dumdadum
Ok, that looks a little advanced for me. I dont know scripting yet, and am surely not ready to do recursion, I'll make my system freeze.

If you do try your hand at scripting, it can really make your life easier. Anything that deals with recursion or a lot of files/lines or a repetitive task that can be automated, I write small shell scripts. It sure beats doing stuff manually, and in this specific instance it allows me to use console music players with almost as much freedom as full-fledged GUI ones. If Amarok 1.4.x was still included with KDE I would probably still be using it, but in its absence I now have something that is easier to manage.

dumdadum 04-13-2010 08:37 PM

Quote:

Originally Posted by T3slider (Post 3934628)

As for IM apps, centerim is the standard I believe.


Yeah centerim is really hot. Thanks. (=

Dumdadum

dumdadum 04-13-2010 08:43 PM

Quote:

Originally Posted by T3slider (Post 3934757)
Don't use the following script without modifying the variables at the top and don't use it if you don't understand what it's doing. It's kind of a customized setup, and it requires that your music is at least fairly well organized. It doesn't necessarily need to be *tagged* well (since everything will be grouped together based on their folder names) but the hierarchy should be "Music folder --> artist --> album [--> sub-album, if such a thing exists]" or at least a setup where it is grouped as you like it. There are certainly more complex scripts out there to do what you want, but if you want simplicity and you have an organized library the following might be enough.

Note that $MUSICDIR/exclude.txt will exclude this music from *all* playlists. I use this for duplicate songs (for example, if an album and a single contains the same version of a song, blacklist one of them or it will be in your playlist twice). $MUSICDIR/punkexclude.txt (since I'm a punk fan) just duplicates the full playlist (Music.m3u in this case) but excludes more. For my exclude list I have exact paths to songs, but it could be paths to directories as well if you want. In my punk exclude file I have something like
Code:

/home/username/Documents/Music/Non-Punk Band
/home/username/Documents/Music/Other non-punk Band

It's just using grep -vF -f so if you understand what that does you can be more bold. In theory you could use the above in the original exclude file as well but of course then that artist won't be in any of your playlists. You could of course expand my script to more genres, and you could use an "include" file instead of an "exclude" one if you want. And if you maintain different directories for each genre then you don't even need to bother with the exclude files at all. I must emphasize that this is a *simple* script but for my simplistic needs it works well -- I can listen to an artist, an album, a genre, or just everything (on random usually).

The symlinks are pretty specific to my usage scenario. I symlink each playlist to the mpd playlist directory (replacing / with _ so it won't try to copy into some non-existant directory within the mpd playlist directory). This will creates links named "_home_user_Documents_Music_artist.m3u" or "_home_user_Documents_Music_artist_album.m3u", for example. You can load these (lengthily-named) playlists manually but I have a small script that loads the playlist from vifm (though any file manager would do) when I launch the regular .m3u playlist within my music directory (it figures out the name of the playlist symlink and tells mpc to load that -- I use mpc in addition to ncmpcpp).

Code:

#!/bin/bash

MUSICDIR=$HOME/Documents/Music
MPDDIR=$HOME/.mpd/playlists
EXCLUDE=$MUSICDIR/exclude.txt
PUNKEXCLUDE=$MUSICDIR/punkexclude.txt
FULLFILE=$MUSICDIR/`echo $(basename "$MUSICDIR").m3u`
PUNKFILE=$MUSICDIR/Punk.m3u

find ${MUSICDIR} -type d | while read DIRNAME
do
        FILENAME="$DIRNAME"/`echo $(basename "$DIRNAME").m3u`
        echo "#EXTM3U" > "$FILENAME"
        find "$DIRNAME" -type f -name "*.mp3" | sort | grep -vF -f ${EXCLUDE} >> "$FILENAME"
        LINKNAME=$MPDDIR/`echo "$FILENAME" | sed 's|/|_|g'`
        ln -sf "$FILENAME" "$LINKNAME"
done

cat ${FULLFILE} | grep -vF -f ${PUNKEXCLUDE} > ${PUNKFILE}
LINKNAME=$MPDDIR/`echo "${PUNKFILE}" | sed 's|/|_|g'`
ln -sf "$PUNKFILE" "$LINKNAME"

Code:

#!/bin/sh

FILENAME=`echo "$@" | sed -e 's|/|_|g' -e 's/.m3u$//'`
mpc clear
mpc load "$FILENAME"


If you do try your hand at scripting, it can really make your life easier. Anything that deals with recursion or a lot of files/lines or a repetitive task that can be automated, I write small shell scripts. It sure beats doing stuff manually, and in this specific instance it allows me to use console music players with almost as much freedom as full-fledged GUI ones. If Amarok 1.4.x was still included with KDE I would probably still be using it, but in its absence I now have something that is easier to manage.


Well now that I have all that info I 1- cant complain, 2- need to get working on this asap and 3- give you feedback.

Thanks,
Dumdadum


All times are GMT -5. The time now is 11:53 PM.