yashsingh1/xdaforums huggingface dataset:
[Legend General] TheLamma:
Mike,

I've been following your progress for some time, and wow! I've been missing my HTC Sense ROM's radio app, but now it appears some day I will once again have the ability to listen to radio!!

I'm willing to donate a few bucks, but was wondering if you have a preference as to whether I clicked your donate button or waited for a paid app? If I ever see an app with your name on it, I'm buying it. Now, I'm somewhat broke, so I wouldn't be donating too much, but I'll donate at least as much as I would expect to pay for a marketplace app (maybe more, since half of their apps don't seem as technically intense).
[Legend General] mikereidis:
Great ! Please consider donating if, when and how much you can ! If I get enough donations, I will continue to release apps for free (But I have to admit I am seriously doubting that now). My promise is that any donators will get 1 or more licences if and when I create a paid app.

I'm happy to report I had one more donation today for $10 US. Total is now 3 donations and about $35. But I'm continuing to doubt the donation model. I'm strongly tempted to get a paid app in the marketplace ASAP.

I'd be interested in anyone's opinions on what an FM app might be worth. I have my own ideas for a low end and high end but don't want to taint opinions. Of course right now, there really aren't any competing apps for TI FM devices, but within the next few weeks even. I'd bet there will be: MIUI/CM for one.

Assume it comes with updates to new features for at least one year. Forcing payment for bug fixes or a few small features is one of the ways nasty companies try to extract as much as possible. I'd prefer not to go there but be open with what a license purchase means. The variable part of course is that nobody really knows what I'll come up with in a few weeks, or where it will be one year from now. That's biz I guess...
[Legend General] TheLamma:
If you're going to create a paid app, I'd recommend new / fancy features - if you release a basic one, it should be free, considering that CM is going to include your work in it, like you mentioned.

But for a paid one, you mentioned possibly connecting with the station's websites / online feeds? I love that idea. If the app could pull names of songs, at least ones that were recently played, I would love that. And although we're Canadian, Americans might like a feature to connect to Amazon MP3, in a similar way song tagging on the last gen ipod nanos worked. And, if you became awesome enough, it would be sweet if you could eventually get stations on board to make app friendly content. Just some thoughts. But whatever you do, I'm sure it'll be sweet!
[Legend General] mikereidis:
OK, thanks for the thoughts.

I'm beginning (again!) to think/realize that it may be a good idea to sell "micro-apps". Small, simple apps that perform one purpose and do it well. They can be sold cheaply, like 99 cents or say $3 at most, if they can be produced quickly, and require little or no ongoing software maintenance.

Cheap apps can be an impulse buy, and, even if there is an open source version somewhere (or several mediocre competing ones) the potential buyer may pay the price rather than spend time scouring the Internet for reviews etc.

Cheap apps can even be released on a "what you see is what you get" basis. I.E. the software will never have new features added. And possibly, no bug fixes either, but I'm not so sure that would go over well with users. But big co's, like MS ("Be evil") , do stuff like that regularly.

Small, simple, cheap apps can, I think, work well in a modular software environment, and there are good facilities for modularity in Android.

So, somebody might buy an FM app from me for cheap, or free (perhaps free is best), and it has very basic functionality. Just volume and tuning as a VERY minimal example. There can then be cheap add-ons that allow control of the fancier features. The way FM is done, the micro-apps don't even have to communicate with each other.

Re: Radio Stations:

I've been feeling that "We need an app" is the meeting room equivalent of "We need a website" from 10+ years ago. Execs/managers may not even have a good idea of what they want, all they know is that they "NEED an APP".

So, whatever sort of functionality might impress the decision makers at radio stations/networks, is what could be built into one or more extension components. That is sold to the radio stations/networks, not users.

From the station/network exec's point of view, they want greater ad revenue. Apps can show ads, and like google, the company might even be able to collect more information about their listeners. Contests (designed to attract listeners of course) are also "app-able", as are sending messages or requests to DJs, and even responses perhaps.

