Skip to main content

Library to interact with a Boss GT-1000/GT-1000CORE over MIDI

Project description

pygt1000

pygt1000 is a Python library for interacting with the BOSS GT-1000 and GT-1000CORE guitar/bass effects processors over MIDI. This library provides an easy-to-use API for controlling and managing the settings of your GT-1000/GT-1000CORE, enabling both real-time interaction and more complex automation tasks.

Features

  • Send and receive MIDI messages to/from GT-1000/GT-1000CORE
  • Manage and modify effect parameters
  • Automate complex sequences of commands
  • Retrieve and process device states and data
  • Construct MIDI messages using option names instead of hexadecimal codes

Installation

To install the pygt1000 library, you can clone the repository and install the dependencies using Poetry:

git clone https://github.com/yourusername/pygt1000.git
cd pygt1000
poetry install

Usage

Here’s a basic example of how to use the pygt1000 library to interact with your GT-1000:

from pygt1000 import GT1000

# Initialize the GT1000 object
gt1000 = GT1000()

# Open the MIDI ports
gt1000.open_ports()
# By default it looks for a MIDI port starting with "GT-1000:GT-1000 MIDI 1"
# But you can override the portname option here

# Send a command to the GT-1000
gt1000.send_command(...)

# Close the MIDI ports when done
gt1000.close_ports()

Crafting messages

Most of the MIDI specifications from BOSS have been imported as JSON files in the specs/ directory. This allows the user to construct MIDI messages using option names rather than manually crafting hexadecimal messages. For example:

gt = GT1000()
start_section = gt._get_start_section("fx", "1")
message = gt.build_dt_message(start_section, "fx1", "SW", "ON")
gt1000.send_message(message)

The JSON files are created by parsing the text from the specification (one text file by table). Some consistency fixes are performed by the parsing scripts. There are still some unhandled cases like messages options with a very wide range requiring multiple bytes to set the value, but most features work with a single byte operation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygt1000-0.1.0.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

pygt1000-0.1.0-py3-none-any.whl (72.3 kB view details)

Uploaded Python 3

File details

Details for the file pygt1000-0.1.0.tar.gz.

File metadata

  • Download URL: pygt1000-0.1.0.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Darwin/23.5.0

File hashes

Hashes for pygt1000-0.1.0.tar.gz
Algorithm Hash digest
SHA256 57abe5feeb1c809eccd641b16e5e8e90fd0752f0b2aff54aec11b823d2c48cd1
MD5 2b8c9b6db18c45cea706283198502187
BLAKE2b-256 62adda07378d60fa8bf9e397479e57c03d623f0cc4931db270641bb94803d309

See more details on using hashes here.

File details

Details for the file pygt1000-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pygt1000-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 72.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Darwin/23.5.0

File hashes

Hashes for pygt1000-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 42af82b61f36c914d72c4221867e9f84f92bdf37318b6dc00396b7d4802b8fe4
MD5 2c9b0bf2985bfb7a33a005013b51a5d5
BLAKE2b-256 031b8523e7624cdd01acf3071f36d2be380f632d32634d048874302f102c4709

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page