Category: PyKaraoke


PyKaraoke 0.7.3 Released

May 11th, 2010 — 9:46pm

We are pleased to announce the release of PyKaraoke v0.7.3, with many improvements:

* Fixes for international / unicode characters in filenames.
* Support unusual CDG file draw commands found in the wild.
* Make About window work with Wx2.6 again. Recent About window
changes work on Wx2.8 only.
* Add options for double-buffered and hardware.
* Clean up keyboard operations.
* ‘P’ pauses, Backspace rewinds.
* Allow remote control access to pykaraoke_mini.
* Support left/right margins
* Improvements to printing support.
* Fix occasional crash in CDG player.
* GP2X: Faster scrolling.
* Windows: Fix temporary filenames used for unzipping same song twice.
* OSX: Improvements to OSX support.
  • Fixes for international / unicode characters in filenames.
  • Support unusual CDG file draw commands found in the wild.
  • Make About window work with Wx2.6 again. Recent About window changes work on Wx2.8 only.
  • Add options for double-buffered and hardware.
  • Clean up keyboard operations.
  • ‘P’ pauses, Backspace rewinds.
  • Allow remote control access to pykaraoke_mini.
  • Support left/right margins
  • Improvements to printing support.
  • Fix occasional crash in CDG player.
  • GP2X: Faster scrolling.
  • Windows: Fix temporary filenames used for unzipping same song twice.
  • OSX: Improvements to OSX support.

PyKaraoke is a cross-platform karaoke player written using Python, utilising the pygame library. It supports the CDG (MP3+G, OGG+G, WAV+G), MIDI (.KAR, .MID) and MPEG formats.

Download the new release here.

Comment » | PyKaraoke

PyKaraoke 0.7.2 Released

October 27th, 2009 — 7:34pm

We are pleased to announce the release of PyKaraoke v0.7.2, with improvements to the external MPG/AVI viewer support.

PyKaraoke is a cross-platform karaoke player written using Python, utilising the pygame library. It supports the CDG (MP3+G, OGG+G, WAV+G), MIDI (.KAR, .MID) and MPEG formats.

Download the new release here.

3 comments » | PyKaraoke

PyKaraoke available for OpenBSD

October 19th, 2009 — 8:25pm

We are pleased to announce that PyKaraoke has been added to the OpenBSD ports collection OpenPorts. This means that there are now official PyKaraoke packages for FreeBSD, NetBSD and OpenBSD.

PyKaraoke is a free karaoke player for Linux, FreeBSD, NetBSD, OpenBSD, Windows, OSX and GP2X. You can use it to play your collection of CDG, MIDI and MPEG karaoke songs. For more information visit the homepage.

Comment » | PyKaraoke

Seeking Developer to Maintain Windows Port

September 9th, 2009 — 1:05am

We are currently seeking a developer to look after the Windows port of PyKaraoke. If you are interested in contributing to an open source project (and learning something about Python development along the way) we would love to hear from you.

We have recently written two articles as a quick-start guide to development on the Windows platform:

The simplest way to get involved is to use the pure Python method discussed in the first article. It is not necessary to install any of the C development environment to do this, and you can quickly start editing and running your own PyKaraoke modifications. We are always happy to bring new developers on board and will give assistance in bringing you up to speed with the source code, but you should find that the PyKaraoke source is well commented and easy to follow. According to Ohloh:

Across all Python projects on Ohloh, 24% of all source code lines are comments. For PyKaraoke, this figure is 30%. This high number of comments puts PyKaraoke among the highest one-third of all Python projects on Ohloh. A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

You can hook up with the development team on the PyKaraoke mailing list. Most of the developers work on Linux, but PyKaraoke works just as well on the Windows platform and for that reason we would like to invite anyone passionate about open source development to look after the Windows port. This might be a small contribution like tidying up the GUI on Windows or taking over making Windows releases, or you could contribute brand new features that can be used on Linux, BSD, OSX, GP2X and any other platforms which PyKaraoke runs on. The differences between the platforms are minor, but having a developer keeping a close eye on the Windows platform will assist in keeping PyKaraoke the most portable karaoke player out there.

Comment » | PyKaraoke

PyKaraoke Development: Windows Installer

September 9th, 2009 — 12:42am