RDS data is cool, but Internet access could provide even more data. But even without, there ARE services now that can determine name etc of a song by analyzing the audio.
[Legend General] TheLamma:
My two cents here is that I do not want to have to buy half a dozen small apps if it was possible to have them in one app. I would love to have features, like the ones I mentioned previously, in a single app. We have HTC Legends with minimal internal memory, so the more one can stick in one single app, the better. However, if you had one of those 8gb internal memory phones, that would be a different story. And correct me if I'm wrong, but I personally wouldn't want to pay a buck for each individual feature.

If you could find something like this to sell to radio stations that would be easy and attractive to them, that would be awesome, especially if they were all in an app.

Apparently I hate too many apps...

But whatever you do, man, I'm sure it'll be great!! [=
[Legend General] mikereidis:
OK, thanks for your thoughts. Yes, as a user, I'm not really fond of having too many apps. App take up screen space, if nothing else, and require "management" particularly for updates and such.

Better to just have a few that are comprehensive. Case in point: the SysInfo app I have is much preferrable to a dozen special purpose apps with different interfaces.

But what I call "apps" could also be described as "components", that can be packaged together in a single APK.

For anyone wondering, I'm currently feverishly at work on the next iteration of my app. The API speed should be more than sufficient, the requirements for other packages should be gone, and the GUI should be at least somewhat better. This iteration may be available in the next 24 hours.

Woohoo ! Fourth donation received today for a total after fees of $43.42 Canadian. Enough to buy an inexpensive bluetooth headset perhaps. :)
[Legend General] TheLamma:
Components within a single APK is a-okay with me, as long as I'm not a paying a buck for each individual feature when the features number 50. [=
[Legend General] weslyr:
Thanks to everyone who made the FM radio on custom roms possible!

And yes, I'd pay for an app with scan support (scann all frequencies and put all found stations in a list).
[Legend General] TheLamma:
Okay, so I'm running CM7 B13, AND I LOVE IT. Mostly because of radio support. =D

However, the radio app is really basic, so I'll definitely be interested in whatever app you make. Just make sure you keep the audio through speaker feature, and whatever you do will be better, I have no doubts there. [=
[Legend General] mikereidis:
Wonderful ! :) I'm working on that now. Scanning is a bit tricky with issues like adjacent channel interference stopping the scan with really bad audio. But the algorithm I have now seems to be working well, and there are settings to define things like minimum signal level to stop scan, frequency jump amounts etc.

Would be nice also to have buttons to get web info like station/network website, wikipedia page etc. There's at least one search website I've tried that should allow automatic info retrieval like callsign, website, city, distance from your location etc.

Further, I'm imagining an option to anonymously share selected info about your listening habits. That info, and perhaps buttons to contest pages etc, just might be very valuable to stations/networks.

Might also be nice to integrate somehow with some streaming apps like TuneIn, and I should look at services like RadioTime.

I haven't tried the CM app yet, but will. I'm not sure if there are any plans to add features in the short term.

If the CM app is written without too much state info, it might be possible for CM and my app to coexist and run at the same time.

The great thing about ali ba's FM fixes to CM is that we won't need the workaround that requires superuser anymore. I have a setting that enables/disables the workaround. On stock or Blayo type ROMs, or on fixed CM the normal method of switching is supported. (Writing to an FM flag.)

Since the CM app is out, I'll delay the next iteration of my app until it truly seems ready, a few days to a week at most.
[Legend General] TheLamma:
Those features sound awesome.

And yes - please take your time! I no longer need to wait for just any radio app, the current one will hold me over, so I'm willing to wait.

I was also thinking that I loooved the live pause on my ipod nano 5th gen. Have you ever used that? It's awesome. It would let you pause and record up to 15 minutes (it would then start to delete time previous to that) into some sort of memory file. Kind of like a PVR, except it deleted it when you leave the app and can only record some much (this way it doesn't eat one's memory). I wouldn't think that would be too hard, but then again I don't work with radio. Lol.
[Legend General] totzkotz:
please don't forgett the fm transmitter!?

are there any news about it?

