/* * project.c * * Created on: Jan 8, 2023 * Author: bruce */ #include #include #include #include "project.h" #include "player_actions.h" #include "hw4.h" #include "player_actions.h" void project_run() { char buffer[8]; char* cur = buffer; uint8_t state = STOPPED_STATE; help(); for (;;) { if (state == PAUSED_STATE) pause_loop(); char ch = read_and_print_char_nonblocking(); if (!ch) continue; if (ch == '\r') { *cur = 0; handle_input(buffer, &state); cur = buffer; continue; } *cur++ = ch; } } void handle_input(char buffer[], uint8_t *state) { if (!strcmp(buffer, "HELP")) { help(); } else if (!strcmp(buffer, "NEXT")) { next(); } else if (!strcmp(buffer, "PLAY")) { play(); *state = PLAYING_STATE; } else if (!strcmp(buffer, "PAUSE")) { pause(); *state = PAUSED_STATE; } else if (!strcmp(buffer, "STOP")) { stop(); *state = STOPPED_STATE; } else { printf("Unknown command \"%s\"\n\r", buffer); } }