- SCM scm_pitch = req->get_mus_property ("pitch");
- SCM proc = get_property ("tablatureFormat");
- SCM min_fret_scm = get_property ("minimumFret");
- int min_fret = gh_number_p(min_fret_scm) ? gh_scm2int(min_fret_scm) : 0;
-
- while(!string_found) {
- int fret = unsmob_pitch(scm_pitch)->semitone_pitch()
- - gh_scm2int(gh_list_ref(stringTunings,gh_int2scm(tab_string-1)));
- if(fret<min_fret)
- tab_string += high_string_one ? 1 : -1;
- else
- string_found = true;
- }
-
- SCM text = gh_call3 (proc, gh_int2scm (tab_string), stringTunings, scm_pitch);
-
- int pos = 2 * tab_string - number_of_strings - 1; // No tab-note between the string !!!
- if(to_boolean(get_property("stringOneTopmost")))
- pos = -pos;
-
- note->set_grob_property ("text", text);
-
- note->set_grob_property ("staff-position", gh_int2scm (pos));
- announce_grob (note, req->self_scm());
- notes_.push (note);