libtrackerboy

Search:
Group by:
Source   Edit  

libtrackerboy is a utility library used by trackerboy, a Game Boy tracker. This library provides the core functionality needed by the UI, and is also known as the backend.

Looking for trackerboy?

  • The repository for the desktop application is here
  • Click here for the user manual.

This library handles:

  • Game Boy APU emulation and sound synthesis
  • Manipulating module data
  • Module playback and exports
  • Reading/Writing module files

Usage

import libtrackerboy                   # import everything
import libtrackerboy/[data, io]        # import specific modules (Recommended)

Available modules

ModuleDescription
apuGame Boy APU emulation
apuioAPU I/O access, provides ApuIo concept
commonCommon types/procs used throughout the library
dataData model
editingUtilities for editing pattern data
engineSong playback, or driver implementation
ioModule serialization/deserialization
irIntermediate representation for import/export
notesNote lookup procs, note values
textText conversion and parsing
trackingMusic tracking and pathing
versionVersion type and consts

Exporter modules

Modules that provide exporting to other formats are located in the exports subfolder, libtrackerboy/exports.

ModuleDescription
wavWav file exporter

Engine modules

These modules are mostly only used by the engine module, but can be imported if low-level details of the engine are needed.

ModuleDescription
apucontrolAPU Register writes
enginecontrolCore components of the Engine
enginestateCurrent state of the Engine
frequencyFrequency effects
Note: Modules in the private folder (libtrackerboy/private) are private to the library and should not be imported by users of the library.

See also

Exports

