Skip to main content

JAM/TAB

How to lay out JAM's and TAB's for import:

The easiest way to see this is to input a song to the app, export and observe the formatting of the generated file.
For multiple songs, a file must begin with a number, the number of songs in the file. Following that, a tag is inserted for each song:

The tag contains all the relevant information for the song, where applicable:

  • TITLE={}; place the title of the song between the brackets
  • NOTES={}; place any performance notes eg. capo, playing style here
  • CHORDS={}; place the chords & lyrics or tab in here
  • ARTIST={}; the artist of the song
  • TIMESIG={}; the time signature (ie 4/4) note: swing rhythms end with _S (ie 4/4_S)
  • TUNING={}; the tuning of the instrument where applicable. (eg. E-A-D-G-B-E)
  • INSTRUMENT={}; the instrument the tab is for
  • DATESTAMP={}; this is the time in milliseconds the song was last saved (Android) or the date and time the song was last saved (Windows)
The tag opens with a "<" followed by TAB or JAM, depending on the song. The information is then inserted and the tag closed with a "/>". At the end of the file, "ENDOFLIST" is inserted to mark it. A sample file content would look something like:

2<TAB TITLE={GC} NOTES={afa} CHORDS={
|--3------0----------------------|
|--3------1----------------------|
|--0------0----------------------|
|--0------2----------------------|
|--2------3----------------------|
|--3-----------------------------|} ARTIST={Mayeo} TIMESIG={4/4} TUNING={asfgsdf} INSTRUMENT={asgd} DATESTAMP={19/07/2016 15:19:31} />
<JAM TITLE={dafgsnh,gs} NOTES={} CHORDS={akdfjvbs ls} ARTIST={ajdhn sdb} TIMESIG={4/4} TUNING={} INSTRUMENT={} DATESTAMP={19/07/2016 14:19:15} />ENDOFLIST

Songs will only be replaced/updated under three conditions:
  1. The title is exactly the same as a song already in the database
  2. The artist is exactly the same on both songs
  3. The datestamp of the song being imported is more recent than the datestamp of the song in the database
If the song being imported won't update, try changing the datestamp, and make sure to use the current date and time in milliseconds for the Android version.

Comments

Popular posts from this blog

Create a setlist

This is the menu you're greeted with when you first open the app. Songs can be added to the playlist in two ways: 1) Drag & Drop  the desired song from the top panel to the grey playlist panel 2) Tap  the desired song, and press the "To List" button Songs can be removed by: Android:  Tap the "x" button beside the song name in the playlist Windows Phone:  Tap the song in the playlist and press the "From List" button Windows PC:  Drag the song to the red bin icon, or tap the song then press the red bin icon. Saving & Loading Currently unavailable on Windows 10 devices Simply tap the "Load/Save" button to save, overwrite, load or delete a playlist. The layout changes based on the device and screen size, so may not look exactly as the sample images.

Adding & Editing a song

The same layout is used for adding and editing songs. Windows 1 0 devices: The screen feature three panes: song info, JAM/TAB and preview*. The panes can be shrunk and expanded by pressing the "<" and ">" buttons if necessary. On small-screen devices, switch between the song info and JAM/TAB panes by pressing these buttons. *Large-screen Windows 10 devices feature a "preview" pane on the right hand side which shows how the song will be displayed. Due to available space and resources, this is unavailable on small-screen devices like phones Android devices: Small-screen Android devices currently feature the input fields in a vertical scrollview (this will be changed in a future update to match the Windows version) Differing layouts aside, the manner of inserting the information is the same for both platforms. Put in the title, artist, chords & lyrics or tabs, and any performance notes. You can also show the time signature and sa...

Transposing

I've been making different types of music apps ever since I first learned JavaScript all those years ago. Chords, scales, and more. One thing I always struggled with was transposing though. It's difficult enough, there are so many different scales: Major, minor, chromatic, pentatonic to name a few. My music theory is good, but when it comes to transposing, there's a lot more to be learned. Then things come into play like transposing up or down. General rule of thumb for me is transposing up sharpens, transposing down flattens. Then that throws a few (potential) problems in. Some chords have two names (A#/Bb for example). Personally, I never use an 'A#' chord, it's always called 'Bb' to me. So do I take that into account in the transposing, or do I just leave it as 'A#' if it's up, or 'Bb' if it's down? Much ado about nothing, in reality. Just some perfectionism shining through. For the app, I've sort of generalised the...