Skip to content

Commit

Permalink
Add docs for 0.3.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
shriramters committed Nov 10, 2024
1 parent d23313e commit 0a49592
Show file tree
Hide file tree
Showing 11 changed files with 166 additions and 8 deletions.
8 changes: 4 additions & 4 deletions content/docs/building-from-source.org
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Chordcat depends on the following libraries:
- [[https://www.fluidsynth.org/][fluidsynth]]
- [[https://github.com/ocornut/imgui][Dear ImGui]]
- [[https://github.com/SFML/imgui-sfml][ImGui-SFML]]
- [[https://www.boost.org/doc/libs/1_84_0/doc/html/property_tree.html][Boost.PropertyTree]]
- [[https://github.com/nlohmann/json][nlohmann-json]]

You will also need CMake and a modern C++ compiler that supports C++20
(gcc, clang, etc.)
Expand Down Expand Up @@ -43,7 +43,7 @@ sudo apt install \
libsfml-dev \
fluidsynth \
libfluidsynth-dev \
libboost-all-dev
nlohmann-json3-dev
#+end_example

The midi functionality of chordcat is provided by libremidi. libremidi
Expand Down Expand Up @@ -126,7 +126,7 @@ You can then download chordcat's dependencies with:
brew install cmake \
sfml \
fluid-synth \
boost
nlohmann-json
#+end_example

Build and run chordcat with:
Expand Down Expand Up @@ -175,7 +175,7 @@ pacman -S mingw-w64-ucrt-x86_64-gcc \
mingw-w64-ucrt-x86_64-cmake \
mingw-w64-ucrt-x86_64-sfml \
mingw-w64-ucrt-x86_64-fluidsynth \
mingw-w64-ucrt-x86_64-boost
mingw-w64-ucrt-x86_64-nlohmann-json
#+end_example

You can also install ~mingw-w64-ucrt-x86_64-nsis~ if you wish to
Expand Down
119 changes: 119 additions & 0 deletions content/docs/changing-instruments.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
#+TITLE: Changing Instruments
#+DATE: 2024-11-10T14:28:09+0530
#+WEIGHT: 50

@@html:<h1>@@ Changing Instruments @@html:</h1>@@


* Program Change

Chordcat comes with 128 default instruments (a.k.a programs) as
prescribed in the [[https://en.wikipedia.org/wiki/General_MIDI][General MIDI spec]].

You can also play all 16 MIDI channels simultaneously with 16 MIDI
devices. You can bind any instrument to any channel.

To bind an instrument to a channel, say you want to bind the electric
bass to the default channel, channel 0.

You can go to ~Preferences~ -> ~Piano~ -> ~Program Change~ and bind
instrument ~33~ to channel 0 like so:

[[/chordcat/program-change.png]]

The instrument numbers are from the General MIDI spec. You can view
all the instruments and their codes by clicking on ~Show Instrument
Table~ in the app.

Here is the instrument table for your reference:

** Instrument Table

| *Piano* | *Chromatic Percussion* | *Organ* |
|----------------------------------+------------------------------+-------------------------|
| 0 Acoustic Grand Piano | 8 Celesta | 16 Drawbar Organ |
| 1 Bright Acoustic Piano | 9 Glockenspiel | 17 Percussive Organ |
| 2 Electric Grand Piano | 10 Music Box | 18 Rock Organ |
| 3 Honky-tonk Piano | 11 Vibraphone | 19 Church Organ |
| 4 Electric Piano 1 | 12 Marimba | 20 Reed Organ |
| 5 Electric Piano 2 | 13 Xylophone | 21 Accordion |
| 6 Harpsichord | 14 Tubular Bells | 22 Harmonica |
| 7 Clavinet | 15 Dulcimer | 23 Bandoneon |
|----------------------------------+------------------------------+-------------------------|
| *Guitar* | *Bass* | *Strings* |
|----------------------------------+------------------------------+-------------------------|
| 24 Acoustic Guitar (nylon) | 32 Acoustic Bass | 40 Violin |
| 25 Acoustic Guitar (steel) | 33 Electric Bass (finger) | 41 Viola |
| 26 Electric Guitar (jazz) | 34 Electric Bass (picked) | 42 Cello |
| 27 Electric Guitar (clean) | 35 Electric Bass (fretless) | 43 Contrabass |
| 28 Electric Guitar (muted) | 36 Slap Bass 1 | 44 Tremolo Strings |
| 29 Electric Guitar (overdrive) | 37 Slap Bass 2 | 45 Pizzicato Strings |
| 30 Electric Guitar (distortion) | 38 Synth Bass 1 | 46 Orchestral Harp |
| 31 Electric Guitar (harmonics) | 39 Synth Bass 2 | 47 Timpani |
|----------------------------------+------------------------------+-------------------------|
| *Ensemble* | *Brass* | *Reed* |
|----------------------------------+------------------------------+-------------------------|
| 48 String Ensemble 1 | 56 Trumpet | 64 Soprano Sax |
| 49 String Ensemble 2 | 57 Trombone | 65 Alto Sax |
| 50 Synth Strings 1 | 58 Tuba | 66 Tenor Sax |
| 51 Synth Strings 2 | 59 Muted Trumpet | 67 Baritone Sax |
| 52 Choir Aahs | 60 French Horn | 68 Oboe |
| 53 Voice Oohs | 61 Brass Section | 69 English Horn |
| 54 Synth Voice | 62 Synth Brass 1 | 70 Bassoon |
| 55 Orchestra Hit | 63 Synth Brass 2 | 71 Clarinet |
|----------------------------------+------------------------------+-------------------------|
| *Pipe* | *Synth Lead* | *Synth Pad* |
|----------------------------------+------------------------------+-------------------------|
| 72 Piccolo | 80 Lead 1 (square) | 88 Pad 1 (new age) |
| 73 Flute | 81 Lead 2 (sawtooth) | 89 Pad 2 (warm) |
| 74 Recorder | 82 Lead 3 (calliope) | 90 Pad 3 (polysynth) |
| 75 Pan Flute | 83 Lead 4 (chiff) | 91 Pad 4 (choir) |
| 76 Blown Bottle | 84 Lead 5 (charang) | 92 Pad 5 (bowed glass) |
| 77 Shakuhachi | 85 Lead 6 (voice) | 93 Pad 6 (metallic) |
| 78 Whistle | 86 Lead 7 (fifths) | 94 Pad 7 (halo) |
| 79 Ocarina | 87 Lead 8 (bass and lead) | 95 Pad 8 (sweep) |
|----------------------------------+------------------------------+-------------------------|
| *Synth Effects* | *Ethnic* | *Percussive* |
|----------------------------------+------------------------------+-------------------------|
| 96 FX 1 (rain) | 104 Sitar | 112 Tinkle Bell |
| 97 FX 2 (soundtrack) | 105 Banjo | 113 Cowbell |
| 98 FX 3 (crystal) | 106 Shamisen | 114 Steel Drums |
| 99 FX 4 (atmosphere) | 107 Koto | 115 Woodblock |
| 100 FX 5 (brightness) | 108 Kalimba | 116 Taiko Drum |
| 101 FX 6 (goblins) | 109 Bag pipe | 117 Melodic Tom |
| 102 FX 7 (echoes) | 110 Fiddle | 118 Synth Drum |
| 103 FX 8 (sci-fi) | 111 Shanai | 119 Reverse Cymbal |
|----------------------------------+------------------------------+-------------------------|
| *Sound Effects* | | |
|----------------------------------+------------------------------+-------------------------|
| 120 Guitar Fret Noise | | |
| 121 Breath Noise | | |
| 122 Seashore | | |
| 123 Bird Tweet | | |
| 124 Telephone Ring | | |
| 125 Helicopter | | |
| 126 Applause | | |
| 127 Gunshot | | |

* Loading Soundfonts

If you want to use a different soundfont to the default one, you can
download any ~.sf2~ soundfont (extension must be lowercase) and paste
it in the soundfonts folder.

The soundfont folder is different depending on your OS.

- Linux and MacOS : ~~/.local/share/chordcat/soundfonts/~
- Michaelsoft Binbows : ~%AppData%\chordcat\soundfonts\~

Once you have pasted your soundfonts, restart chordcat. You can then
select your soundfont in ~Preferences~ -> ~Configuration~ ->
~Soundfont~.

When a new soundfont is loaded, the corresponding instrument out of
the 128 default instruments, is replaced with the new soundfont. The
remaining instruments are unchanged.

[[/chordcat/soundfont-selector.png]]


6 changes: 3 additions & 3 deletions content/docs/installing-from-binaries.org
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

** Installation

Download the file named ~chordcat-0.2.1-win64.exe~ from the [[https://github.com/shriramters/chordcat/releases/tag/v0.2.1][releases page]].
Download the file named ~chordcat-0.3.0-win64.exe~ from the [[https://github.com/shriramters/chordcat/releases/tag/v0.3.0][releases page]].

You may be greeted with the Windows Defender SmartScreen warning. This
is because I haven't codesigned the installer binary with a microsoft
Expand All @@ -34,14 +34,14 @@ control panel (search for "Add or Remove Programs" in the start menu).
[[/chordcat/control-panel-uninstall.png]]

* Debian
Download the file named ~chordcat_0.2.1_amd64.deb~ from the [[https://github.com/shriramters/chordcat/releases/tag/v0.2.1][releases page]].
Download the file named ~chordcat_0.3.0_amd64.deb~ from the [[https://github.com/shriramters/chordcat/releases/tag/v0.2.1][releases page]].

If you use GNOME or KDE, you can double click the file to install it.

You can also install it from the command line like so:
#+begin_example bash
cd ~/Downloads
sudo apt install ./chordcat_0.2.1_amd64.deb
sudo apt install ./chordcat_0.3.0_amd64.deb
#+end_example

If you are unable to double click it, you can install the graphical installer
Expand Down
2 changes: 1 addition & 1 deletion content/docs/packaging.org
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ cmake --build .
cpack -C Release
#+end_example

you should find an installer called ~chordcat-0.1.0-win64.exe~ in the build directory.
you should find an installer called ~chordcat-0.3.0-win64.exe~ in the build directory.

* MacOS

Expand Down
39 changes: 39 additions & 0 deletions content/docs/using-the-looper.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#+TITLE: Using the Looper
#+DATE: 2024-11-10T15:50:18+0530
#+WEIGHT: 60

@@html:<h1>@@ Using the Looper @@html:</h1>@@

You can use the looper to record your playing and then play it back in a loop.
You can also add overdubs.

Firstly, you need to select a tempo.

you can do this in ~Preferences~ -> ~Metronome Tempo~

[[/chordcat/metronome-tempo.png]]

Then you can select the number of bars you want to record. The looper will automatically stop recording after the said number of bars and start playing back.

[[/chordcat/looper-idle.png]]

Once you hit record, there will be a count-in of 4 beats before recording starts.

You can then play any notes, or midi signals and they will be recorded for the said number of bars.

once the recording is stopped, the playback will start immediately. you can then choose to overdub or stop playback.

Stop playback will clear the looper.

[[/chordcat/looper-playback.png]]

If you click overdub, the looper will wait until the current loop is completed before starting recording.

Once overdubbing starts, all your keyboard/midi events will be recorded. You can choose to stop overdub (saves overdub to the loop) or Cancel (does not save to the loop).

[[/chordcat/looper-overdubbing.png]]

You can use different channels to record different instuments in the looper. It's completely wack tho so you mostly won't be able to get anything that sounds good out of this xD.

See the [[/chordcat/docs/changing-instruments][Changing Instruments]] page for more information about this.

Binary file added static/looper-idle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/looper-overdubbing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/looper-playback.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/metronome-tempo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/program-change.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/soundfont-selector.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0a49592

Please sign in to comment.