:D
[Legend General] gaga111:
would be so cool to stream audio to any other FM radio...
[Legend General] weslyr:
I think you're on to something. Make a list by scanning all frequencies and complement the list with station-frequencies that should be in your area: found in some radio-directory on the internet by location search (location gotten from GPS). ka-ching? :)
[Legend General] TheLamma:
I'm pretty sure it was said that it is illegal without proper registration or something and attached with hefty fines, unfortunately. =[
[Legend General] gaga111:
in germany its legal to a certain output level

u can also buy some cheapo fm transmitters here with 3.5mm jack... but that sucks, having to carry around an additional device that also needs batteries
[Legend General] totzkotz:
open source can't be illegal ^^ ... i'd like to see the source in cm git nothing more... so everybody is feel free to use it or not^^

furthermore there are a lot of fm transmitters to buy

btw. in germany it's legal ;) if the device has a CE-certificate (every device in the European Union has to have it) AND the device has a max. transmission strength of 50NW
[Legend General] TheLamma:
Well if it is legal some places and not others, I think it's best to not do it, since its being made for a worldwide audience.
[Legend General] mikereidis:
Yes, "PAR", or perhaps "PFMR" live pause feature would be another great feature to some.

I don't think many would use a PVR type function to schedule recordngs, but who knows...

I was reading about someone who has managed to record FM audio on an EVO4G, using the more or less standard Android APIs.

The requirement is to be able to output and save FM digital audio. Currently we are using analog, which is simpler and saves power. But I think digital connection is possible.
[Legend General] mikereidis:
I think there ARE ways for possession or distribution or use of certain types of software CAN be illegal in some countries. But I'm thinking more of DMCA stuff and encryption software. Regardless, dictators can make anything they want illegal.

Anyway, my current focus is on the receiver and creating a nice app for that. I've posted a transmitter script that anyone who wants can try, and modify etc, to see if they can transmit anything. It appeared to work software-wise for me, but no carrier could be detected. On some devices, especially those with known Tx capability (and antenna connection) it might work.

Back to legality, with my slim and ancient knowledge of US FCC and Canadian DOC rules:

- HTC did not get any certification for the Legend as a transmitter. So HTC certainly cannot release any transmitter code without getting into trouble, IMO. In fact, they may have disabled the TX antenna connection so we cant turn it on and make it work with software. It may also be that the firmware included on the phone does not support Tx, but that is fixable.

- Besides the fact there are commercial low power devices for sale, electronics experimenters have long been legally able to build and use low power (100 milliwatts or less?) transmitters at certain frequencies, including consumer AM and FM bands. So, in theory, an "experimenter" could legally use software to Tx, I think.

- Based on "experimenter" legality, I think it is possible for someone to sell Tx software, perhaps by claiming "for experimental use only". That has been done with other semi-legal hardware and software over the years, for things like decrypting satellite/cable TV. But DMCA changed some of that in the US. But do remember, DMCA is US only.

So, based on all this, I would have no problem releasing Tx code. I don't think any Canadian feds are gonna knock down my door for writing Tx code. If someone uses it for a purpose that is illegal in their country, that is their problem.

One thing I've read that just MIGHT be illegal, is certain types of misuse of RDS transmission. For example, someone might be able to "hijack" a frequency and make interesting messages pop up on people's radio's such as "Traffic mess ahead" or "Terrorist threat" or somesuch. Like yelling "Fire" in a theatre, LOL. But just hijacking a commercial frequency may be illegal by itself.
[Legend General] gaga111:
so the firmware is definately missing. as antenna to recieve the signal the headphones are used...

surely some smart doods can see if theres an antenna for the transmitter or not :S

im really interested in that transmitter thing
[Legend General] mikereidis:
No, the TI chips use different pins for Tx and Rx. So Rx can be active while Tx is grounded.

