Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#348617 - 30/10/2011 19:43 Andriod APP for Senior Capstone
sirkingchase
new poster

Registered: 26/07/2011
Posts: 11
Loc: MS,US
For my Senior Capstone in college for Computer Science I am thinking about designing and developing an application for Android or iPhone that will read and write to the empeg database. Rearrange songs, write new songs, etc.

Think about it. Have a router in the car and you want to add a song to the EMPEG while in the car!

I have tried to compile the FIB for linux commandline tool on the iphone and it lacks a bunch of dependencies that I can not get around. I think that jEmplode is open source so maybe I can look into how to start this.

I have no experience with developing apps for andriod,I have only coded for the University, and my the only language I have every coded in is C++. I have about 8 months to develop this.

I really really want to do this for my Senior Project please tell me if I am in over my head.

Top
#348619 - 30/10/2011 21:00 Re: Andriod APP for Senior Capstone [Re: sirkingchase]
tanstaafl.
carpal tunnel

Registered: 08/07/1999
Posts: 5549
Loc: Ajijic, Mexico
Originally Posted By: sirkingchase
...please tell me if I am in over my head.
Below is a quote that Rob Voisy, one of the original developers on the empeg team, made here on the bbs about 5 years ago:

I now have a pretty good idea how much work it would be to get to a similar level of functionality - about four man years, without tuner functionality but with some other things not in empeg.

That is with a team of experienced, professional developers. Over your head? You decide.

tanstaafl.
_________________________
"There Ain't No Such Thing As A Free Lunch"

Top
#348620 - 30/10/2011 22:10 Re: Andriod APP for Senior Capstone [Re: tanstaafl.]
drakino
carpal tunnel

