A terminal-based radio player
git clone git://soophie.de/rx
181
term_write("\x1b[2J");182
term_write("\x1b[H");183
term_write("\r\n");184
for (size_t i = 0; i < self->stations_len; i++) {185
const rx_station_t *station = &self->stations[i];186
if (i == (size_t) self->idx) {184
int rows = 0;185
int cols = 0;186
term_read_window_size(&rows, &cols);187
size_t len = rows - 5;188
for (size_t i = 0; i < len; i++) {189
if (i + self->idx >= self->stations_len) {190
term_write("\r\n");191
continue;192
}193
const rx_station_t *station = &self->stations[i + self->idx];194
if (i + self->idx == (size_t) self->idx) {195
term_write("> ");196
}197
else {198
term_write(" ");199
}200
int pad = 3; // floor(log10(self->stations_len) + 1);193
term_writef("%0*d ", pad, i + 1);201
term_writef("%0*d ", pad, i + self->idx + 1);202
term_writef("[%s] %s", station->uid, station->name);203
if (station->addr != NULL) {204
term_writef(" (%s)", station->addr);
226
}227
}228
}229
else {230
term_write("[???] no station\r\n");231
term_write("...\r\n");232
}233
term_flush();234
}