Чтение ints из файла в Chuck

Я сделал, чтобы этот ChucK кодировал:

"examples/vento.txt" => string filename;
FileIO fio;

// open a file
fio.open(filename, FileIO.READ);

// ensure it's ok
if(!fio.good()) {
    cherr <= "can't open file: " <= filename <= " for reading..." <= IO.newline();
    me.exit();
}

fio.readLine() => string velocity;

fio.readLine() => string direction;

Текстовый файл содержит:

10
12

(это обновляется с Python каждую минуту),

Я хочу преобразовать скорость и направление к интервалу (или лучшее плавание).

Как я могу сделать это?

6
задан Matthieu Brucher 31 December 2018 в 10:46
поделиться

1 ответ

Используйте atoi и atof в библиотеке Std. Допустим, вы хотите перевести 0-127 (MIDI velocity) в float от 0 до 1.0 (гораздо удобнее для генераторов единиц измерения):

Std.atoi(fio.readLine()) => int midi_velocity;
midi_velocity/127.0 => float velocity;
<<< velocity >>>;

должно вывести 0.078740 :(float) для ввода 10.

Или, если вы хотите просто перейти сразу к float:

Std.atof(fio.readLine()) => float velocity;
<<< velocity >>>;

который печатает 10.000000 :(float).

6
ответ дан 17 December 2019 в 02:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: