looper/subprojects/mpg123/src/term.h

97 lines
2.8 KiB
C
Raw Normal View History

2024-09-28 10:31:06 -07:00
/*
term: terminal control
copyright ?-2006 by the mpg123 project - free software under the terms of the LGPL 2.1
see COPYING and AUTHORS files in distribution or http://mpg123.org
initially written by Michael Hipp
*/
#ifndef _MPG123_TERM_H_
#define _MPG123_TERM_H_
#include "mpg123app.h"
#include "audio.h"
/*
* Defines the keybindings in term.c - change to your
* own preferences.
*/
#define MPG123_HELP_KEY 'h'
#define MPG123_BACK_KEY 'b'
#define MPG123_NEXT_KEY 'f'
#define MPG123_PAUSE_KEY 'p'
#define MPG123_LOOP_KEY 'o'
#define MPG123_QUIT_KEY 'q'
/* space bar is alias for that */
#define MPG123_STOP_KEY 's'
#define MPG123_REWIND_KEY ','
#define MPG123_FORWARD_KEY '.'
/* This is convenient on QWERTZ-keyboards. */
#define MPG123_FAST_REWIND_KEY ';'
#define MPG123_FAST_FORWARD_KEY ':'
#define MPG123_FINE_REWIND_KEY '<'
#define MPG123_FINE_FORWARD_KEY '>'
/* You probably want to use the following bindings instead
* on a standard QWERTY-keyboard:
*/
/* #define MPG123_FAST_REWIND_KEY '<' */
/* #define MPG123_FAST_FORWARD_KEY '>' */
/* #define MPG123_FINE_REWIND_KEY ';' */
/* #define MPG123_FINE_FORWARD_KEY ':' */
#define MPG123_VOL_UP_KEY '+'
#define MPG123_VOL_DOWN_KEY '-'
#define MPG123_VOL_MUTE_KEY 'u'
#define MPG123_VERBOSE_KEY 'v'
#define MPG123_RVA_KEY 'r'
#define MPG123_PLAYLIST_KEY 'l'
#define MPG123_PREV_KEY 'd'
#define MPG123_MPEG_KEY 'm'
#define MPG123_TAG_KEY 't'
#define MPG123_PITCH_UP_KEY 'c'
#define MPG123_PITCH_BUP_KEY 'C'
#define MPG123_PITCH_DOWN_KEY 'x'
#define MPG123_PITCH_BDOWN_KEY 'X'
#define MPG123_PITCH_ZERO_KEY 'w'
#define MPG123_EQ_RESET_KEY 'e'
#define MPG123_EQ_SHOW_KEY 'E'
#define MPG123_BASS_UP_KEY 'A'
#define MPG123_BASS_DOWN_KEY 'a'
#define MPG123_MID_UP_KEY 'J'
#define MPG123_MID_DOWN_KEY 'j'
#define MPG123_TREBLE_UP_KEY 'N'
#define MPG123_TREBLE_DOWN_KEY 'n'
#define MPG123_BOOKMARK_KEY 'k'
/* This counts as "undocumented" and can disappear */
#define MPG123_FRAME_INDEX_KEY 'i'
#define MPG123_VARIOUS_INFO_KEY 'I'
#define MPG123_PREV_DIR_KEY '['
#define MPG123_NEXT_DIR_KEY ']'
/* The normal and big pitch adjustment done on key presses. */
#define MPG123_PITCH_VAL 0.001
#define MPG123_PITCH_BVAL 0.01
#define MPG123_PAUSED_STRING "Looping.\b\b\b\b\b\b\b\b"
#define MPG123_STOPPED_STRING "Stopped.\b\b\b\b\b\b\b\b"
#define MPG123_AB_STRING "Loop A-?\b\b\b\b\b\b\b\b"
#define MPG123_EMPTY_STRING " \b\b\b\b\b\b\b\b"
/* Need it as string for the param struct, change according to the above. */
#define MPG123_TERM_USR1 "s"
#define MPG123_TERM_USR2 "f"
int term_init(void); // -1 on error, 0 success or no terminal desired
void term_exit(void);
void term_new_track(void); // prepare for a new track being played
off_t term_control(mpg123_handle *mh, out123_handle *ao);
void term_hint(void); /* Print a message hinting at terminal usage. */
#endif