AFAIK, nobody has done a teardown of a Legend that reveals the answer. Best photos I've found are from the FCC filing: https://fjallfoss.fcc.gov/oetcf/eas...e=N&application_id=164493&fcc_id='NM8PB76100'
[Legend General] TheLamma:
Just to clarify, I'm not personally interested in a "radio PVR", per say, mostly the live pause. If I wanted to hijack music, I could find other sources. Although I suppose recording a certain piece of news (possibly in the live record cache) might be a decent feature.

Interesting view on the transmitter issue. If you can find a legal way to do it, even if it's only a loophole, I'm all for it.
[Legend General] mikereidis:
I'm hoping to release a nice app "in the next few days"

My post in the dev thread with some techy details:

http://xdaforums.com/showpost.php?p=12371022&postcount=119
[Legend General] TheLamma:
Totally stoked!!
[Legend General] TheLamma:
Great app as far as a first goes. I'll give you my first impression thoughts and bug reports (although I won't be able to provide anything in depth). The layout is decent, but the UI and colors definitely need tweaking. I'm also not sure what it has over the built in CM radio app at this point? (Besides potential for awesomeness =])

As far as bugs go... I'm currently listening to the radio........ and your app isnt on. I'm kinda confused. After I started it up (the Daemon option was making things weird - I know you said you recommended not touchy the floppy, but I saw the Daemon option in it...) and then left the app (by pressing home - so not actually closing it) I couldn't get it to open again. I got a couple unresponsive messages asking me to force quit it, and so I finally did. Now its still playing... I went into the app and it was asking me to power it on when I was going to try the speaker option. I would guess that this is your API still running, while the app is just an interface? I'll probably go and attempt to stop your API via system settings. I don't want radio all night. =p

But again, great start! I can't wait until things further develop. I'll keep you posted on anything I run into.

EDIT: crap! There's nothing to force stop in terms of the APK and API... and I even turned Bluetooth off. Even unplugging my headphones doesn't work... It resumes as soon as they're back in. I guess I'll reboot my phone.
[Legend General] TheLamma:
>Great, thanks for your report ! I've been wondering if interest has dissipated, perhaps in part due to the existence of the CM FM app.

I'm definitely still interested! The current CM app is VERY limited. Its basic to the max, if you as me. The only "features" it has are presets and speaker audio.

>Yes. Ideally the app would be skinnable and colors user selectable. If you or anyone wants to elaborate, I'm listening.

But I could just document the contents of the APK resource directories, and anyone with some knowledge of how that

works could change colors, button icons, etc. without needing to rebuild the app.

I don't have the know-how to edit that myself, but I'll definitely let you know of any ideas I have.

>so I'm now working to get a normal Java app running (possibly the CM app)...

I'm stoked to see what you can do without the app inventor limitations!

>I haven't seen the CM app running yet...My API can do seeks. Can the CM app ?

No it can't.

>That's not a bug, it's a feature. :) If, perchance, my app crashed, it can be restarted without affecting the currently

running tuning and audio stream. Also, my app can be stopped, perhaps to save memory or reduce CPU usage and thus

battery consumption. Currently, there's a bit of a click when restarting though.

Oh... well that would definitely be nice if it started up again properly and wasn't confused. [= And you mentioned possibly recording audio - I still think that would be awesome.

>If you can elaborate on the weirdnesses, that would be great. I can't think of any questions to ask right now to help trouble-shoot. As I'm looking to move to a real Java app, it may not be worthwhile to troubleshoot the current app much.

I can't think of anything off the top of my head, but ill definitely take notes if it happens again. And chances are it might help iron out early bugs in your java app, even though it's built much differently.

>OK, so the app must have hung...Sorry, :). As I've said, absolutely nothing needs to be running to hear FM audio. Unless you turn it off via the app, you can turn it off by disabling Android bluetooth, and possibly the WiFi

or anything else that uses the TI chip. In your case I'd bet turning WiFi off would have killed the audio.

It's also possible that hitting the volume controls would kill the audio. It does occasionally and that's a bug/limitation I have a very imperfect workaround for.

I'll keep those tips in mind. Nothing like not knowing how to stop audio when the app glitches. =p

