Commit a HID fix by gevaerts that prevent the HID driver to call usb_drv_send_nonbloc...
[kugel-rb.git] / apps / recorder / recording.h
blobeb766e162d3cd2794093277d7e82021168aa5891
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2002 Linus Nielsen Feltzing
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
21 #ifndef RECORDING_H
22 #define RECORDING_H
23 #include "audio.h"
25 bool in_recording_screen(void);
26 bool recording_screen(bool no_source);
27 char *rec_create_filename(char *buf);
28 int rec_create_directory(void);
29 void settings_apply_trigger(void);
31 /* If true, start recording automatically when recording_sreen() is entered */
32 extern bool recording_start_automatic;
34 #if CONFIG_CODEC == SWCODEC
35 /* handles device powerup, sets audio source and peakmeter mode */
36 void rec_set_source(int source, unsigned flags);
37 #endif /* CONFIG_CODEC == SW_CODEC */
39 /* Initializes a recording_options structure with global settings.
40 pass returned data to audio_set_recording_options or
41 rec_set_recording_options */
42 void rec_init_recording_options(struct audio_recording_options *options);
43 /* steals mp3 buffer, sets source and then options */
44 /* SRCF_RECORDING is implied for SWCODEC */
45 void rec_set_recording_options(struct audio_recording_options *options);
47 enum recording_command
49 RECORDING_CMD_STOP,
50 RECORDING_CMD_START, /* steal mp3 buffer, create unique filename and
51 start recording */
52 RECORDING_CMD_START_NEWFILE, /* create unique filename and start recording*/
53 RECORDING_CMD_PAUSE,
54 RECORDING_CMD_RESUME,
55 RECORDING_CMD_STOP_SHUTDOWN /* stop recording and shutdown */
58 /* centralized way to start/stop/... recording */
59 void rec_command(enum recording_command rec_cmd);
61 #endif /* RECORDING_H */