lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi all,

I implemented a 2 process vinyl to file converter to convert all my 45 rpm 
records. The reason for 2 processes is I want to input record metadata while 
the record is playing, converted to wav and then flac and ogg. Having 
digitization wait for my input would almost double the required time.

Each process must show up on the screen (CLI). The metadata input process 
needs to be visible in order to input the data. The digitization process needs 
to be visible so I can press Ctrl+C at the end of the song (no reliable way to 
detect the song's end).

The shellscript version works like this:

METADATA INPUT LOOP PROCESS

until user done
	Get metadata from user
	Write metadata to file
	Push the filename on persistent queue

DIGITIZER/CONVERTER LOOP PROCESS
until queue empty
	Shift the filename
	Read the metadata file
	Digitize the record
	Normalize the file
	Create flac, mp3 and or ogg

Notice that the digitizer process polls the queue. I'd like the input process 
notify it every time a new file is pushed on the queue, but it was tough using 
shellscripts.

I'm thinking of redoing this in Lua. Can coroutines be run in two different 
xterms? Can coroutines signal each other? Would you even recommend coroutines? 
Does Lua have facilities to send Linux signals? Might they communicate via 
sockets? Any other words of wisdom?

Thanks

SteveT

Steve Litt
Recession Relief Package
http://www.recession-relief.US
Twitter: http://www.twitter.com/stevelitt