1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#include <glib.h>
#include <gdk/gdk.h>
#include <unistd.h>
// Types of messages in the event queue
enum CommandType {RECORDING_STOP,
RECORDING_START,
RECORDING_PAUSE,
RECORDING_CONTINUE,
RECORDING_NOTIFY_MSG,
RECORDING_SHOW_WINDOW,
RECORDING_HIDE_WINDOW,
RECORDING_QUIT_LOOP,
RECORDING_QUIT_APP
};
enum CommandFlags {RECORDING_NO_FLAGS = 0, RECORDING_DELETE_FILE = 4};
typedef struct {
enum CommandType type;
gchar *track;
gchar *artist;
gchar *album;
gint track_pos; // in time, seconds
gint track_len; // time, seconds
guint flags; // Eg. RECORDING_DELETE_FILE flag
} RecorderCommand;
void rec_manager_init();
void rec_manager_exit();
void rec_manager_update_gui();
void rec_manager_set_time_label(gchar *label_txt);
void rec_manager_set_size_label(gchar *label_txt);
void rec_manager_set_error_text(gchar *error_txt);
void rec_manager_set_filename_label(gchar *filename);
gint64 rec_manager_get_stream_time();
void rec_manager_get_state(gint *status, gint *pending);
void rec_manager_continue_recording();
void rec_manager_start_recording();
void rec_manager_stop_recording();
void rec_manager_pause_recording();
gboolean rec_manager_is_recording();
void rec_manager_show_window(gboolean show);
void rec_manager_quit_application();
const gchar *rec_manager_get_state_name(gint state);
void rec_manager_send_gui_msg(gchar *msg);
gchar *rec_manager_get_output_filename();
void rec_manager_flip_recording();
void rec_manager_update_level_bar(gdouble peak, gdouble peak_dB);
void rec_manager_print_command(RecorderCommand *cmd);
void rec_manager_send_command(RecorderCommand *cmd);
void rec_manager_send_command_ex(enum CommandType type, gchar *track, gchar *artist, gchar *album, gint track_pos, gint track_len, guint flags);
|