FAPG(1)

πŸ“¦
version 0.45 Β· 2 versions
, in debian trixie, fedora 43, fedora 44, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– FAPG(1) πŸ’–

okay so bestie, buckle up, we're talking about fapg, the Fast Audio Playlist Generator, from the User Manuals corner of the universe. she's giving speed, she's giving C, she's giving let me make you a playlist in like two seconds. πŸŽ€


✨ NAME ✨

fapg β€” Fast Audio Playlist Generator 🎧✨


πŸ¦‹ SYNOPSIS πŸ¦‹

fapg [ options ] /path/to/mp3/dir1 [ /path/to/mp3/dir2 ... ]

πŸ’… DESCRIPTION πŸ’…

so fapg is literally a tool that generates a list of your audio files (Wav, MP2, MP3, Ogg, etc) and spits them out in a bunch of different formats (M3U, PLS, XSPF, HTML, RSS, etc). ngl if you have a massive pile of audio files and you want to build a playlist quickly and constantly, this is your girl. πŸ‘‘

she's coded in C to be as fast as humanly possible, and she does not use any specific audio library (like ID3Lib, no shade). the way that works is: you get to deploy her faster and easier, and you get better performances since the less informations are loaded. <em>on the other hand</em> β€” and this is the part where I hold your hand β€” this tool is not (yet) compatible with all the known formats. 🫢


🌸 OPTIONS 🌸

  • -b, --backslash β€” swaps the / for \ in your Unix path. backslash girlie behavior fr fr.
  • -d, --debug β€” shows you useful messages if the program fails ;) (yes the winky face is in the original, I'm keeping it, it's iconic)
  • -f, --format=m3u|pls|xspf|html|rss|pla|txx β€” pick which format of playlist you wanna generate. the default is m3u. πŸ’–
  • -g, --genre=#:#:... β€” choose which genres (numerical values only, bestie, don't try to write "pop") will be included in the generated playlist. default is all of them.
  • -n, --nohardlink β€” avoids parsing twice the files because of hardlinks. efficiency queen. ✨
  • -o, --output=/path/to/file.m3u β€” choose the name of the playlist file to generate. default behavior is to display on standard output, so if you don't say anything she just yells it at your terminal. πŸ“’
  • -p, --prefix=/the/prefix β€” replaces the Unix path with another string. super useful if you wanna give a Samba path for example. 🧚
  • -r, --recursive β€” recursively reads the subdirectories. go deep, we love that. 🌈
  • -w, --windows β€” replaces all Unix characters with Windows characters. πŸͺŸ
  • -x, --exclude=#:#:... β€” choose which genres (numerical values only) will be excluded in the generated playlist. default is none.
  • -c, --command=<intern|...> β€” external binary or script that produces additional fields for RSS feeds. heads up, this one is slow. 🐌
  • -s, --stdin β€” reads filenames and/or directories from standard input instead of the command line. piping era. πŸ’œ

πŸ”₯ EXAMPLES πŸ”₯

generate a PLS playlist for an album:

fapg --format=pls --output=~/path/to/album/list.pls ~/path/to/album

the Samba file server situation: you've got a file server using Samba which shares a large amount of audio files for Windows powered computers using Winamp. the directory on the server containing the files is /samba/mp3 and it's visible on the Windows network as \\server\mp3 :

cd /samba/mp3 && fapg --backslash --output=/samba/mp3/list.m3u --prefix='\\server\mp3\' --recursive --windows ./

an HTML playlist for an album:

fapg --output=fapg.html ~/path/to/album

a playlist that contains all your classical tracks may receive the genres to include (or exclude) in one or multiple portions:

fapg --genre=32:105 --genre=106:104:103 /path/to/all/music

generate a podcasting XML file using an external program rss.sh to generate a detailed description:

fapg --output=dir.xml -f rss -c /usr/local/bin/rss.sh -r --prefix=http://thisserver/basedir path/to/mp3

generate a playlist that will work on a Sansa e200 series MP3 player:

fapg -f pla -o /path/to/playlist.pla /path/to/all/music

πŸ’€ if command starts with intern the build-in description (Author,Title,Link) is generated. Please note that in all given directories ( and in ...basedir/xml ) files called podcast.jpg are referenced. Many header fields are set to defaults using environment variables like LOGNAME or LANG.

πŸ‘‘ AUTHOR πŸ‘‘

Antoine Jacquet <royale@zerezo.com>, http://royale.zerezo.com/fapg/. πŸ’– Manpage by Thomas Kappler <thomas.kappler@stud.uni-karlsruhe.de>.


okay that's the whole thing bestie, no cap, you're fully caught up. this lil masterpiece is a Linux situation, dated JANUARY 2007, and it answers to the name FAPG(1). go make some playlists, ily πŸŽ€βœ¨πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from