stsaz / fmedia

fast audio player/recorder/converter
BSD 2-Clause "Simplified" License
216 stars 21 forks source link

Minimal windows build? #19

Closed antithing closed 5 years ago

antithing commented 5 years ago

Hi! and thanks for making this code available. I would like to build it on windows, and i only need the functionality to read audio from a line-in port. (o convert to LTC timecode, using third party code).

no UI needed, no playback needed, literally just connect to sound card and read the audio into buffer.

Would it be possible to manually build on windows for just this subset of features?

Thanks!

stsaz commented 5 years ago

Hi! It's easy to make this kind of configuration - just delete all unnecessary .dll files from mod/ directory. You can leave only core.dll, wav.dll, wasapi.dll and of course fmedia.exe. Note that soxr.dll is required for audio sample rate conversion.

If you want to build by yourself - you may build everything and then delete dll files, or you may remove unneeded modules from Makefile.

antithing commented 5 years ago

Thanks! Where is the code for these functions?

stsaz commented 5 years ago

Makefile file uses makerules which is in the root directory - you just remove modules you don't want to be built from the all: target, or more explicitly, remove them from $(BINS) variable.

antithing commented 5 years ago

Sorry, to be clear:

I need to build from source, on windows. I only need to build the code that reads audio from a line-in port into a buffer.

What classes is this code in?

I have tried using just the core code, but see a LOT of errors.

(As i can't use the makefile on windows, i need to manually add the code to a project).

Thanks again!

FYI, the reason i am trying to do this in this way is the fmedia is the ONLY software that i have found that will record a line-in signal in the way that i need!

stsaz commented 5 years ago

fmedia has a very flexible code architecture - all funcionality is loaded dynamically from .dll modules. There is nothing in the code that you need to modify. You just need to delete modules you don't like and also you can remove them from fmedia.conf file - if you do this, fmedia's core won't load anything you don't want it to load.