MCPcopy Index your code
hub / github.com/Lordszynencja/Charter

github.com/Lordszynencja/Charter @0.22.40

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.22.40 ↗ · + Follow
5,901 symbols 18,908 edges 701 files 355 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Charter

GitHub License GitHub Downloads (all assets, all releases) CodeFactor

java github maven

A simple viewer, player, and editor for guitar charts. Charter is a Free and Open Source app for Desktop (Windows, MacOS, and Linux.) using Java and jasio. You can check the wiki for information on how to use it.

PayPal donate button

Table of Contents

Screenshots

ezgif-6-9bfe91b5f2

Download & Install

Download the latest version of Charter from the releases page.

Windows

Currently, the installer is recognized by some antivirus software as a trojan, Windows Defender sometimes says it's Trojan:Script/Wacatac.B!ml, as there is no way to fix it other than to pay M$ money. You have to deal with it by ignoring the issue or turning check for that file off in the software, however most antivirus scanners say that the file is clean.

Autoupdater needs to have writing permissions where you installed the program to update it, so you can change permissions for the program directory once it's installed, give it administrator privileges or install it in a directory that's not protected.

  1. Download and run the installer Charter-windows-<version>-installer.exe.
  2. Run Charter.exe.

Works For Windows 10 and above.

Linux

  1. You need Java 17 (JDK) or newer to run it, you can install it from Oracle Main release or OpenJDK.
  2. Download Charter-linux-<version>.zip then unzip it.
  3. Download librubberband-jni.so and put them in the libraries folder, one of ~/lib, /usr/local/lib or /usr/lib.
  4. Run Charter.jar.

MacOS

  1. You need Java 17 (JDK) or newer to run it, you can install it from Oracle Main release or OpenJDK.
  2. Download Charter-mac-<version>.zip for Intel Macs, or Charter-mac-arm-<version>.zip for ARM, then unzip it and move into Applications.
  3. Download librubberband-jni.dylib and put it in the libraries folder, one of ~/lib, /usr/local/lib or /usr/lib.
  4. Run Charter.jar.

Contributing and Building

Contributing

  1. Install JDK 17 or newer, for example Main release or OpenJDK
  2. Download and install Maven from here.
  3. Fork the repo and make pull requests
  4. Profit

You can also suggest features by making a new issue and you can submit them in the Charter Discord!

Building

  1. Go to main directory and run mvn clean package
  2. Built program will appear in <dir>\target\Charter\

Extension points exported contracts — how you extend this code

IConstantFractionalPosition (Interface)
(no doc) [6 implementers]
src/main/java/log/charter/data/song/position/fractional/IConstantFractionalPosition.java
IFractionalPosition (Interface)
(no doc) [6 implementers]
src/main/java/log/charter/data/song/position/fractional/IFractionalPosition.java
ValueAccessor (Interface)
(no doc) [12 implementers]
src/main/java/log/charter/data/config/values/accessors/ValueAccessor.java
BooleanSetter (Interface)
(no doc) [11 implementers]
src/main/java/log/charter/data/config/values/accessors/BooleanValueAccessor.java
Effect (Interface)
(no doc) [26 implementers]
src/main/java/log/charter/sound/effects/Effect.java

Core symbols most depended-on inside this repo

add
called by 987
src/main/java/log/charter/data/song/position/virtual/IVirtualConstantPosition.java
get
called by 816
src/main/java/log/charter/data/config/values/accessors/FloatValueAccessor.java
size
called by 358
src/main/java/log/charter/data/song/BeatsMap.java
position
called by 356
src/main/java/log/charter/data/song/position/time/IPosition.java
set
called by 350
src/main/java/log/charter/data/config/values/accessors/ValueAccessor.java
beats
called by 211
src/main/java/log/charter/data/ChartData.java
isEmpty
called by 182
src/main/java/log/charter/services/data/copy/data/ICopyData.java
max
called by 162
src/main/java/log/charter/util/CollectionUtils.java

Shape

Method 5,035
Class 749
Interface 68
Enum 49

Languages

Java100%

Modules by API surface

src/main/java/helliker/id3/MP3File.java63 symbols
src/main/java/log/charter/data/song/notes/ChordOrNote.java61 symbols
src/main/java/log/charter/gui/chartPanelDrawers/instruments/guitar/highway/DefaultHighwayDrawer.java54 symbols
src/main/java/log/charter/data/song/BeatsMap.java53 symbols
src/main/java/log/charter/gui/components/preview3D/drawers/Preview3DGuitarSoundsDrawer.java52 symbols
src/main/java/log/charter/gui/components/tabs/selectionEditor/chords/ChordTemplateEditor.java48 symbols
src/main/java/log/charter/gui/components/containers/ParamsPane.java45 symbols
src/main/java/log/charter/util/CollectionUtils.java42 symbols
src/main/java/log/charter/gui/components/simple/AutocompleteInput.java42 symbols
src/main/java/log/charter/gui/components/toolbar/ChartToolbar.java41 symbols
src/main/java/log/charter/services/data/GuitarSoundsHandler.java40 symbols
src/main/java/log/charter/io/gp/gp5/GP5FileReader.java40 symbols

For agents

$ claude mcp add Charter \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page