Following on from the previous article about PyKaraoke development for the Windows platform, those of you who are modifying the source and contributing to the project may be interested in these instructions for building your own PyKaraoke installer executable. This allows you to distribute test builds of PyKaraoke which users can install without having to first install any of the underlying applications and libraries such as Python and Pygame.

  • Install NSIS and Py2exe.
  • Follow these instructions for setting up the build environment.
  • Copy the following DLLs to folder “build/lib.win32-2.6/” in the top-level source folder (note that your originating folders may differ). In future this step will be automated within the installer script:
    • c:\Python26\Lib\site-packages\pygame\SDL.dll
    • c:\Windows\WinSxS\x86_Microsoft.VC90.CRT_…\msvc*90.dll
  • Compile PyKaraoke’s C-based optimised CDG interpreter from a command prompt:
    • python setup.py build_ext –sdl-location=C:\proj\SDL
  • Finally build the installer executable (use option –makensis if you installed NSIS to a non-standard location):
    • python setup.py nsis

Your final executable installer will now be sitting in the top level source folder with the filename pykaraoke-ver.exe.

Comment » | PyKaraoke

PyKaraoke 0.7.1 Windows Installer Released

September 3rd, 2009 — 10:14pm

We are pleased to announce that a Windows installer for PyKaraoke v0.7.1 is now available. This brings all of the recent features added for Linux to the Windows platform:

  • Many new features useful for pro hosting with PyKaraoke.
  • You can now associate performer names with songs in the playlist.
  • Add Kamikaze button to add a random song to the playlist.
  • Various new playlist features.
  • Time progress indicator during song playback.
  • Add support for pulling artist/title data from song filenames.
  • Add option to display karaoke window without a frame.
  • Many new configuration options and other GUI improvements.

Download the installer here.

Comment » | PyKaraoke

PyKaraoke 0.7.1 Released

August 31st, 2009 — 11:15am

We are pleased to announce the release of PyKaraoke v0.7.1.

PyKaraoke is a cross-platform karaoke player written using Python, utilising the pygame library. It supports the CDG (MP3+G, OGG+G, WAV+G), MIDI (.KAR, .MID) and MPEG formats.

Highlights of changes for this release:

  • Many new features useful for pro hosting with PyKaraoke.
  • You can now associate performer names with songs in the playlist.
  • Add Kamikaze button to add a random song to the playlist.
  • Various new playlist features.
  • Time progress indicator during song playback.
  • Add support for pulling artist/title data from song filenames.
  • Add option to display karaoke window without a frame.
  • Many new configuration options and other GUI improvements.

1 comment » | PyKaraoke

PyKaraoke Windows Development

August 29th, 2009 — 12:32am

Windows users can install PyKaraoke using the simple installer available here, but those of you interested in modifying it or contributing to the PyKaraoke project may be interested in the following guide.

The Basics

To develop for PyKaraoke on Windows you must download and install the following dependencies:

Next download the PyKaraoke source ZIP from here and unzip.

With these in place you are ready to run PyKaraoke as well as modify the Python sources to your needs. You can launch the PyKaraoke GUI by clicking on pykaraoke.py, or from a command-line using “python pykaraoke.py”.

Faster CDG Implementation

As well as the pure Python version of PyKaraoke there is an optimised version of the CD+G interpreter which is written in C. It is not necessary to build and use the optimised version, but it can improve CD+G playback performance on very old PCs. Setting yourself up for building the C module is a little more involved than just installing the Python libraries, but here we walk you through every step.

First install the tools and libraries necessary to build the C file:

Now unpack the SDL sources somewhere (e.g. c:\proj\sdl) and follow VisualC.html (contained in the SDL sources) for instructions on building the SDL library. We distil the VisualC.html build instructions here:

  • Unzip VisualC.zip contained in the SDL sources
  • Double-click VisualC/SDL.dsw
  • Build->Configuration Manager menu: Change from Debug to Release
  • Build solution
  • The library SDL.lib builds to folder c:\proj\SDL\VisualC\SDL\Release\
  • Create a “lib” folder under the top-level SDL source folder, e.g. c:\proj\SDL\lib
  • Copy the previously-built SDL.lib file to c:\proj\SDL\lib\SDL.lib

You only need to build SDL once. From now on compilation of the PyKaraoke C module is carried out with a single command on the command-line. The C module is built as follows (from the PyKaraoke source folder):

  • python setup.py build_ext –sdl-location=c:\proj\SDL

Before launching, copy the compiled module from “build/lib.win32-2.6/_pycdgAux.pyd” to the top-level PyKaraoke source directory. You can now launch PyKaraoke using “python pykaraoke.py” and set the “Use optimised (C-based) implementation” option in the CDG configuration menu.

Alternatively you can use “python setup.py install” to install all modules including the optimised C module to Python’s site-packages folder.

Getting Help

That’s everything you need to get started with development for the PyKaraoke project on Windows. A little prior Python experience will always be helpful but you should find that PyKaraoke is well commented enough to be able to dive in quickly. Any questions can be posted to the pykaraoke-discuss mailing list, we’re always happy to have another developer on board. And don’t forget to send us your patches!

Comment » | PyKaraoke

Back to top