Free & Open Source

Music that hits on cue.

Hockipy is a live-event music player built for precision. Two independent queues, per-song start times, instant specials — so the right track plays at the right second, every time.

Hockipy playing a song with playlist, specials, and now-playing display

What it does

Everything a live operator needs. Nothing else.

Hockipy is not a general-purpose media player. It solves one job well: running a carefully prepared playlist in front of a crowd, with instant access to specials and millisecond-accurate start points.

📋
Dual queue system
A scrollable playlist on the left plays songs in sequence. The specials grid on the right plays anything instantly, on demand, outside the queue.
Per-song start time
Trim the intro off any track. Set a start offset down to the millisecond so the drop, the chorus, or the crowd moment hits exactly when the moment does.
🔊
Per-song volume
Each track carries its own volume factor (50–125 %). Normalise a quiet recording or tame a loud one without touching your mixer.
📊
Live VU meter
A real-time amplitude bar beneath the now-playing display shows the energy of the current track, with a peak-hold indicator.
🖱
Drag to build & reorder
Drop audio files straight onto the window to add them. Drag playlist rows up and down to re-sequence the queue, or drag two specials onto each other to swap their positions in the grid.
🎨
Highlight & remove
Right-click any song, in the playlist or specials, to tag it with a highlight color for quick visual recall — or remove it from the session entirely.
💾
Save & auto-save
Your playlist, start times, and volume settings are saved automatically. Use Save to update the current file in place, or Save As to export a portable spec file for another machine.
🎵
Common formats
Plays MP3, OGG, WAV, and FLAC. Album art is read from ID3 tags and shown in the now-playing display.
🎨
Dark-native UI
Designed for dimly lit venues. A dark navy interface with a cyan accent scale keeps every control readable without washing out the room.

How it works

A quick tour of the interface

Playlist + Specials

The window is split into two independent panels. The left panel is your main playlist — songs play top-to-bottom, dimming as each one is used. The right panel holds your specials: goal music, jingles, or any track you need to fire instantly without disturbing the queue.

  • Bright title — unplayed, queued next
  • Dimmed title — already played this session
  • Specials grid — plays immediately on click, never marks as used
Hockipy with a full playlist and specials grid

Empty state & first drop

On first launch both panels show a drop target. Drag any supported audio file from your file manager onto the left panel to start a playlist, or onto the right panel to add a special. The app reads the title, artist, length, and album art from the file's tags automatically.

  • Left panel — drop to add to the playlist queue
  • Right panel — drop to add to specials
  • Also available under File → Add file to playlist / specials
Hockipy empty state with drop targets

Loading a saved playlist

Playlists are saved as portable .hpy spec files. Use File → Load Spec to open one. If songs are already loaded you can choose to merge the incoming list with the existing one, or replace it entirely.

  • Add to existing — appends to the current session
  • Replace existing — clears everything and loads fresh
  • Use File → Save As... to export your current setup, or Save to update the file you loaded
Hockipy Load Playlist dialog

Song settings

Click the ⚙ cog icon on the now-playing display to open the song settings. Here you set the exact millisecond the track starts from and adjust its individual volume. A test-play button lets you hear the result before committing.

  • Slider — drag or use the keyboard to move the start point
  • Volume −5 % / +5 % — range 50–125 %
  • Space — test-play from the current position
  • Enter — apply and close
  • Scroll wheel over cog — adjust volume without opening settings
Hockipy song settings dialog

Get Hockipy

Download, unzip, play.

No installer. No admin rights. Unzip the folder and run the executable — everything is bundled.

🐧
Linux
x86-64 · tested on Ubuntu 22.04+
  1. 1Download the archive from the latest release page: hockipy-linux.zip
  2. 2Unzip to a folder of your choice:
    unzip hockipy-linux.zip
  3. 3Make the binary executable if needed:
    chmod +x hockipy-linux/hockipy
  4. 4Run it:
    ./hockipy-linux/hockipy
Dependency: the VU meter and OGG cover art require ffmpeg. Install it with your package manager: sudo apt install ffmpeg. All other dependencies are bundled.
Download for Linux
🪟
Windows
x86-64 · Windows 10 / 11
  1. 1Download the archive from the latest release page: hockipy-windows.zip
  2. 2Right-click the zip → Extract All… and choose a destination folder
  3. 3Open the extracted folder and double-click hockipy.exe
SmartScreen warning? Windows may show an "unknown publisher" warning the first time. Click More info → Run anyway. ffmpeg.exe is bundled — no extra installs required.
Download for Windows

Help & Reference

Complete feature documentation

