Вы можете сделать это так:
let parent = this;
$.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
// do some work
parent.reload();
});
Я не убежден, что Ваше предложение настолько утомительно. Это - действительно просто divide-modulo операция, каждый получает октаву, другой получает примечание.
octave = int (notenum / 12) - 1;
note = substring("C C#D D#E F F#G G#A A#B ",(notenum % 12) * 2, 2);
В реальном Java, в противоположность тому псевдокоду выше, можно использовать что-то как:
public class Notes {
public static void main(String [] args) {
String notes = "C C#D D#E F F#G G#A A#B ";
int octv;
String nt;
for (int noteNum = 0; noteNum < 128; noteNum++) {
octv = noteNum / 12 - 1;
nt = notes.substring((noteNum % 12) * 2, (noteNum % 12) * 2 + 2);
System.out.println("Note # " + noteNum + " = octave " + octv + ", note " + nt);
}
}
}
В JFugue класс Note
имеет утилитный метод, который делает именно это - смотрите public static String getStringForNote(byte noteValue)
.
EDIT: Начиная с версии JFugue 5.0 и выше, класс Note
имеет несколько утилитных методов получения строкового представления из значения MIDI-заметки:
getToneString(byte noteValue)
преобразует значение
60
в строку C5
getToneStringWithoutOctave(byte noteValue)
преобразует значение 60
в строку C
getPercussionString(byte noteValue)
преобразует a
значение 60
к строке "[AGOGO]"
Они заменяют оригинальный метод getStringForNote()
.