Page 1 of 1

Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Sun Aug 28, 2016 3:33 am
by MustardMan
Hi,
I have been wanting to run one of the many MP3 'jukebox' type players on Kolibri for many years now. But nothing has ever come up.

I used to have MPXplay set up on a DOS computer, but found the lack of support for almost everything extremely frustrating.
I chose DOS because:
- Exceptionally fast boot time. The computer takes longer doing BIOS checks than getting DOS up and running.
- Lack of bloat (related to the fast boot time, but also means I can use a small hard disk).
- AND THE BIGGEST PLUS : It can be turned off *without* notice. None of the shutdown procedure that 'doze and many nixs' require.

I really dislike DOS because:
- Long file name support is buggy no matter what LFN utility is used (I tried them all, and they all have bugs of one sort or other).
- No proper USB support (yes, USB drivers are available for DOS, but like everything in DOS they are not time-sliced, so access to USB audio files chops the audio output into short stuttering bursts).

I looked at minimalist linux distros (eg: puppy) but they are still very large (>40MB), take a long time to boot, and (puppy at least) requires a shutdown procedure. If not shutdown properly, it brings up a warning on next boot.

I considered using DOSbox on Kolibri so I could get USB, even if LFN was still broken. However, after trying it I determined I would need a stupidly fast PC to run an emulator without getting audio breakup... I want to run this thing on a fanless PC at preferably slower than 500MHz. I needed well over a GHz to get smooth audio, and that meant DC powered (eg: battery powered) PCs were out unless I wanted to spend some serious cash. And besides, I would still need to use DOS, which I will put up with, but really dislike.

So, I got the source code for a basic MP3 'jukebox' style player written in assembler (MPR). I also considered porting an earlier MPXplay to Kolibri. MPXplay has now moved to 'doze, which in my opinion *reduces* its' appeal. But in the years I've had to do this, I've never had the time to devote to a port, and realistically I don't have the skills either (I've done lots of coding for micro-controllers, but none for mainstream computers).

I would like to ask if anyone else has an interest in doing a port of either these players (MPXplay is in C, MPR is in TASM - I think), and if so, I am willing to contribute financially for someone with better programming skills than me to do the work.

I like the look of Kolibri, and I like what it can do (it supports several audio cards - much more than DOS, supports multiple screen resolutions, USB, a few file systems other than FAT, and much more). MPXplay and MPR both have their own advantages & disadvantages. MPX has a better interface and supports more audio formats. MPR is really small and already in assembler (which would appeal to many 'hard' Kolibri fans).

Please comment on this thread if you are like me and have an interest, and if you could/could not/would not contribute towards someone to do the work, or comment if you are interested in the actual doing and we'll move detailed discussion to PM.

Cheers,
MM.

Re: Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Sun Aug 28, 2016 6:56 pm
by hidnplayr
What features exactly are you looking for that ac97snd in KolibriOS does not currently support?

Re: Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Sun Aug 28, 2016 8:49 pm
by baggacfreak
You could use dosbox within kolibri os. Check out my videos on youtube with dosbox and demos!

Re: Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Mon Aug 29, 2016 12:58 am
by MustardMan
@hidnplayr : I must admit I have not looked at ac97snd for quite some time. Perhaps it can do this (as described below) already, or with little modification?
I wanted the ability for the machine (computer) to boot directly into the 'play' mode from power on where random tracks from the collection would play. While in that mode a user could select tracks from within the collection and these would go into a 'play' list which would them play in the order they were selected. The user could choose new tracks to add from the 'master' list, or delete/move the play order in the 'play' list. Once the play list was finished, the random playing of tracks from the master list would resume. Of course the list/s would display on screen so the user could see what was playing and what was coming up. Mind you, MPXplay does not do this exact thing (master list and play list), but almost. It also has some other really cool other features. Unlike 'nix and 'doze though, I can turn the power off without notice and the thing does not care.


@baggacfreak : I have tried DOSbox (and I'm really glad DOSbox has been implemented on KolibriOS), but I needed a very fast PC to get audio that is not choppy. My intent is to use a DC powered computer (12 volts) without a fan. Yes, I could buy an inverter and run a fast computer, but that would defeat my goal of small, low-powered, and above all, silent. The fastest DC fanless PC I've got my hands on so far is about 1 GHz. Yes, I can get faster, but the dollars start going up fast. And as I mentioned in my original post, using DOSbox I *still* have to put up with all the limitations of DOS.

Thanks for the replies!
MM.

Re: Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Mon Aug 29, 2016 5:19 am
by hidnplayr
AC97snd has a playlist integration, but no 'music library' which would really enhance usability IMHO.
Nonetheless, you should check it out first:)

Re: Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Mon Aug 29, 2016 3:08 pm
by baggacfreak
So something like a raspberry pi but with x86? Isn't there one new hardware out which comes even with win10 based on netbook x86 processor? http://www.lattepanda.com/ is kolibri os running on such I thing? I use kolibrios in a vm so indeed cpu power is no issue.

Re: Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Mon Aug 29, 2016 3:28 pm
by MustardMan
What an interesting diversion... a RasPI running Windows with a VM running KolibriOS with DOSbox running MS-DOS7... How fast do you think the final layer would run? Or alternately, how fast would the PI need to run to get an audio player to run at the bottom level?

On a serious side though, I believe the PI is ARM based (is it? I'm not a PI expert), and KolibriOS does not have an ARM port. Sadly. But I've read (probably on this very forum) that doing such a port would be *really* heavy.

Re: Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Mon Aug 29, 2016 9:19 pm
by baggacfreak
Oh that was a misunderstanding. Kolibri OS on raspberry pi is a nogo, but perhaps the latte panda board is a option as it is x86 intel based.

Re: Wanting to port an MP3 jukebox (seeking contract programmer?)

Posted: Tue Aug 30, 2016 5:36 am
by MustardMan
Documentation on most things KolibriOS is hard to find (the forum seems the most helpful), and often non-existent, but after following the suggestion by hidnplayr to check out AC97snd, I got stuck into a web search. Regrettably most of the pages returned were in Russian, and google translate does not do a very good job. But I did find a few interesting pages about sound in KolibriOS.

At first I found a page that talked about different audio applications... http://developers-club.com/posts/251371/
This page mentions (in the 'minuses') of AC97snd... it "often" crashing. Is this true?
This page then talked about an application called "Pixie".

I then tried to find out some more information about "Pixie", and came across this page... https://translate.google.com.au/transla ... rev=search

It would appear than rather than trying to port either MPXplay or MPR, 'Pixie' is what could/should be used as a base (or starting point) for developing an interface to an audio engine. I agree with hidnplayr that using a driver/codec already written is the way to go, and just make/modify/enhance a suitable user interface.

Although the 'Pixie' thread is a little old, I'll try contacting the 'Pixie' author using that thread. I am still interested in contributing financially to such a project.

As always, the communities (your) comments are very welcome.

Cheers,
MM