Python
If you're looking for the open-sourced C++ Embedding Code.
How to Use
- download Python.zip, unzip it, and put that "Python" folder into your kJams folder (which is in your user's Music folder). This gives you a bunch of example scripts
- On Windows: requires Python 2.7, 32bit. You can download it here. Be sure to get the one called "Windows (x86)", install that.
- Run kJams 2. Go to the Advanced menu and see the Python submenu
Tips
- Pick "Advanced->Python->Reveal “kjams.py”", this will give you a list of enums for command, server, and others, note: most server commands are working
- A script named "startup.py" will, if present, be run on startup, so if eg: you always want to ensure some prefs are set correctly, regardless of what someone may have changed, you can use this script to set some prefs the way you like them.
- Picking anything from the Python menu will run it. Holding the alt/option key when picking it will reveal (open) the file instead
- You should open each of the files and look at them for examples
- you can edit your scripts live and re-run them, no need to quit and re-run kJams
- always edit your scripts as UTF8, and be sure to include the header "# -*- coding: utf-8 -*- " as the first line. that way, you can just enter any unicode characters you wish as string literals. no need to prefix with u, tho that is optional and will work.
- when passing parameters, tuples and lists are considered the same thing to kJams (an array), and are interchangeable.
What's working
- All the Scripting commands
- Access to every menu item (including sub menus)
- Access to all preferences including secret prefs (prefs that otherwise have no user interface)
- ability to show a progress bar in the activity window
- ability to kill off a script (stop sign in activity window)
- song meta data editing
- get/set selected playlist
- get/set selection within playlist
- Much of the Server functionality including:
- fetching playlists (eg: Library, Rotation, Venue (list of singers)) etc
- fetching info including venue name
- singer creation and/or login
- getting singers' lists (tonight, history, faves)
- add songs to singer
What's Coming
- add song to any playlist
- reorder songs within a playlist (including singer)
- message dialog, with title and message, up to 3 buttons, and 1 check box
- interactive string dialog, title, message, default string, OK, Cancel
- whatever else you need