### CAGED notation (part 2) Source: https://github.com/tardate/jtab/blob/main/examples.htm More examples of rendering CAGED chord shapes. ```html
C:6 C:7 C:8 C:9 C:10
``` -------------------------------- ### CAGED notation (part 3) Source: https://github.com/tardate/jtab/blob/main/examples.htm Examples of rendering minor CAGED chord shapes. ```html
Cm:1 Cm:2 Cm:3 Cm:4 Cm:5
``` -------------------------------- ### CAGED notation (part 1) Source: https://github.com/tardate/jtab/blob/main/examples.htm Examples of rendering CAGED chord shapes using jTab. ```html
C:1 C:2 C:3 C:4 C:5
``` -------------------------------- ### More than one note at a time in tab (part 1) Source: https://github.com/tardate/jtab/blob/main/examples.htm Example showing how to represent more than one note at a time in tab notation. ```html
$3.6.$2.5h7 $1 5 $2 7 |
``` -------------------------------- ### Basic Tab Notation Examples Source: https://github.com/tardate/jtab/blob/main/index.htm Examples demonstrating how to enter basic note sequences on a single string, including fret positions, slides, hammer-ons, and pull-offs. ```text $2 0 1 3 ``` ```text $2 0 1 3 $1 0 1 3/5 ``` ```text $B 0 1 3 $e 0 1 3/5 ``` -------------------------------- ### Multiple Notes at Once Examples Source: https://github.com/tardate/jtab/blob/main/index.htm Examples showing how to represent multiple notes played simultaneously on different strings by joining individual string notations with periods. ```text $3.6.$2.5h7 $1 5 $2 7 ``` ```text $4.7/9.$3.6/8.$2.5/7 9p7 $2.9.$3.9.$4.9 ``` -------------------------------- ### Implicitly render a mixed chord and tab phrase Source: https://github.com/tardate/jtab/blob/main/examples.htm Shows how to render a phrase containing both chords and tab notation. ```html
Bm $3 4 4h5p3h4 5 $2 3 5 7 7h8p7 5/7 | A $4 7 9 $3 7 6 $5 9 $4 7h9 7 $5 9\7 5/7 ||
``` -------------------------------- ### Implicitly render a tab-only phrase Source: https://github.com/tardate/jtab/blob/main/examples.htm An example of implicitly rendering a tab-only phrase using a div with the 'jtab tabonly' classes. ```html
$4.7/9.$3.6/8.$2.5/7 9p7 $2.9.$3.9.$4.9 ||
``` -------------------------------- ### CAGED notation (part 4) Source: https://github.com/tardate/jtab/blob/main/examples.htm Examples of rendering seventh chord CAGED shapes. ```html
Eb7:1 Eb7:2 Eb7:3 Eb7:4 Eb7:5
``` -------------------------------- ### Implicit Rendering Example Source: https://github.com/tardate/jtab/blob/main/index.htm Demonstrates how to perform implicit rendering by assigning the class 'jtab' to a block tag containing guitar notation. ```html
E / / / | Am / B / ||
``` -------------------------------- ### Implicitly render a custom named chord Source: https://github.com/tardate/jtab/blob/main/examples.htm Demonstrates rendering a custom named chord using jTab's notation. ```html
%7/2.X/X.7/3.7/4.6/1.X/X[Bm7b5]
``` -------------------------------- ### Scripted rendering Source: https://github.com/tardate/jtab/blob/main/examples.htm Demonstrates rendering notation using jTab's JavaScript API, targeting a specific div. ```javascript jtab.render($('#mytab'),'Am7 C'); ``` -------------------------------- ### Chord Notation Examples Source: https://github.com/tardate/jtab/blob/main/index.htm Examples for entering tab for a whole or partial chord as a six-string block, including shorthand for frets below the 10th, using periods for separation, and 'X' for muted strings. ```text 022100 ``` ```text 8.10.10.9.8.8 ``` ```text X02220 ``` -------------------------------- ### Implicitly render a chord-only phrase Source: https://github.com/tardate/jtab/blob/main/examples.htm An example of implicitly rendering a chord-only phrase using a div with the 'jtab chordonly' classes. ```html
E / / / | A7 / B7 / ||
``` -------------------------------- ### Shorthand tab notation for all strings Source: https://github.com/tardate/jtab/blob/main/examples.htm Example of shorthand tab notation for a whole or partial chord, using periods for frets above 9 and X for unused strings. ```html
022100 / / / X02220 / 8.10.10.9.8.8 / ||
``` -------------------------------- ### Implicit Rendering using CSS - Chords and Tab Notation Source: https://github.com/tardate/jtab/blob/main/index.htm Here's an example combining chords and tab notation. ```text Bm $3 4 4h5p3h4 5 $2 3 5 7 7h8p7 5/7 | A $4 7 9 $3 7 6 $5 9 $4 7h9 7 $5 9\7 5/7 | ``` -------------------------------- ### A simple three note sequence on the B (2nd) string Source: https://github.com/tardate/jtab/blob/main/examples.htm Example of a simple three-note sequence on the B string in tab notation. ```html
$B 0 1 3 | $2 5 3 0 ||
``` -------------------------------- ### Customising the color palette Source: https://github.com/tardate/jtab/blob/main/examples.htm Demonstrates how jTab uses CSS styles (color, background-color) of the enclosing element to customize the rendered notation. ```html
Am $e 3 1 0
``` -------------------------------- ### A sequence of notes across two strings Source: https://github.com/tardate/jtab/blob/main/examples.htm Demonstrates using both 654321 and EADGBe for string numbering in tab notation. ```html
$2 0 1 3 $1 0 1 3/5 | $B 0 1 3 $e 0 1 3/5 ||
``` -------------------------------- ### Custom Chord Notation Example Source: https://github.com/tardate/jtab/blob/main/index.htm jTab also supports custom chord notation, where the frets and fingers for any arbitrary chord can be explicitly defined. ```text %7/2.X/X.7/3.7/4.6/1.X/X[Bm7b5] ``` -------------------------------- ### Render notation provided by a user Source: https://github.com/tardate/jtab/blob/main/examples.htm This snippet shows how to dynamically render user-provided notation using jTab. It listens for keyup events on an element with the ID 'notation' and renders the input into an element with the ID 'tab'. ```javascript jtab.render($('#tab'),$(this).val()); ``` -------------------------------- ### Pre-sizing jTab Elements with CSS Source: https://github.com/tardate/jtab/blob/main/index.htm Provides examples of using CSS classes to pre-size jTab elements for different content types (chord and tab, chord only, tab only) to prevent page layout jitters. ```html
(pre-sized for chord and tab)
(pre-sized for chord only)
(pre-sized for tab only)
``` -------------------------------- ### jTab Javascript Inclusion Source: https://github.com/tardate/jtab/blob/main/index.htm Example of how to include the jTab Javascript files, along with jQuery and Raphaƫl, in the HTML head section of a web page. ```html ... (other stuff) ... ``` -------------------------------- ### Explicit Call to Rendering Function Source: https://github.com/tardate/jtab/blob/main/index.htm An example of explicitly calling the jtab.renderimplicit() function, which can be used as a workaround if implicit rendering is not happening due to conflicts with other onload handlers. ```javascript jtab.renderimplicit(); ``` -------------------------------- ### Implicit Rendering using CSS - Chord Phrase Source: https://github.com/tardate/jtab/blob/main/index.htm jTab implicitly renders tab notation on a web page that is contained in blocks marked with the special class name 'jtab'. This can be used for posting transcriptions to your blog for example - just include jTab in your blog template then when posting you don't need to remember anything else except to set the class name on your notation. Here, a chord phrase is written directly into the web page. ```text E / / / | A7 / B7 / || ``` -------------------------------- ### Implicit Rendering using CSS - Tab Notation Only Source: https://github.com/tardate/jtab/blob/main/index.htm Or just tab notation.. ```text $4.7/9.$3.6/8.$2.5/7 9p7 $2.9.$3.9.$4.9 ``` -------------------------------- ### Interactive/Explicit Rendering using Javascript Source: https://github.com/tardate/jtab/blob/main/index.htm jTab can be used to render notation in real-time using Javascript. This could be based on user input (like here), or with the notation feed being generated or retrieved from some system or web service. ```javascript $('#user_notation').keyup(function(e){ jtab.render($('#tab'),$(this).val()); }); ``` -------------------------------- ### Unit Tests for jTab Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html This section contains unit tests for the core algorithms in jtab.js, covering various aspects of chord and tab notation recognition. ```javascript // ') $('#chart').append(rowHolder) jtab.render(rowHolder,tokens); // yield/async continuation of the chord chart if not yet complete if (endAt < chordList.length) setTimeout('render_chord_chart(' + endAt + ')', 0 ); } ``` -------------------------------- ### Chord List Availability Test Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html Checks if the jtab.ChordList function returns an array. ```javascript var msg = "jtab.ChordList should be an array of all chord names"; var chordList = jtab.ChordList(); assertInstanceOf( Array, chordList, msg ); ``` -------------------------------- ### jtabChord AddChord and Update Test Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html Tests the AddChord method of jtab, verifying that a chord is correctly added and updated, and that the chordArray is accurate after the update. ```javascript testChord_update: function() { with(this) { var token = 'Dm'; var modelChordArrayOld = [ 0, [2,2], [3,3], [2,4], [1,1], [0] ]; var modelChordArrayNew = [ 0, [2,2], [3,3], [2,4], [1,1], [0] ]; var c = new jtabChord(token); assert( c.isValid, "jtabChord('" + token + "') should be valid before update" ); assertHashEqual( modelChordArrayOld, c.chordArray, "jtabChord('" + token + "') returned incorrect chordArray before update" ); jtab.AddChord(token, modelChordArrayNew); c = new jtabChord(token); assert( c.isValid, "jtabChord('" + token + "') should be valid after update" ); assertHashEqual( modelChordArrayNew, c.chordArray, "jtabChord('" + token + "') returned incorrect chordArray after update" ); }} ``` -------------------------------- ### CAGED Base Shape Setting from Token Test Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html Tests that the CAGED base shape is derived correctly from the root note in the token. ```javascript var msg = "Caged base fret position should derived from root note"; var chord = new jtabChord('C'); var cagedBaseShape = chord.cagedBaseShape; assertNotUndefined( cagedBaseShape ); assertEqual( 'C', cagedBaseShape, msg ) ``` -------------------------------- ### Chord List Validity Test Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html Ensures all chord names in jtab.ChordList are valid. ```javascript var msg = "jtab.ChordLists should only contain valid chord names"; var chordList = jtab.ChordList(); for (var key = 0; key < chordList.length; key++) { var token = chordList[key]; assertEqual( "string", typeof(token), token + " expect a String" ); var chord = new jtabChord(token); assert( chord.isValid, "jtabChord('" + token + "') should be valid" ); } ``` -------------------------------- ### Chord Scale Association Test Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html Verifies that chords are correctly associated with the Western scale. ```javascript var msg = "Chords should be based on the western scale"; var chord = new jtabChord('C'); assertEqual( jtab.WesternScale, chord.scale, msg ); assertEqual( jtab.WesternScale.BaseNotes, chord.baseNotes, msg ); ``` -------------------------------- ### Western Scale Base Notes Test Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html Tests the validity and mapping of base notes in the Western scale. ```javascript assertNotUndefined( baseNotes, "jtab.WesternScale.BaseNotes should be valid" ); var validBaseNotes = { 'C' : [ 'C' , 'C', 0 ], 'C#': [ 'C#', 'C', 1 ], 'Db': [ 'C#', 'C', 1 ], 'D' : [ 'D' , 'D', 0 ], 'D#': [ 'Eb', 'D', 1 ], 'Eb': [ 'Eb', 'D', 1 ], 'E' : [ 'E' , 'E', 0 ], 'F' : [ 'F' , 'E', 1 ], 'F#': [ 'F#', 'E', 2 ], 'Gb': [ 'F#', 'E', 2 ], 'G' : [ 'G' , 'G', 0 ], 'G#': [ 'G#', 'G', 1 ], 'Ab': [ 'G#', 'G', 1 ], 'A' : [ 'A' , 'A', 0 ], 'A#': [ 'Bb', 'A', 1 ], 'Bb': [ 'Bb', 'A', 1 ], 'B' : [ 'B' , 'A', 2 ] }; assertHashEqual( validBaseNotes, baseNotes, "jtab.WesternScale.BaseNotes should have correct mappings" ); ``` -------------------------------- ### Western Scale Base Intervals Test Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html Tests the validity and content of base intervals in the Western scale. ```javascript var baseIntervals = jtab.WesternScale.BaseIntervals; assertNotUndefined( baseIntervals, "jtab.WesternScale.BaseIntervals should be valid" ); var validBaseIntervals = ['C', 'C#', 'D', 'Eb', 'E', 'F', 'F#', 'G', 'G#', 'A', 'Bb', 'B']; assertHashEqual( validBaseIntervals, baseIntervals, "jtab.WesternScale.BaseIntervals should have correct 12 notes" ); ``` -------------------------------- ### CAGED Base Shape Test Source: https://github.com/tardate/jtab/blob/main/jtab-unittest.html Tests the `cagedBaseShape` property for various chords to ensure it returns the correct base shape according to the CAGED system. ```javascript chord = new jtabChord('C#'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'C', cagedBaseShape, msg); chord = new jtabChord('D'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'D', cagedBaseShape, msg); chord = new jtabChord('D#'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'D', cagedBaseShape, msg); chord = new jtabChord('E'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'E', cagedBaseShape, msg); chord = new jtabChord('Eb'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'D', cagedBaseShape, msg); chord = new jtabChord('F'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'E', cagedBaseShape, msg); chord = new jtabChord('F#'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'E', cagedBaseShape, msg); chord = new jtabChord('G'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'G', cagedBaseShape, msg); chord = new jtabChord('G#'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'G', cagedBaseShape, msg); chord = new jtabChord('A'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'A', cagedBaseShape, msg); chord = new jtabChord('A#'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'A', cagedBaseShape, msg); chord = new jtabChord('Bb'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'A', cagedBaseShape, msg); chord = new jtabChord('B'); cagedBaseShape = chord.cagedBaseShape; assertEqual( 'A', cagedBaseShape, msg); ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.