>Also note that unlike the stock HTC app, my app does not require the headset plugged in. Some strong stations actually come in half decent without an antenna, around 4-7 RSSI.

Dang, now that's what I call innovation. ;]

I'm stoked that you've been able to work around those pre supposed bluetooth limitations - it really opens things up. It sounds like you only really need it - and even the app - to get it going and to possible change frequencies. And I remember reading a post only a few months back that this was nearly impossible! =D
[Legend General] mikereidis:
:) I've read MANY threads in the last few months that are like: "Can we get FM on our phone?"

There's often at least one guy who says it's impossible. And several who recommend a streaming app.

Looking at the CM app I see that there is code present for many features, such as seek/scan, RDS and even transmission. But very few features are supported at present by the specific "driver like" code for the TI and Broadcom chips. Who knows if/when anyone will add that support.

Here's a diff with the CM app: If I build an app I try to ensure it will be able to run on a wide variety of devices and firmwares. AFAICT, the CM app will only run on that specific version of the CM ROM/firmware.

I tried to load the APK from latest CM7 nightly onto my older CM7 and got "INSTALL_FAILED_OLDER_SDK" as I expected. The problem is that the app has many ties into the CM android framework, IMO much like all the dependencies the HTC app had on the HTC Sense UI framework/libs.

The CM app was derived from the MIUI app, which was derived from the CodeAurora app. All have those ties. I'd guess it was felt essential for all the deeper ties the original designer(s) wanted into the sound system and some others.

So at present these are not "normal" apps that can be built standalone without too much regard to the target firmware. You can't take the APK and install it on stock HTC or Blayo or any other ROM without the specific version of CM libs.

In my experience, such dependencies are to be avoided at all costs. If specific device customization is needed it should be compartmentalized into an adapter device driver or library or similar.

After a LOT of editing and fixing I managed to build both the CM and CodeAurora FM apps tonight, without really using the framework stuff. Neither really run though at present.

If one of these looks good, and worth the effort, I'll try to build a Java app based on it. I think CodeAurora may be the best base, as it's the original and is still under active maintenance for bug fixes etc. I would guess that the MIUI and CM spinoffs won't be kept as up to date as the original.

Ideally, I'll create some semi-automated process to de-framework the latest CodeAurora code. I think it would also be great to emulate the V4L FM API the CodeAurora app uses and thus be able to use any V4L device drivers that might be created, or even just to integrate (or "de-device driver") the TI or Nokia V4L drivers.
[Legend General] branch8:
I'm getting the attached error starting the app or trying to use it's functions. It doesn't fc.

Running CM7RC4.
[Legend General] mikereidis:
Hi branch8. Thanks for the screenshot. That error indicates the API is not installed. Try installing or reinstalling from either link below:

API:

https://docs.google.com/uc?id=0B7UP...I0MWUw&export=download&authkey=CNOA67IE&hl=en

http://cid-ce492c97f01d8fb0.office.live.com/self.aspx/Spirit FM Radio v1/SpiritFMApi.apk
[Legend General] TheLamma:
I tried using the app again... It keeps hanging and asking me to force quit, and the power button just counts to 20, but doesn't do anything (it didn't turn the bluetooth on for me, either, even though it said it would), and would tell me to power on whenever I clicked on something.

I was trying it without the headphones, though, because you mentioned they aren't required. Are they still necessary to start it up?

I was also wondering, is there a way to put an icon in the notification bar for quick access when audio is running? Both the HTC and CM apps do this.
[Legend General] mikereidis:
No, the headphones are completely optional.

OK, re: the bugs. Let's just forget about this App Inventor app and call it a prototype.

I have the CodeAurora Java FM app running now and "de-frameworked". It's just the UI thus far, but I think it shouldn't be too hard to add my existing FM control code.

I still haven't seen the CM app, but I'd guess it's not too different than CodeAurora. And there ARE the letters "FM" in the notification bar. I'm not sure if that's an icon or just text,

Hypothetically (famous last words), I may have something presentable/usable in the next 1-7 days.

I wonder if the recording function will work...

Woohoo ! :)