Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Go-based music tracker

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.MIT
Unlicense
LICENSE.Unlicense
NotificationsYou must be signed in to change notification settings

gotracker/gotracker

Go

What is it?

It's a tracked music player written in Go.

Why does this exist?

Heucuva needed to learn Go forever ago and figured this was a good way to do it.

What does it play?

Files from/of the following formats/trackers:

  • S3M - ScreamTracker 3
  • MOD - Protracker/Fasttracker/Startrekker (internally up-converted to S3M)
  • XM - Fasttracker II
  • IT - Impulse Tracker
  • Maybe more! (check the support list from thegotracker/player library)

What systems does it work on?

  • Windows (Windows 2000 or newer)
    • Sound Card
      • WinMM (WAVE_MAPPER device)
      • DirectSound (via optional build flag:directsound)
      • PulseAudio (via optional build flag:pulseaudio) - NOTE: Not recommended except for WSL (Linux) builds!
    • File
      • Wave/RIFF file (built-in)
      • Flac (via optional build flag:flac)
  • Linux
    • Sound Card
      • PulseAudio
    • File
      • Wave/RIFF file (built-in)
      • Flac (via optional build flag:flac)

How do I build this thing?

What you need

For a Windows build, we recommend the following:

  • Windows 2000 (or newer) - we used Windows 11 Pro (Windows 11 Version 23H2 - 22631.3007)
  • Visual Studio Code
    • Go extension for VSCode v0.19.0 (or newer)
    • Go v1.21.5 (or newer)

For a non-Windows (e.g.: Linux) build, we recommend the following:

  • Ubuntu 20.04 (or newer) - we used Ubuntu 22.04.2 LTS running in WSL2
  • Go v1.21.5 (or newer)

How to build (on Windows)

  1. First, load the project folder in VSCode. If this is the first time you've ever opened a Go project, VSCode will splash up a thousand alerts asking to install various things for Go. Allow it to install them before continuing on.
  2. Next, open a Terminal forpowershell.
  3. Enter the following commands
    go mod downloadgo build
    When the command completes, you should now have the gotracker.exe file. Drag an .S3M file on top of it!

How to build (on Linux)

  1. Build the player with the following commands
    go mod downloadgo build

NOTE: In order to use PulseAudio, you must have yourPULSE_SERVER connection string environment variable configured:

  • e.g.:
    PULSE_SERVER=tcp:127.0.0.1:4713
    (Take note that there are bugs associated with TCP connection strings; see bugs section below)For more information about thePULSE_SERVER environment variable, please see thePulseAudio documentation.

How does it work?

Not well, but it's good enough to play some moderately complex stuff.

Bugs

Known bugs

TagsNotes
windowswinmmSetting the number of channels to more than 2 may cause WinMM and/or Gotracker to do unusual things. You might be able to get a hardware 4-channel capable card (such as the Aureal Vortex 2 AU8830) to work, but driver inconsistencies and weirdnesses in WinMM will undoubtedly cause needless strife.
pulseaudioPulseAudio support is offered through a Pure Go interface originally created by Johann Freymuth, calledjfreymuth/pulse. While it seems to work pretty well, it does have some inconsistencies when compared to the FreeDesktop supported C interface. If you see an error about there being a "missing port in address" specifically when using a TCP connection string, make sure to append the default port specifier of:4713 to the end of thePULSE_SERVER environment variable.
windowsdirectsoundDirectSound integration is not great code. It works well enough after recent code changes fixing event support, but it's still pretty ugly.
flacFlac encoding is still very beta.

NOTE: for more known bugs, please check the list from thegotracker/playback library.

Unknown bugs

  • There are many, we're sure.

[8]ページ先頭

©2009-2025 Movatter.jp