iptr, PositiveByte, pansRight, isNil, channelMix, ByteIndex, ==, ==, Tristate, iref, writeRegister, ==, [], Apu, channelVolume, setBufferSize, ==, time, immutable, readRegister, initApu, Pcm, setFramerate, availableSamples, PcmF32, ==, run, isNil, items, MixMode, ==, setSamplerate, takeSamples, ==, channelFrequency, removeSamples, ChannelId, add, ==, capacity, ==, ==, [], FixedSeq, reset, runToFrame, setVolume, immutable, pansLeft, [], Pcm, iptr, PositiveByte, PcmF32, isNil, ==, ByteIndex, ==, ==, Tristate, ==, iref, ==, ==, add, ==, capacity, isNil, ChannelId, FixedSeq, [], ==, immutable, ==, ==, immutable, [], items, [], initTrackRow, clone, iptr, clone, isValid, isValid, capacity, trow, ==, PcmF32, []=, SomeTable, orow, TrackId, ModulePiece, hash, iref, Track, initTrackView, ==, initPattern, nextUnused, initSongList, toOption, defaultSpeed, viewTrack, toEffectCmd, duplicate, editTrack, getPatternView, shortensPattern, ==, noteNone, totalRows, InstrumentTable, ==, SongSpan, ==, isNil, [], <=, data, data, ==, all, WaveData, initInstrument, hash, initModule, SomeData, add, ==, instrumentNone, capacity, editPattern, NoteColumn, len, defaultRpb, len, trackLen=, newModule, len, isValid, isValid, has, initWaveformTable, initWaveform, items, Pattern, [], ByteIndex, ==, Tickrate, InstrumentColumn, initEffect, allocateTracks, isValid, getRow, [], initLoopPoint, unitSpeed, value, asSlice, PatternView, OrderRow, toOption, immutable, isValid, Effect, removeUnusedTracks, $, effectNone, uniqueIds, []=, [], initTrack, estimateSpeed, SongPos, <, initOrderRow, tempo, revisionMinor, defaultTickrate, =copy, len, getTickrate, items, [], has, $, noLoopPoint, effectCharMap, SequenceKind, ==, toSpeed, tempo, instrumentColumn, items, [], [], $, PositiveByte, effectiveTickrate, toFloat, SongList, clone, Speed, LoopPoint, Tristate, ==, mget, OrderLen, viewPattern, getRow, songSpan, [], TableId, getTrackView, patternLen, Order, noteColumn, ==, [], ==, initTrack, items, trackIds, totalRows, Pcm, EffectCmd, totalTracks, ==, removeAllTracks, Instrument, defaultTrackLen, nextAvailableId, value, $, next, $, trackLen, ==, initSong, mitems, songSpan, isEmpty, ==, SomePattern, effectCmdToChar, toInfoString, immutable, mitems, ==, initLoopPoint, System, SequenceLen, isNil, isValid, isValid, TrackRow, newSong, initSequence, defaultRpm, getPattern, WaveformTable, add, isValid, contains, SomeTrack, remove, Waveform, initInstrumentTable, ==, InfoString, isValid, $, EffectCounts, TrackLen, ==, PatternRow, toView, setLen, Module, ==, tempo, getTrack, items, Song, noteColumn, [], initOrder, version, len, Sequence, TrackView, rangeSpeed, ChannelId, add, hertz, get, FixedSeq, toView, ==, patternLen, songPos, revisionMajor, isValid, isValid, save, PasteMode, toAnchor, initPatternSelection, ByteIndex, initPatternClip, PatternClip, contains, trackSelects, effectNumber, PatternCursor, SelectionFit, moved, restore, getFit, TrackColumn, hasOnlyEffects, TrackSelect, initPatternSelection, initPatternAnchor, isEffect, PatternSelection, data, initPatternCursor, pos, paste, clamped, ChannelId, hasData, selection, paste, noSelection, PatternAnchor, toSelect, mget, trow, ==, SomeTable, TrackId, ModulePiece, NoteColumn, EngineFrame, nextUnused, ChannelAction, getPatternView, items, isHalted, ==, duplicate, ==, WaveData, tick, ==, defaultRpb, noteColumn, isValid, initWaveformTable, removeUnusedTracks, ByteIndex, Tickrate, [], apply, pos, TrackLen, trackPanning, $, lock, estimateSpeed, tempo, ChannelState, ==, toSpeed, items, uniqueIds, viewPattern, getOp, SongList, clone, jump, toAddress, Speed, TrackerStatus, ApuOperation, initModule, ApuIo, trackLen=, removeAllTracks, isHalted, value, ==, len, ==, totalRows, toOption, isRunning, effectCmdToChar, SequenceLen, isNil, isValid, defaultRpm, <=, SomeTrack, $, remove, initInstrumentTable, trackLen, runtime, PatternRow, ==, tick, getTrack, jump, ==, len, runtime, ==, clone, iptr, isValid, ==, PcmF32, trackState, orow, initTrackView, ==, defaultSpeed, all, initTrack, isValid, ==, trackTimbre, InstrumentTable, Counter, noteColumn, mitems, add, newModule, len, isValid, ==, initEffect, frame, unitSpeed, EffectCounts, OrderRow, immutable, Effect, [], songPos, isValid, has, $, effectCharMap, isLocked, ==, halt, effectiveTickrate, asSlice, songSpan, [], TableId, initTrackRow, items, ==, nextAvailableId, patternLen, initLoopPoint, UpdateFlags, TrackRow, newSong, getPattern, toView, add, isValid, initSongList, InfoString, $, unlocked, initOrder, patternLen, mitems, add, getTickrate, hash, updateAll, Track, [], initPattern, toEffectCmd, isEmpty, SongSpan, data, TrackerResult, SomeData, capacity, editPattern, isEnabled, hash, len, Tracker, initWaveform, get, [], InstrumentColumn, patternRepeat=, isValid, getRow, data, getPath, effectsFilter, effectNone, []=, initOrderRow, ==, tick, [], SequenceKind, tempo, noLoopPoint, [], toFloat, Tristate, $, clone, ApuRegister, initTrack, shortensPattern, Pcm, unlock, totalTracks, noteNone, Instrument, defaultTrackLen, revisionMinor, $, songSpan, trackEnvelope, reset, immutable, takeOperation, toInfoString, WaveformTable, contains, Engine, tickAndApply, Module, tempo, trackerResult, initCounter, SongPath, UpdateFlag, rangeSpeed, FixedSeq, SongPos, revisionMajor, allocateTracks, editTrack, patternRepeat, speed, iref, isValid, viewTrack, capacity, toView, setup, initInstrument, ChannelUpdate, instrumentNone, effectsFilter=, note, <, has, Pattern, initTracker, =copy, value, initSong, isValid, noCounter, ==, runtime, ==, defaultTickrate, len, initChannelState, [], instrumentColumn, PositiveByte, items, ==, LoopPoint, toOption, OrderLen, song, getTrackView, Order, [], trackIds, totalRows, next, EffectCmd, version, locked, getRow, initLoopPoint, SomePattern, initEngine, System, halt, initSequence, filter, PatternView, isNil, Waveform, isValid, ==, isPlaying, setLen, items, Song, [], []=, Sequence, TrackView, ChannelId, hertz, play, deserialize, deserialize, FormatResult, serialize, deserialize, deserialize, serialize, serialize, serialize, DFlat, A, FSharp, CSharp, EFlat, G, noteCut, NoteIndex, E, toNote, C, D, B, lookupNoiseNote, Letter, ToneNote, AFlat, DSharp, toNote, GFlat, NoteRange, toPair, lookupToneNote, BFlat, F, NoiseNote, GSharp, ASharp, toNote, notePair, NoteType, NotePair, Octave, orderRowText, litSequence, noValueChar, FixedString, TrackRowString, effectText, waveText, sequenceText, OrderRowString, parseWave, parseOrderRow, NoteString, parseTrackRow, parseInstrument, litOrderRow, noteText, parseOrderRow, $, InstrumentString, litTrackRow, parseEffectCmd, parseWave, litNote, instrumentText, trackRowText, parseEffect, parseInstrument, litWave, parseSequence, parseNote, parseTrackRow, EffectString, litInstrument, litEffect, WaveDataString, parseEffect, parseNote, getOp, TrackerResult, Tracker, speed, initTracker, ==, patternRepeat=, isValid, halt, filter, TrackerStatus, pos, tick, effectsFilter, noCounter, runtime, isHalted, getPath, runtime, trackerResult, jump, Counter, initCounter, tick, patternRepeat, effectsFilter=, isEnabled, runtime, SongPath, isRunning, currentVersionString, currentVersion, currentFileSerial, Version, currentFileMinor, currentFileMajor, Order, duplicate, getTickrate, trow, ==, contains, SomeTable, TrackId, ModulePiece, hash, Track, noLoopPoint, nextUnused, len, mget, toEffectCmd, ==, getPatternView, items, initTrack, totalRows, SongSpan, data, data, WaveData, songDuration, version, SomeData, capacity, editPattern, SongDuration, defaultRpb, len, isValid, initWaveformTable, initWaveform, removeUnusedTracks, WavExporter, Tickrate, InstrumentColumn, initPattern, isValid, getRow, [], ==, ChannelId, $, TrackLen, effectNone, []=, estimateSpeed, <=, noteColumn, initOrderRow, tempo, Pcm, $, has, ==, initOrder, [], SequenceKind, toSpeed, tempo, $, items, [], [], $, toFloat, SongList, clone, Speed, hasWork, Tristate, viewPattern, WavConfig, patternLen, clone, ==, initTrack, shortensPattern, [], initModule, TrackRow, noteNone, trackLen=, removeAllTracks, Instrument, defaultTrackLen, value, ==, len, songSpan, totalRows, toOption, effectCmdToChar, exportWav, immutable, initWavExporter, SequenceLen, isNil, toInfoString, WaveformTable, SomeTrack, remove, initInstrumentTable, ==, $, trackLen, Module, tempo, getTrack, [], initSong, len, initSequence, rangeSpeed, [], FixedSeq, songPos, revisionMajor, clone, iptr, allocateTracks, isValid, PcmF32, ==, orow, songDuration, iref, initTrackView, ==, <, all, viewTrack, isValid, editTrack, initWavConfig, ==, toView, ==, InstrumentTable, ==, [], instrumentColumn, process, hash, totalTracks, add, NoteColumn, newSong, InfoString, newModule, isValid, has, isValid, patternLen, Pattern, progress, =copy, initEffect, unitSpeed, value, OrderRow, immutable, defaultSpeed, Effect, ==, SongPos, ByteIndex, revisionMinor, defaultTickrate, len, capacity, Sequence, effectCharMap, PositiveByte, effectiveTickrate, items, LoopPoint, toOption, isValid, OrderLen, asSlice, ==, PatternRow, songSpan, uniqueIds, TableId, getTrackView, batched, initTrackRow, [], ==, isEmpty, items, trackIds, next, EffectCmd, ==, progressMax, getRow, initLoopPoint, nextAvailableId, EffectCounts, get, TrackView, ==, SomePattern, ==, initLoopPoint, mitems, System, isValid, [], getPattern, toView, add, isValid, initSongList, PatternView, isNil, Waveform, $, ==, setLen, initInstrument, items, Song, noteColumn, []=, mitems, defaultRpm, add, hertz, ==, isValid, instrumentNone