From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Plugins/Input/in_linein/LineIn.cpp | 50 ++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Src/Plugins/Input/in_linein/LineIn.cpp (limited to 'Src/Plugins/Input/in_linein/LineIn.cpp') diff --git a/Src/Plugins/Input/in_linein/LineIn.cpp b/Src/Plugins/Input/in_linein/LineIn.cpp new file mode 100644 index 00000000..073761af --- /dev/null +++ b/Src/Plugins/Input/in_linein/LineIn.cpp @@ -0,0 +1,50 @@ +#include "LineIn.h" +#include "main.h" +#include "audio.h" +int LineIn::Play() +{ + paused = false; + posinms = 0; + line.is_seekable = 0; + line.SetInfo(44*4*8, 44, 2, 1); + line.SAVSAInit(0, 44100); + line.VSASetInfo(2, 44100); + { + short dta[576*2] = {0, }; + line.VSAAddPCMData(dta, 2, 16, 0); + line.SAAddPCMData(dta, 2, 16, 0); + } + if (audioInit(1)) + {} + return 0; +} + +void LineIn::Stop() +{ + audioQuit(); +} + +void LineIn::Pause() +{ + posinms = audioGetPos(); + audioPause(1); + paused = true; +} + +void LineIn::Unpause() +{ + audioPause(0); + paused = false; +} + +int LineIn::GetLength() +{ + return -1000; +} + +int LineIn::GetOutputTime() +{ + if (paused) + return posinms; + return audioGetPos(); +} -- cgit