- Types of Media Sources
- Sharing Media from Your PC
- NAS (Network Attached Storage)
- User Profiles
- The UserData Folder
- Special protocol
- RSS Feeds
- RSS feed Control
- Advanced Configuration
- Log file
- USB Mass Storage in Xbox
- Error Recovery Mode
- Import - Export Library
- XBMC's Inner Workings
- Development Notes
- Python Development
- Skinning XBMC
- List of Built In Functions
- Web Server HTTP API
- The XBMC Database
- Audio Players
- Video Players
- HOW-TO write Media Scrapers
- Regular Expression Tutorial
- Point Releases
- HOW-TO's / Tips & Tricks
- Mods to XBMC and Xbox
- 1 Features
- 2 Some general information about PAP
- 3 Troubleshooting
PAPlayer (or PAP for short) stands for Psycho-acoustic Audio Player, and it is XBMC's own in-house developed audio-player. PAP originally began as a pure MP3-player using WinAmp's in_mp3.dll for decoding (around 12th of April 2005), but only a few weeks later evolved into a fully-fledged multi-codec music-player.
When this page was last updated (Mar 13th 2006) it has the following features:
Currently Supported Codecs
The .dll files for XBMC for Windows/Xbox or .so files for XBMC for Linux/Mac must be placed under the [XBMCFOLDER]/system/players/paplayer subfolder for the listed music format to become active. If there is no DLL/SO codec available for PAPlayer for a specific format then XBMC will try to play the fle with DVDPlayer instead (DVDPlayer is based on FFmpeg, so if the codec is supported by libavformat and libavcodec in FFmpeg then the chance is that XBMC will be able to play it if you add the audio extension to AdvancedSettings.xml), however is should be noted here that as DVDPlayer is not designed for pure audio-playback you will loose many unique playback advantages/features that PAPlayer has).
- AAC aka LC-AAC and also AAC+ aka HE-AAC (needs AACCodec.dll from SVN) Based on faac (see i. below)
- AC3-CDDA (needs AC3Codec.dll from SVN) Based on liba52
- AC3-WAV (needs AC3Codec.dll from SVN) Based on liba52
- AIFF short for Audio Interchange File Format (builtin)
- ALAC aka Apple Lossless (needs AACCodec.dll from SVN) Based on alac
- APE aka Monkey's Audio (needs MACDll.dll from SVN) Based on MAC (see ii. below)
- DTS-CDDA (needs DCACodec.dll from SVN) Based on libdca (see iii. below)
- DTS-WAV (needs DCACodec.dll from SVN) Based on libdca (see iii. below)
- CDDA aka Audio CD playback, Red Book standard (builtin) Based on libcdio
- FLAC aka Free Lossless Audio Codec (needs libFLAC.dll from SVN) Based on LibFlac
- IT (Impulse Tracker modules] modules) Based on Dumb
- MOD (Tracker Mod audio-module) Based on Dumb
- MP2 MPEG-1 Audio Layer2 (needs MADCodec.dll from SVN) Based on libmad
- MP3 MPEG-1 Audio Layer3 (needs MADCodec.dll from SVN) Based on libmad
- MPC aka Musepack aka Mpeg+ (needs libmpcdec.dll from SVN) Based on libmpcdec 1.2.2
- OGG VORBIS (needs vorbisfile.dll from SVN) Based on vorbis
- S3M (Scream Tracker 3 PC music tracker) Based on Dumb
- SHN aka 'shorten' (needs libshnplay.dll from SVN) Thanks to Holger Stenger for the dll!
- WAV or WAVE, short for WAVEform audio format (builtin)
- WavPack (needs wavpack.dll from SVN) Based on wavpack
- WMA Windows Media Audio (builtin)
- XBADPCM XBOX ADPCM game audio (ADPCM.dll) Xbox ADPCM plugin 0.1.2
- XM (like Triton's Fast Tracker modules) Based on Dumb
Currently supported players
- IT short for Impulse Tracker (needs dumb.dll from SVN) Based on D.U.M.B 0.93
- S3M short for Scream Tracker 3 (needs dumb.dll from SVN) Based on D.U.M.B 0.93
- MOD short for Amiga Module (needs dumb.dll from SVN) Based on D.U.M.B 0.93
- XM Fast Tracker 2 (needs dumb.dll from SVN) Based on D.U.M.B 0.93
- NSF NES Sound Format (needs NoseFart.dll from SVN) Based on Nosefart
- SPC SPC700 sound file (needs snesapu.dll from SVN) Based on alpha-ii's snes APU
- GYM Genesis music file (needs gensapu.dll from SVN) Based on gens apu
- SID Commodore 64 Music (needs libsidplay2.dll from SVN) Based on libsidplay2+resid
- Adlib OPL2/3 FM Music (needs adplug.dll from SVN) Based on adplug (see iv. below)
- YM ATARI ST music (needs stsoundlibrary.dll from SVN) Based on st sound
- ADX/AST/ADP/DSP/YMF/HPS Gamecube ADPCM compressed music (needs cube.dll from SVN) Based on in_cube
(NOT related to XBOX or PS2 ADPCM)
- MIDI music (needs timidity.dll from SVN) Based on Timidity (see v. below)
Currently supported tag-standards
Other PAP features worth mentioning
- SSRC resampling from 44.1kHz to 48kHz (Xbox hardware can only process 48kHz audio)
- Gapless support (means if audio is ripped in a certain way, it will playback without gaps)
- Crossfade tracks (adjustable 1–10 seconds)
- ReplayGain support
- Cue sheet support (.cue files) for any supported codec.
- OGG/OGA chapter support
Supported network-protocols and file-system formats
Unsupported network-protocols (today handled by MPlayer)
Some general information about PAP
When any or all of above codecs are not installed in its proper place, MPlayer will handle playback instead (if MPlayer supports the container format and codec). MPlayer is not built for pure audio-playback and you will loose many advantages (features) that PAP has.
Known PAP issues
i. There's alot of confusion regarding the MP4/M4A file extensions for audio files. Rename the .mp4 (or .m4b) extension to .m4a if you want PAPlayer core to be able to play it, otherwise the MPlayer core will handle playback. Also worth mentioning, PAP does NOT support DRM'd (Apple iTunes store) music files, (these usually have the extension .m4p). Plain .aac files works without issues.
ii. The APE decoder does not like files with the highest compression, they will play, but it can take quite a while to start them, which results that they are no longer gapless.
iii. DTS-CDDA and DTS-WAV files will never be outputted as DTS on an Xbox, this is because it must be resampled by XBMC to 48kHz.
iv. Since there's so many different extensions used, you need to add .adplug to the end of the filename to ease identification for our player.
v. Put configuration file at q:\system\players\paplayer\timidity\timidity.cfg.
If you find that a codec unsupported by Mplayer does not play (or even show up in filelist), and you checked that you have the appropriate codec in [XBMCFOLDER]/system/players/paplayer, chances are that you did not update (add new .extension) to the <musicextensions> of advancedsettings.xml.