Skip to content

Commit 26ed8f3

Browse files
Add declarations for some Wiimote audio stuff, +documentation (#433)
* Add declarations for some Wiimote audio stuff, +documentation * Small comment changes
1 parent 49fe30f commit 26ed8f3

3 files changed

Lines changed: 70 additions & 3 deletions

File tree

include/padscore/wpad.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ struct WPADAddress
741741
WUT_CHECK_OFFSET(WPADAddress, 0x00, btDeviceAddress);
742742
WUT_CHECK_SIZE(WPADAddress, 0x6);
743743

744-
//! Continuation parameters for WENCGetEncodeData
744+
//! Continuation parameters for \link WENCGetEncodeData
745745
struct WENCParams
746746
{
747747
WUT_UNKNOWN_BYTES(32);
@@ -909,11 +909,12 @@ WPADSendStreamData(WPADChan channel,
909909
* Encode 16-bit LPCM as 4-bit Yamaha ADPCM
910910
* \param params encoding continuation params, written on first call, and read and updated on each subsequent call
911911
* \param continuing should be TRUE if continuing encoding stream with the params produced via a prior call
912-
* \param samples 16-bit LPCM sample buffer
912+
* \param [in] samples 16-bit LPCM sample buffer
913913
* \param sampleCount number of 16-bit LPCM samples
914-
* \param outEncodedData buffer for the returned adpcm samples, buffer size should be equal to {(sampleCount + 1) / 2}
914+
* \param [out] outEncodedData buffer for the returned ADPCM samples, size should be {(sampleCount + 1) / 2}
915915
* \return Number of LPCM-16 samples
916916
*
917+
* \sa AXRmtGetSamples
917918
* \sa WPADSendStreamData
918919
*/
919920
uint32_t

include/sndcore2/rmt.h

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#pragma once
2+
3+
/**
4+
* \defgroup sndcore2_rmt Remote
5+
* \ingroup sndcore2
6+
*
7+
* @{
8+
*/
9+
10+
#ifdef __cplusplus
11+
extern "C" {
12+
#endif
13+
/**
14+
* Consume samples for all Wiimotes
15+
* \param count number of samples to consume
16+
* \return number of samples actually consumed
17+
*
18+
* \see AXRmtGetSamplesLeft
19+
* \see AXRmtGetSamples
20+
* \note
21+
* Reduces number of available samples
22+
*/
23+
uint32_t
24+
AXRmtAdvancePtr(uint32_t count);
25+
26+
/**
27+
* Gets 16-bit LPCM samples queued for a Wiimote
28+
* \param index WPAD channel of the device (0 - 3)
29+
* \param [out] samples 16-bit LPCM samples queued for specified device
30+
* \param sampleCount requested number of samples
31+
* \return actual number of 16-bit LPCM samples obtained
32+
*
33+
* \see WENCGetEncodeData
34+
* \see AXRmtGetSamplesLeft
35+
* \see AXRmtAdvancePtr
36+
* \see AXSetVoiceRmtOn
37+
* \note
38+
* Samples can be obtained while a voice with remote output enabled is playing
39+
*/
40+
uint32_t
41+
AXRmtGetSamples(uint32_t index, int16_t *samples, uint32_t sampleCount);
42+
43+
/**
44+
* Get number of samples currently available to Wiimotes
45+
* \return number of available samples
46+
*
47+
* \see AXRmtGetSamples
48+
* \see AXRmtAdvancePtr
49+
*/
50+
uint32_t
51+
AXRmtGetSamplesLeft();
52+
#ifdef __cplusplus
53+
}
54+
#endif
55+
56+
/** @} */

include/sndcore2/voice.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,16 @@ void
377377
AXSetVoiceVeDelta(AXVoice *voice,
378378
int16_t delta);
379379

380+
/**
381+
* Enable generating samples for Wiimotes
382+
* \param voice voice to generate samples from
383+
* \param on set TRUE to generate samples for Wiimotes
384+
*
385+
* \see AXRmtGetSamples
386+
*/
387+
void
388+
AXSetVoiceRmtOn(AXVoice *voice, uint16_t on);
389+
380390
#ifdef __cplusplus
381391
}
382392
#endif

0 commit comments

Comments
 (0)