libcdio  2.1.0
audio.h
Go to the documentation of this file.
1 /* -*- c -*-
2  Copyright (C) 2005, 2007, 2008, 2019 Rocky Bernstein <rocky@gnu.org>
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17 
24 #ifndef CDIO_AUDIO_H_
25 #define CDIO_AUDIO_H_
26 
27 #include <cdio/types.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif /* __cplusplus */
32 
34  typedef struct cdio_subchannel_s
35  {
36  uint8_t format;
37  uint8_t audio_status;
38  uint8_t address: 4;
39  uint8_t control: 4;
40  uint8_t track;
41  uint8_t index;
45 
47  typedef struct cdio_audio_volume_s
48  {
49  uint8_t level[4];
51 
52 
54  typedef struct cdio_track_index_s
55  {
56  uint8_t i_start_track;
57  uint8_t i_start_index;
58  uint8_t i_end_track;
59  uint8_t i_end_index;
61 
73  cdio_audio_volume_t *p_volume);
74 
78  uint32_t cdio_audio_get_msf_seconds(msf_t *p_msf);
79 
86 
95  /*in*/msf_t *p_start_msf,
96  /*in*/ msf_t *p_end_msf);
97 
105  ( CdIo_t *p_cdio, cdio_track_index_t *p_track_index);
106 
114  /*out*/ cdio_subchannel_t *p_subchannel);
115 
123 
132  cdio_audio_volume_t *p_volume);
133 
141 
142 #ifdef __cplusplus
143 }
144 #endif /* __cplusplus */
145 
146 #endif /* CDIO_AUDIO_H_ */
struct cdio_subchannel_s cdio_subchannel_t
uint8_t audio_status
Definition: audio.h:37
driver_return_code_t cdio_audio_play_track_index(CdIo_t *p_cdio, cdio_track_index_t *p_track_index)
uint8_t i_end_track
Definition: audio.h:58
Common type definitions used pervasively in libcdio.
driver_return_code_t
Definition: device.h:205
driver_return_code_t cdio_audio_get_volume(CdIo_t *p_cdio, cdio_audio_volume_t *p_volume)
uint8_t index
Definition: audio.h:41
driver_return_code_t cdio_audio_resume(CdIo_t *p_cdio)
driver_return_code_t cdio_audio_read_subchannel(CdIo_t *p_cdio, cdio_subchannel_t *p_subchannel)
typedefPRAGMA_END_PACKED struct msf_s msf_t
Definition: types.h:224
driver_return_code_t cdio_audio_stop(CdIo_t *p_cdio)
struct cdio_track_index_s cdio_track_index_t
uint8_t i_start_index
Definition: audio.h:57
uint8_t address
Definition: audio.h:38
uint32_t cdio_audio_get_msf_seconds(msf_t *p_msf)
uint8_t i_end_index
Definition: audio.h:59
uint8_t control
Definition: audio.h:39
msf_t rel_addr
Definition: audio.h:43
driver_return_code_t cdio_audio_pause(CdIo_t *p_cdio)
Definition: audio.h:47
uint8_t i_start_track
Definition: audio.h:56
uint8_t format
Definition: audio.h:36
struct _CdIo CdIo_t
Definition: cdio.h:47
driver_return_code_t cdio_audio_play_msf(CdIo_t *p_cdio, msf_t *p_start_msf, msf_t *p_end_msf)
struct cdio_audio_volume_s cdio_audio_volume_t
Definition: audio.h:54
msf_t abs_addr
Definition: audio.h:42
driver_return_code_t cdio_audio_set_volume(CdIo_t *p_cdio, cdio_audio_volume_t *p_volume)
Definition: audio.h:34
uint8_t track
Definition: audio.h:40