Playlist
Adding songs
Drag audio files from your file manager and drop them onto the left panel. Alternatively use File → Add file to playlist. Supported formats: .mp3 .ogg .wav .flac.
Playing a song
Click any song in the list. Playback begins immediately from its configured start time. The current song is shown in the now-playing display at the bottom right.
Reordering
Drag any playlist row up or down to change its position. A cyan line shows where it will land. Order is saved automatically.
Played / unplayed state
Songs dim after being played. Use File → Reset play status to mark every song in both the playlist and specials as unplayed again.
Highlighting & removing
Right-click a playlist row to tag it with a highlight color from the palette (or pick a custom one), clear an existing tag, or remove the song from the playlist entirely.
Clearing the list
File → Clear all removes every song from both the playlist and specials, and stops playback.
Specials
What are specials?
The right-hand grid holds songs that play instantly on click without being part of the main sequence. Use them for goal music, entrance themes, jingles, or any moment-triggered audio.
Adding specials
Drop audio files onto the right panel, or use File → Add file to specials. Specials are stored separately from the playlist and never marked as used.
Playing a special
Click any card in the specials grid. Playback starts immediately from the song's configured start time, interrupting whatever is currently playing.
Reordering the grid
Drag a special's handle onto another card to swap their positions in the grid. Unlike the playlist, this is a straight swap rather than an insert.
Highlighting & removing
Right-click a special for the same highlight-color and remove options available on playlist songs — handy for color-coding goal music or entrance themes at a glance.
Settings for specials
Specials support the same per-song start time and volume settings as playlist songs. Click the special to play it, then use the cog in the now-playing display to adjust.
Playback Controls
Play from 00:00
The leftmost button plays the current track from the very beginning, ignoring any configured start offset.
Play from start time
Plays from the configured start time (the trim point). This is also how songs play when clicked in the list.
Pause / Continue
Pauses with a short fade-out and resumes from the exact position. The button label changes to reflect the current state.
Next
Stops the current track and plays the next unplayed song in the playlist. Songs are played in top-to-bottom order.
Now-Playing Display
Album art
Cover art is read from the audio file's embedded tags each time a song loads. It is never stored in the playlist file.
Time readouts
The right column shows three values: total song length, configured start offset, and current playback position. All in mm:ss.mmm format.
Volume indicator
Shows the current song's volume factor as a percentage. Scroll the mouse wheel over the ⚙ cog icon to adjust it without opening settings.
VU meter
A bar of 40 segments below the song info shows the amplitude of the playing track. Colour runs from dark navy (quiet) through cyan to a red peak-hold indicator at the loudest point reached.
Progress bar
The thin bar at the very bottom tracks playback position from left (start) to right (end) using the same cyan colour scale as the VU meter.
Song Settings Dialog
Opening settings
Click the ⚙ cog icon in the now-playing display while a song is active. The song pauses automatically.
Setting a start time
Drag the slider or use the keyboard shortcuts below to position the start point. Press Space to test-play from the current slider position. Press Enter or click Apply to save.
Slider keyboard shortcuts
← / →Move ±1 ms Ctrl ← / →Move ±100 ms Shift ← / →Move ±1 s SpaceTest-play from current position EnterApply changes and close EscCancel without saving
Slider scroll wheel
Scroll over the slider: plain scroll = ±1 ms per notch, Ctrl+scroll = ±100 ms per notch, Shift+scroll = ±1 s per notch.
Per-song volume
Use the −5 % and +5 % buttons to adjust the volume factor. Range is 50–125 %. Changes take effect immediately during test playback. Default is 100 %.
File Menu
Load Spec
Opens a .hpy JSON playlist file. You are asked whether to merge with the current session or replace it entirely.
Save
Writes the current playlist, specials, start times, and volume settings back to whichever file is currently loaded (or the auto-save file if none has been opened yet).
Save As...
Exports the current session to a new .hpy file. Album art is not stored in the file — it is re-read from the audio files on load. Becomes the active file for subsequent Save actions.
Auto-save
Hockipy saves your playlist automatically to ~/.hpy (Linux/macOS) or %USERPROFILE%\.hpy (Windows) after every change. This file is loaded on the next launch.
Reset play status
Marks every song in both the playlist and specials as unplayed again, so they brighten back up and are eligible for Next.
Clear all
Removes every song from the session and stops playback. The auto-save file is updated immediately.

Open Source

GNU General Public License v3

⚖️
Free to use, free to share, free to modify.

Hockipy is distributed under the GNU General Public License version 3. This means you are free to run, study, modify, and redistribute the software — provided that any distributed version carries the same license and makes the source available.

The GPL-3 license was chosen because Hockipy links PyQt6, which Riverbank Computing distributes under GPL-3-only. Any application that links PyQt6 under the free license must itself be GPL-3 compatible.

Source code is available at github.com/svenakela/hockipy. Issues and pull requests are welcome.

Hockipy is free. Caffeine isn't.

If Hockipy has saved you from an awkward silence or a missed goal celebration, consider buying the developer a coffee. It takes five seconds and means a lot.

Buy me a coffee