lifning
|
74f8a948e5
|
less underrun
|
2021-12-18 00:31:33 -08:00 |
lifning
|
08e69a3062
|
again with timeout
|
2021-12-17 23:52:15 -08:00 |
lifning
|
085445b35d
|
again with feeling
|
2021-12-17 23:41:07 -08:00 |
lifning
|
5ad81c3c5e
|
we bringing back threaded audio components babey
|
2021-12-17 02:47:08 -08:00 |
lifning
|
df21f69128
|
attempt to use OS's audio resampling first
|
2021-12-14 03:15:56 -08:00 |
lifning
|
e308af9a2a
|
better keyboard mappings
|
2021-12-14 03:15:41 -08:00 |
lifning
|
3a43b37de1
|
we don't actually use this any more
|
2021-12-14 03:15:23 -08:00 |
lifning
|
768dfb75bb
|
simple core info querying
|
2021-12-14 03:15:00 -08:00 |
lifning
|
b2c2c93537
|
experimental dynamic rate control feature in audio component (TBD: merge into SimpleSdl2Audio as an option)
|
2021-12-11 03:10:39 -08:00 |
lifning
|
72366248d7
|
fix dupe frames
|
2021-12-11 01:55:08 -08:00 |
lifning
|
709a23307a
|
fix a couple minor sdl a/v bugs
|
2021-12-11 01:38:48 -08:00 |
lifning
|
b8cc606bd5
|
bit more env var stuff
|
2021-12-11 01:38:34 -08:00 |
lifning
|
2259265107
|
first pass at env variable component
|
2021-12-10 18:57:25 -08:00 |
lifning
|
9de6008ef5
|
factor out frame-to-surface code in SDL, use it to convert pixel format before upscaling in frame-to-canvas
|
2021-12-10 18:57:00 -08:00 |
lifning
|
82217ff117
|
ffmpeg not mandatory
|
2021-12-10 15:53:02 -08:00 |
lifning
|
2dd8556fe2
|
fullscreen option, add keyboard component
|
2021-12-10 02:36:13 -08:00 |
lifning
|
8efff459c4
|
integer scaling
|
2021-12-10 00:53:07 -08:00 |
lifning
|
e7f6c58d0a
|
minor fixes
|
2021-12-10 00:08:01 -08:00 |
lifning
|
904b7c2a41
|
fix audio in gpSP (sample rate too high after fixed-point conversion)
|
2021-12-09 23:40:38 -08:00 |
lifning
|
d74f625c62
|
add more stderr logging stuff
|
2021-12-09 23:40:19 -08:00 |
lif
|
56729dac15
|
WIP local save file component
|
2021-12-07 18:14:00 -08:00 |
lif
|
ed3b78eaa1
|
resizable window
|
2021-12-07 18:10:25 -08:00 |
lifning
|
f5b86f9f8e
|
static-linked libretro core support
|
2021-11-11 16:09:14 -08:00 |
lifning
|
464e670be4
|
variable storage component
|
2021-11-11 02:10:31 -08:00 |
lifning
|
2071ee21fd
|
add stateful input component for programmatic gamepad stuff
|
2021-11-10 00:31:19 -08:00 |
lifning
|
e02a183670
|
missed a spot
|
2021-11-09 21:58:51 -08:00 |
lifning
|
82b9cba976
|
threads!
|
2021-11-09 21:36:55 -08:00 |
lifning
|
aa33f331f0
|
actually load multiple separate instances of the core (OS will deduplicate by path)
|
2021-11-08 22:34:53 -08:00 |
lifning
|
53642557a0
|
refactor, first pass of supporting multiple simultaneous cores
|
2021-11-08 21:45:57 -08:00 |
lifning
|
fd2eb03c07
|
round out a bit more of camera support
|
2021-11-04 22:54:27 -07:00 |
lifning
|
bbee2b95dd
|
Merge branch 'liffy/camera' into liffy/sdl2surf
|
2021-11-04 16:27:18 -07:00 |
lifning
|
674adecd55
|
minor refactor
|
2021-11-04 16:23:23 -07:00 |
lifning
|
56e070a30d
|
add some QOL stuff to the SDL2 Simple video components
|
2021-11-04 15:27:13 -07:00 |
lifning
|
e95e13df1e
|
add checks for sequencing, fix audio sync in paraLLEl-n64
|
2021-11-04 11:23:02 -07:00 |
lifning
|
41e3352927
|
more fixes for invalid calls to get_system_av_info
|
2021-11-03 18:31:40 -07:00 |
lifning
|
344d88f26b
|
fix incorrect early uses of get_system_av_info (pre-load_game it is not valid)
|
2021-11-03 18:11:14 -07:00 |
lifning
|
a42aa936fe
|
replace SimpleSdl2AudioComponent with the AudioCVT-based resampler
|
2021-11-03 17:16:38 -07:00 |
lifning
|
f60b2c579c
|
WIP: refactor ratecontrol audio component to use SDL AudioQueue, which might just be better for the Simple audio component too
|
2021-11-03 13:28:37 -07:00 |
lifning
|
5451aa735d
|
WIP still awful but builds and runs
|
2021-11-03 02:12:38 -07:00 |
lifning
|
c505428895
|
WIP messier shit figuring out audio format changing that the sdl2 crate generics currently make impossible
|
2021-11-02 23:43:48 -07:00 |
lifning
|
a1e28e9838
|
WIP figuring out DRC audio component impl
|
2021-11-02 20:24:36 -07:00 |
lifning
|
11e014b9ed
|
refactor stdlib components into submods
|
2021-11-02 17:49:49 -07:00 |
lifning
|
c94400f1b6
|
more doc revisions
|
2021-11-02 00:32:53 -07:00 |
lifning
|
725a5d8f03
|
more struct docs
|
2021-11-01 21:14:25 -07:00 |
lifning
|
ebea5ffd22
|
video and audio callback API change:
fn video_refresh(&mut self, data: &[u8], width: c_uint, height: c_uint, pitch: c_uint);
fn video_refresh_dupe(&mut self, width: c_uint, height: c_uint, pitch: c_uint);
fn video_refresh_hw(&mut self, width: c_uint, height: c_uint);
fn audio_sample(&mut self, left: i16, right: i16);
fn audio_sample_batch(&mut self, stereo_pcm: &[i16]) -> usize;
have been replaced with
fn video_refresh(&mut self, frame: &VideoFrame);
fn audio_samples(&mut self, stereo_pcm: &[i16]) -> usize;
where VideoFrame is
pub enum VideoFrame<'a> {
XRGB1555 { data: &'a [u16], width: c_uint, height: c_uint, pitch_u16: usize },
RGB565 { data: &'a [u16], width: c_uint, height: c_uint, pitch_u16: usize },
XRGB8888 { data: &'a [u32], width: c_uint, height: c_uint, pitch_u32: usize },
Duplicate { width: c_uint, height: c_uint, pitch_u8: usize, },
HardwareRender { width: c_uint, height: c_uint, },
}
use `pub fn VideoFrame::data_pitch_as_bytes(&self) -> Option<(&'a [u8], usize)>` for things that need to access the framebuffer data as a byte array rather than a pixel array.
|
2021-11-01 00:56:23 -07:00 |
lifning
|
9d3e74b7cb
|
make do_sleep pub & add a "stuff the buffer with silence" method useful when you wish to pause an interactive emulator
|
2021-10-19 00:07:34 -07:00 |
lifning
|
1b311837d4
|
that's not what that word means
|
2021-10-17 22:13:20 -07:00 |
lifning
|
2ff0444854
|
get rid of "component id" business
|
2021-10-17 22:08:49 -07:00 |
lifning
|
f1a9f7dd23
|
add a non-mut version, component_ref
|
2021-10-17 21:56:53 -07:00 |
lifning
|
268f1b4ff8
|
add scary-looking-but-safe dynamic downcast for a component_mut accessor
|
2021-10-17 21:46:12 -07:00 |