pyjam
pyjam is an open source, cross-platform audio player for Source and GoldSrc engine based games, written in Python
FEATURES
- Cross-platform -- Supports (in theory) Windows, GNU/Linux and OSX!
- Open source -- Licensed under the GNU General Public License, v3.
- Native GUI -- wxMSW on Windows, wxGTK on GNU/Linux, wxMAC on OSX
- Easy to use settings dialog
- Track aliases -- select tracks by name instead of index!
- Set custom track aliases (generated from track name by default)
- Custom binds -- select tracks with a keybind
- Built-in audio converter -- uses
FFmpeg
- Built-in audio downloader! --
youtube-dl
(supports MANY (hundreds) websites, full list here)
USAGE
- Download the latest version from the
Releases
tab
- Launch
pyjam
and go to File>Settings
- Browse for your Steam path into the
Path to Steam
option.
- The program will try to guess where Steam is beforehand and may be filled out
- Enter the name into the
Profile/game name
option.
- It's simply used as a profile name and the name does not matter.
- Browse for the folder of the game into the
Game path
option.
- BE SURE TO INCLUDE THE MOD FOLDER IN THERE AS WELL, e.g.,
/Steam/steamapps/common/Team Fortress 2/tf2/
- Browse for the path of the audio folder you want for this game into the
Audio path
option.
- Enter the audio rate of that game into the
Audio rate
option.
- Normally, this is 11025.
- However, CS:GO uses the CELT audio codec, so use 22050 if creating a CS:GO profile. (Higher quality!)
- Select a key for the
Relay key
option.
- For quick selection, click on the drop down arrow and press a key on your keyboard to select a key
- The default option usually works just fine (unless you have a bind that uses
=
)
- Select a key for the
Play key
option.
- For quick selection, click on the drop down arrow and press a key on your keyboard to select a key
- Select whether or not you want to use aliases.
- Aliases allow for you to select songs in console using words instead of an index number
- Disable if you think there might be conflicts.
- Press
Save game
, and then exit the dialog.
- Congratulations! Your first game has been set up.
- Put in your audio!
- If you already have audio converted and ready to go, drop them into the audio folder you designated for the game
- Otherwise, if you have audio downloaded, but not converted, use the
Audio converter
to convert them to the proper format
- If you don't have an audio at all, use the
Audio downloader
and download from your favorite streaming sites!
- Lastly, hit the
Refresh tracks
button in order to make sure that pyjam has detected all of your songs.
- Ready? Press
Start
, and load up your game.
- If pyjam is not immediately loaded when you start the game, type
exec jam.cfg
in console to fix that.
- Run
jam_help
in console to get help on usage.
- Have fun!
REQUIREMENTS
This is only for those who plan on running the Python script. Most users can simply just download a pre-frozen executable from the Releases
tab
- Tested on
CPython 3.5
. 2.7+ should work.
- wxPython Phoenix - GUI
- ObjectListView - wx.ListCtrl wrapper (much easier to use)
- watchdog - Cross-platform file system monitoring
- OPTIONAL: youtube-dl - Audio/Video downloader (supports many websites, not just
YouTube)
- OPTIONAL: psutil - Process/system utilities (Used for detecting Steam
path)
- requests - HTTP library used for downloading FFmpeg
- unidecode - Filter out pesky unicode characters that cause problems :(
Python <3.3
TODO
- [ ] [EASY] Drop 7-zip module on Windows. https://ffmpeg.zeranoe.com/builds now offers .zip builds.
- [ ] [MEDIUM] Replace
watchdog
dependency with wx.FileSystemWatcher
.
KNOWN ISSUES
None!
LICENSE
Copyright (C) 10se1ucgo 2016
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
THANKS
Thanks to Dx724 for the wonderful icon.