Recording functions re-enabled. Mostly there but need some help

Being able to record (and rebroadcast) is something that we’ve been needing for a long time and has stopped us from switching from Airtime to Libretime. I know a lot of others are keen to see this functionality.

I had a go at re-implementing these functions in Libretime over the holidays and made some progress - a lot of the code is still intact and I was able to get the recording part working well using Liquidsoap to record from the main source (which is always there and no sound card is required). The recordings are placed in the /app/recordings folder with all the metadata intact.

However, I really suck at Python and am floundering on the next step which is to get the recordings imported automatically as tracks (and rescheduled if required). It should be straightforward for someone who knows what they are doing… Again I think a lot of the code is still there.

Is there any chance someone could have a look at this? @joola @paddatrapper? My branch here:

I’d be more than happy to do testing and tidyups!

Hi @dmandan

Great that you try to tackle this one.

If you are ok with it, I think opening a Pull Request against the main branch will help us to give you feedback about your changes.

I check the code and I think some things must be cleaned up, and some things must be fully tested before going forward (e.g. passing json formatted object to the liquidsoap interactive vars, might require some escaping, also maybe we want to use a differetn method).

But I have other suggestions, but I’d rather continue this on Github.



Hi @joola

Thanks for your feedback - I’ll tidy up what I have working and make a PR in as you suggest,


@joola @paddatrapper ?
I made a PR - @joola had some feedback which I think I addressed. But nothing has happened since. I’m not sure what to do now. The recording is working in the PR and I’m sure it will be of value to many as is. I’d like to continue on and get the rebroadcasting working but if the recording functions aren’t going to be merged then there isn’t much point.

I appreciate that this is a labour of love and if nobody has had time to have a look at it yet that’s fine I’ll wait. If it is something else (e.g. crappy code that you don’t want to go near), that’s OK too. I can handle it. Just need to know. Thx.

Hey, I’m sorry I haven’t had a chance to review the PR yet. It definitely isn’t anything on you, I just have had approximately 0 spare time the last couple months. I will try prioritising reviewing it! Thank you for your contribution - it is very appreciated

That’s all good - appreciate the response and the huge amount of work you put into this! Happy to wait - I just wasn’t sure if there was something else I needed to do.

My main concern was the amount of legacy and untested code.

I don’t remember the implementation detail, but I had a few concerns there as well, where we might have better options on how we record things. Have a discussion on what our different options are would be really helpful.

That said, i’ll try to take a look when I have more time, no promises. And I might push some fixes myself to see if we can get it in a mergeable state.

Thanks for the work so far,