A handy tool for musicians to have an overview of song chords and structure.
Jampal is a handy tool best suited for small bands or hosting musicians. You can easily outline the song structure (verses,choruses, etc) and the chords, that are played.
It is best suited to run on a fullscreen fullHD TV (eg. from a RaspberryPI:-)
- quick song structure editing
- visual metronome with tap tempo
- colorizing song parts to quickly see the parts
- estimated song duration
- client side JavaScript, can be run offline
- notes
- quick keyboard control
- Chromium/Google Chrome browser
- Landscape 1920x1080 display (can run on HDready, but not as nicely)
You can check demo (F11 for fullscreen before) JamPal demo
- nicer metronome
- audio click for metronome
- another section for lyrics
- some music theory tools using teoria.js (https://github.com/saebekassebil/teoria)
- integrate https://github.com/tardate/jtab
- NextCloud integration
- fix font size after resize
- Node.js
- npm
- Electron
-
Clone the repository:
git clone https://github.com/belda/jampal.git cd jampal
-
Install dependencies:
npm install
-
Install electron-builder:
npm install electron-builder --save-dev
To build the app for Mac, Fedora, Ubuntu, and Raspbian, run:
npm run build
After building, you can find the packaged app in the dist
directory. Follow the platform-specific instructions to run the app:
- Open the
dist
directory. - Find the
.dmg
file and open it. - Drag the app to the Applications folder.
- Open the
dist
directory. - Find the
.AppImage
or.deb
file. - For
.AppImage
, make it executable and run it:chmod +x jampal-<version>.AppImage ./jampal-<version>.AppImage
- For
.deb
, install it using dpkg:sudo dpkg -i jampal-<version>.deb
- Open the
dist
directory. - Find the
.deb
file. - Install it using dpkg:
sudo dpkg -i jampal-<version>.deb
To associate an AppImage with a certain file type, you can follow these steps:
- Create a
.desktop
file for your AppImage. This file will define the association between the AppImage and the file type. - Update the MIME type database to recognize the new file type and associate it with your AppImage.
-
Create a
.desktop
file:-
Create a new file with a
.desktop
extension, for example,jampal.desktop
. -
Add the following content to the file, replacing
<path-to-appimage>
with the actual path to your AppImage and<file-extension>
with the file extension you want to associate:[Desktop Entry] Name=JamPal Exec=<path-to-appimage> %f Icon=<path-to-icon> Type=Application MimeType=application/x-<file-extension>;
-
-
Update the MIME type database:
-
Create a new file with a
.xml
extension, for example,jampal-mime.xml
. -
Add the following content to the file, replacing
<file-extension>
with the file extension you want to associate:<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-<file-extension>"> <comment>JamPal File</comment> <glob pattern="*.jpl"/> </mime-type> </mime-info>
-
-
Install the
.desktop
and MIME type files:-
Copy the
.desktop
file to the appropriate directory:cp jampal.desktop ~/.local/share/applications/
-
Copy the MIME type file to the appropriate directory:
cp jampal-mime.xml ~/.local/share/mime/packages/
-
-
Update the MIME type database:
-
Run the following command to update the MIME type database:
update-mime-database ~/.local/share/mime
-
-
Update the desktop database:
-
Run the following command to update the desktop database:
update-desktop-database ~/.local/share/applications
-
After completing these steps, your AppImage should be associated with the specified file type, and you should be able to open files with that extension using your AppImage.
MIT licence