diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Input/in_linein/LineIn.cpp | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/Plugins/Input/in_linein/LineIn.cpp')
-rw-r--r-- | Src/Plugins/Input/in_linein/LineIn.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
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(); +} |