 
 	# parses marktab note into json
 	# example: parseNotes("5:6", 2) => { 5: [undefined, 6] }
-	parseNotes: (note, i = 0) ->
+	parseNotes: (note) ->
 		result = {}
 		stringAndFret = note.split(":")
 		string = stringAndFret[0]
 		fret = stringAndFret[1]
 		result[string] ?= []
-		result[string][i] = parseInt(fret, 10) 
+		result[string][0] = parseInt(fret, 10) 
 		result
 
 	# parses marktab chords into json
-	parseChord: (chord, i = 0) ->
+	parseChord: (chord) ->
 		""
 
 	# parses marktab riffs into json

			notes = tabMap[stringNum]
			line = stringDefaults[stringNum] + "|-"
			for note in notes
				line += (note || '-') + "-"
			line += "|"
			@lines.push(line)
		@lines

					jsonPart[lastString][i] = "\\"
				else if part.match(chordPattern)
					# chord
					jsonPart = this.parseChord(part)
				else
					throw "unknown pattern: " + part
				this.addFrame(json, jsonPart)
			this.parseJson(json)
		json

	# adds another frame to a tabMap
	addFrame: (json, frame) ->
		idx = this.longestString(json)
		for stringNum, stringNotes of frame
			for fret, i in stringNotes
				json[stringNum] ?= []
				json[stringNum][idx] = fret
		json

	longestString: (tabMap = {}) ->
		max = 0
		for stringNum, stringNotes of tabMap
			size = _.size(stringNotes)
			max = size if size > max
		max
	
	# merges two tabMaps together, with the source overwriting the destination
	mergeMaps: (dest, source) ->
		for stringNum, stringNotes of source