Registered: 08/06/1999
Posts: 7868
I think what sirkingchase is talking about is more in line with what Palantir was doing, (http://cushman.net/2006/11/06/palantir/) along with some emplode like feature to add new songs. To me, that seems reasonable.

The initial steps to adding more music would be to look into the fid system, and just get a new song onto the player without worrying about the database. The player will rebuild it's own database if needed. Once you get the basics working, then you could try tackling the database part on the Android device and send it over. I imagine a more modern ARM processor would be able to rebuild the DB much quicker then the one in the empeg.

Top
#348621 - 30/10/2011 22:17 Re: Andriod APP for Senior Capstone [Re: drakino]
Shonky
pooh-bah

Registered: 12/01/2002
Posts: 2009
Loc: Brisbane, Australia
Yeah he's/she's not talking about rewriting the player application.

Essentially (j)emplode for Android...


Edited by Shonky (30/10/2011 22:20)
_________________________
Christian
#40104192 120Gb (no longer in my E36 M3, won't fit the E46 M3)

Top
#348622 - 30/10/2011 23:39 Re: Andriod APP for Senior Capstone [Re: Shonky]
Robotic
pooh-bah

Registered: 06/04/2005
Posts: 2026
Loc: Seattle transplant
With a router in the car one could access the old empeg-lite web page through the phone browser.
Can't move music around, but player access via the 'droid might be nice for a trunk/boot-mounted empeg.
If my VFD ever goes out I might try this.

More power to the OP, though! Sounds like fun!
_________________________
10101311 (20GB- backup empeg)
10101466 (2x60GB, Eutronix/GreenLights Blue) (Stolen!)

Top
#348626 - 31/10/2011 00:26 Re: Andriod APP for Senior Capstone [Re: sirkingchase]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14496
Loc: Canada
Originally Posted By: sirkingchase
I really really want to do this for my Senior Project please tell me if I am in over my head.

You should be fine, so long as you get right into it Now, rather than 6-months from now. smile

The "database" has a pretty simple format, documented elsewhere (?) on this BBS. It's pretty easy to interface to even without any funky libraries. Barely a step above CSV format.

Cheers

Top
#348630 - 31/10/2011 01:29 Re: Andriod APP for Senior Capstone [Re: mlord]
JBjorgen
carpal tunnel

Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
Sounds like a cool project. Just define your scope in advance and avoid "feature creep."

A good example of this would be Hijack...er...nevermind...
_________________________
~ John

Top
#348651 - 31/10/2011 14:05 Re: Andriod APP for Senior Capstone [Re: tanstaafl.]
Roger
carpal tunnel

Registered: 18/01/2000
Posts: 5683
Loc: London, UK
Originally Posted By: tanstaafl.
Below is a quote that Rob Voisey


Rob was talking about the whole empeg code base. To replace emplode would take about (finger in the air here) somewhere between 2 to 4 man-months, depending on functionality.

If you decide to take this on, I'm sure we'd be happy to help.
_________________________
-- roger

Top
#348653 - 31/10/2011 14:14 Re: Andriod APP for Senior Capstone [Re: mlord]
Roger
carpal tunnel

Registered: 18/01/2000
Posts: 5683
Loc: London, UK
Originally Posted By: mlord
The "database" has a pretty simple format, documented elsewhere (?) on this BBS.


It's documented on my website, but my Internet connection's been an absolute dog over the last month or so, so it's not up right now.
_________________________
-- roger

Top
#348657 - 31/10/2011 15:56 Re: Andriod APP for Senior Capstone [Re: mlord]
peter
carpal tunnel

Registered: 13/07/2000
Posts: 4180
Loc: Cambridge, England
Originally Posted By: mlord
The "database" has a pretty simple format, documented elsewhere (?) on this BBS. It's pretty easy to interface to even without any funky libraries. Barely a step above CSV format.

Indeed. Among the various implementations of things that talk to Empegs and retrieve database information, there's, well, mine, in which the code you're looking for is in libempeg (the low-level protocol) and libdbempeg (parsing the database). A simple command-line synchroniser is in choraleutil/protocoltool.cpp.

Being C++, this could in theory all be run on Iphone or on Android (using, in the latter case, the NDK to talk to it from Java). The dependencies could be hard work, but the core code should be portable enough to be of assistance.

Peter

Top
#348659 - 31/10/2011 18:22 Re: Andriod APP for Senior Capstone [Re: sirkingchase]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
What exactly is this app going to do? "Adding songs" can currently be accomplished with mp3tofid, which is what I've been using for several years to sync my music to my car. It already rewrites the database when it syncs. It doesn't have any UI for playlist management or adding/deleting songs, so maybe that would be novel, but mp3tofid has the advantage of running on the server where your music library is, whereas your phone probably doesn't have your whole library on it.

If I were in your position, I'd think strongly about starting this project off as a simple player UI app -- something that would show the current track details, maybe pull down album covert art from a web service, let you navigate tracks, use the Tweak/Hate functions, etc. If you get that done well before your deadline, the next thing I'd add would be on-the-fly playlist management, a la Palantir. The very last thing I would tackle would be anything that tries to mangle the database, as I don't really see what the phone is accomplishing unless it's somehow connected to your full music library.

Actually, if you *did* have access to your whole music library via, say, Google Music, *that* would be interesting... I don't think Google Music has much of an open API right now, but it might be easy to reverse-engineer at least the "pinned" tracks that are stored on your phone's memory.
_________________________
- Tony C
my empeg stuff

Top
#348734 - 02/11/2011 15:00 Re: Andriod APP for Senior Capstone [Re: tonyc]
frog51
pooh-bah

Registered: 09/08/2000
Posts: 2091
Loc: Edinburgh, Scotland
Originally Posted By: tonyc
Actually, if you *did* have access to your whole music library via, say, Google Music, *that* would be interesting... I don't think Google Music has much of an open API right now, but it might be easy to reverse-engineer at least the "pinned" tracks that are stored on your phone's memory.


Now that would be cool!
_________________________
Rory
MkIIa, blue lit buttons, memory upgrade, 1Tb in Subaru Forester STi
MkII, 240Gb in Mark Lord dock
MkII, 80Gb SSD in dock

Top
#348736 - 02/11/2011 16:44 Re: Andriod APP for Senior Capstone [Re: frog51]
siberia37
old hand

Registered: 09/01/2002
Posts: 702
Loc: Tacoma,WA
Along the Google Music lines but different you could make the Empeg the "main" source of your music library. Have your Android App connect to it, stream music from it and make music available offline by downloading it from the Empeg. Like Google Music but without Google- the Empeg would replace Google Servers. This could all basically be done with the Empeg web frontend. It would probably be better done by making a dedicated server app that would run on the Empeg and respond to request from the Android device directly and with less overhead.

Top
#348820 - 03/11/2011 22:51 Re: Andriod APP for Senior Capstone [Re: siberia37]
sirkingchase
new poster

Registered: 26/07/2011
Posts: 11
Loc: MS,US
How do I read and write from the database? Any documentation?

The main purpose for this app is simply to add and easily rearrange songs because there is no way to do that right now while on the go. Other functionality could be implemented later but my main goal is to read and write to the database

I talked to the guys at school about it and they all agree that it would be really cool however it is probably to much for us. Although, we are some of the best programmers the University has we have never had a CS job and we really dont want to get into something we dont think we can finish.

The class is called Software Engineering 2,half the class is devoted to designing and planning then the last 6 weeks is the actual developing.

Either way I want to do this for myself,for the community, and for the experience. It would be really bad ass.

Top
#348822 - 03/11/2011 23:05 Re: Andriod APP for Senior Capstone [Re: drakino]
sirkingchase
new poster

Registered: 26/07/2011
Posts: 11
Loc: MS,US
drakino you nailed it. That palm app interface is what I was envisioning.

How does it get the database to the palm? Does it really send the empeg songs through the IR? Im reading about it right now from the site. Gonna try it on a palm emulator.

Top
#348823 - 03/11/2011 23:16 Re: Andriod APP for Senior Capstone [Re: sirkingchase]
drakino
carpal tunnel

Registered: 08/06/1999
Posts: 7868
Palantir gets the database via a plugin to jEmplode, the 3rd party java program that is used to sync songs to the empeg. The plugin turned the database into a Palm specific file that was then synced via the Palm software. IRDA was used to send playlists and other commands from the Palm to software listening on the empeg, that in turn controlled the player software.

Since modern devices lack IRDA, your approach of using the network with a router in the car is the right way to go now. Or, alternatively, a Bluetooth to Serial adaptor on the back of the empeg, though this limits bandwidth to 115kbit, vs the possible 10mbit via the router.

Top
#348824 - 03/11/2011 23:51 Re: Andriod APP for Senior Capstone [Re: sirkingchase]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
Take a look at mp3tofid.c inside the mp3tofid distribution -- inside the savefids() function, there's code for writing the v3 database format, as well as the playlists and tags files.
_________________________
- Tony C
my empeg stuff

Top