yashsingh1/xdaforums huggingface dataset:
[Spirit FM] Rajaasim1980:
Mate i understand your concerns and to be honest we all use pirated softwate at one time or others. I mean look at the popularity of these torrents sites where people are downloading everything from windows to games/books/movies/softwares etc

Dont know if you ever used torrents but i will not lie and i will admit that i download most of the stuffs from torrent sites and i did not even know that some of the stuffs which i downloaded from these torrents is free or paid in playstore but at the same time people including myself donated to developers even when their stuffs were free because you like their custom ROM and apps which developers provide you free of charge with no ads. May be you were doing the same if you were user and i would be feeling the same if i was developer. I uninstalled you spirit fm unlocked got from torrents and i will be using free version and hope you will not be hurt and feel annoyed now and thanks for all your efforts
[Spirit FM] ahmedalsiyabi:
good work

==========good work==========
[Spirit FM] tjsooley:
Thanks works fine on htc one with newest PAC rom
[Spirit FM] makbil:
As far as I know, there are only 3 HTC One variants that have distinct hw differences. The Sprint version and the other two, a UL version that supports LTE and a U version that doesn't have LTE. Spirit works fine on U and UL, my guess is that the Google One is also a UL.
[Spirit FM] brenopapito:
I sent you a PM.

:good:
[Spirit FM] emulouco:
Good Work!!! Thank you for this software...

I tested it on my Samsung Galaxy Y S5367 TV and it worked fine!

Only the volume I can not adjust. (Version 2013_06_29)

But what interests me is to be able to record from FM!

There is no record button!

I click TEST, then press RECORD and only appears some command options ...

I click Start then stop ...

Check in sdcard \ music and has a file there, but he is always 0kb! :(

How can I test before buying, if recording works on my device?

Sorry by english...
[Spirit FM] mikereidis:
:)

I understand. I've used torrents, and I have few sympathies for Hollywood, RIAA, MPAA, etc.

And I understand many people can't afford the price I've put on Spirit, and that I'm losing nothing if those people pirate.

I draw the line where it impacts me, and that's providing help for Unlocked specific features to non-customers using a pirated copy.

I'm happy to have converted a few pirates into customers, so try to restrain myself from alienating anyone.

I would handle Spirit FM as an open source donation project, but I'm convinced "commercial" for Unlocked is the only viable way to keep myself employed full time at this. Been wondering about Kickstarter though... :)
[Spirit FM] mikereidis:
For volume control, try enabling Menu-> Settings-> Debug-> Silent Loop and restart. If no audio, disable it again.

That phone has a TV function ?

Recording can't be supported on that phone.

I send a copy of Unlocked to anyone who asks, but recording can't work.
[Spirit FM] BlueMoon2510:
Thank you for your fast answer. So, is there any difference between the paid version from the play store and the free (test) version from here: http://d-h.st/unU ?

I cannot image where my error is. Spirit has SU (so says CWM SU) and with both images (bigxie and the second I linked) Spirit is not running on my device. I cannot tune any stations...

Very sad...
[Spirit FM] mikereidis:
:)

I've been successfully testing a "shim" library that allows FM with Bluetooth turned on, on AOSP based ROMs with the newer Broadcom Bluedroid BT stack. Doesn't work on the Google Play edition though, which uses the proprietary stack.

I've only tested with CM on the HTC One, but it's likely to work on many Broadcom based phones with AOSP based Android 4.2+.

If anyone is really interested to try, email me mikereidis@gmail.com .

It currently requires opening up the /system partition as read-write and swapping 2 library files, so needs some technical skills at this time.

I'll try to post something publicly within the next week that is more automatic.
[Spirit FM] abun880007:
would it work with s3 i9300 ?
[Spirit FM] mikereidis:
It's not needed on GS3 GT-I9300. It's useful mostly on Broadcom FM/combo chip based devices with AOSP Android 4.2. If Spirit turns BT off when it starts, and you want BT to stay on, then it's needed.

Spirit has always worked on 9300 whether Bluetooth is on or not, because it uses a dedicated FM chip instead of using the FM in the FM/BT/WiFi combo chip.

GT-I9300 can do FM over Bluetooth with Spirit Unlocked if the phone is rooted.
[Spirit FM] emulouco:
It's bad ... :crying:

If only I could record audio from headset ...

Had a program that did it, but he also recorded the audio from the environment and not just the headset ...

This is Samsung with digital TV.

Thanks for your replies!

I do not know if the FmRadio.Apk the Samsung S2, works on my Galaxy Y.

A new version of the S2 FMRadio have the option to record.

And the software is almost identical to the Galaxy Y. Just do not know if they have the same chip FM!
[Spirit FM] nicesoni_ash:
Hi Mike,

Does you app implement the standard android headset commands? I used this app with some headet controller apps but it didn't handle those commands well, I contacted that developer and he asked me to ask younin case your app doesn't follow those commands.
[Spirit FM] BlueMoon2510:
Mike, thanks again for your very fast personal support via email! Now I can confim Spirit is running fine on my German TMobile m7ul.
[Spirit FM] mikereidis:
No, both the FM chip and the audio are very different.
[Spirit FM] mikereidis:
The Unlocked version supports Pause/Play, Next & Previous on the lock-screen, on some music widgets, on wired headsets and I've even seen it work on my Sony MW1 BT A2DP headset at one point.

But one person with I think a few Sony devices has reported a 3rd party app that deals with (remapping ?) these buttons doesn't work.

AFAIK, these functions work fine without 3rd party apps in use.

I will look into this further ; I'm not sure exactly what those 3rd party apps do and why Spirit won't work with them.
[Spirit FM] mikereidis:
Google Play is not letting you re-install because I disabled it last night. Someone posted that your Korean version uses a very different FM (& TV ?) chip that I've never even heard of before, so there is no way I can support it.

EMail me and I can cancel your order.

I think it's likely Spirit is trying to use the Broadcom FM/combo chip now that it's rooted. RSSI signal strength at top left is likely around 0 or negative, even when tuned and with a wired headset plugged in.

Because your original FM app stopped working suddenly, I think the FM chip or it's connections are likely to be broken.
[Spirit FM] sachinaik:
Hello,

Can you pls support LG Optimus G Pro ?

The SOC is same as HTC One. May be that will make it easy to support GPro ?

Sent from my LG Optimus G Pro E-988
[Spirit FM] mikereidis:
Maybe it already works.

Have you tried ?
[Spirit FM] nicesoni_ash:
They offer to map commands like changing volume if u keep pressing left or right button but will change track if u simply press the button.
[Spirit FM] sachinaik:
It says "Error : No FM Accessible"

Sent from my LG Optimus G Pro E-988
[Spirit FM] mikereidis:
Is there a stock FM app ?

Send me a debug log with Menu-> Test-> Email-> Logs . After 20 seconds or so press Send.
[Spirit FM] mikereidis:
OK.

When I said I wasn't sure what they do, I meant at a low technical/programmer level.

I'm not aware of any standard Android mechanism that allows apps to change the mapping of media buttons, so I'm wondering if they do undocumented low level stuff, and if so, what.
[Spirit FM] sachinaik:
Hi Mike,

There is no stock FM app. But the chipset is same as HTC one. I guess LG has disabled FM chip. In other versions like Korean they have shipped FM app.

I sent a mail to you as you asked.

Sent from my LG Optimus G Pro E-988
[Spirit FM] mikereidis:
As emailed:

Try these settings under Menu-> Settings-> Debug:

FM Chip = "BCM 433x/207xx"

FM API = "Low Level"

HCI Access = "UART"

Now ensure Bluetooth is disabled, that a wired headset is plugged in for the antenna, and fully reboot the phone.

Ensure BT is off, and start Spirit. If it gives no error, tune to a good station and verify that RSSI at top left is 20 or higher.

If success, then we look at audio. :)
[Spirit FM] nicesoni_ash:
Oh.. Will try to discuss this with the app developer then. :) thanks.
[Spirit FM] sachinaik:
Hi Mike,

I did the steps. After reboot when Spirit is started with earphones attached, it automatically enables bluetooth and throws the below error:

Error : No FM accessible

SU:2 Fm:BC3 Su:1 Bt:1 Ht:0 Mo:BCU.
[Spirit FM] VacTacks11:
Works great on my HTC One here in Canada (which is basically the same as the T-Mobile and AT&T variant).

However, the volume is INSANTELY loud. Any way to turn that down? Even on the first setting, it's loud enough that I can't have my headphones in.

Running the HTC One Google Experience (flashed the Google Experience RUU), so 4.2.2, and Spirit FM UL.

Thank you
[Spirit FM] BlueMoon2510:
Try:

Wrench symbol - Audio - Volume Scale

I set mine to 50 (default is 100) 30 seems also to be OK...
[Spirit FM] mikereidis:
OK, Thanks for trying.

I'm just going to have to call this phone unsupported, for now at least.

We don't even know yet if FM is physically possible; many of the Optimus G's have FM disabled, but at least some are enabled. But no stock LG FM app is a bad sign too.
[Spirit FM] mikereidis:
Thanks BlueMoon...

I will see about making this automatic, or reducing the gain elsewhere.

If you have Unlocked, the digital audio mode has a more reasonable maximum volume, and a better speaker mode to boot.
[Spirit FM] nicesoni_ash:
Hi Mike,

I am back with some updates.

This is the reply I received from the handset controller app developer.

"

My app sends standard android keyevents to control the music app.

The music app has to register a handler for media buttons:

Define in the manifest:

<receiver android:name="RemoteControlReceiver">

* * <intent-filter>

* * * * <action android:name="android.intent.action.MEDIA_BUTTON" />

* * </intent-filter>

</receiver>

And additionally in the code:

audioManager.registerMediaButtonEventReceiver(...)

The music app should be able to handle the keycodes:

KEYCODE_MEDIA_PLAY_PAUSE

KEYCODE_MEDIA_NEXT

KEYCODE_MEDIA_PREVIOUS

optionally:

KEYCODE_MEDIA_REWIND

KEYCODE_MEDIA_FAST_FORWARD"

My main concern is handling events when a key is long pressed (I set volume upnand down for this action), I have asked the developer on this event when a key is long pressed and waiting for his reply.

Thanks.
[Spirit FM] mikereidis:
I think this may be the problem.

Spirit only handles KeyEvent.ACTION_DOWN and this may mess up long presses.

Which media button app are you using or which do you recommend ?

Spirit used to do this, but it caused some problems when Spirit had never been started. But this part isn't strictly needed because the next part is done:

Yes. Spirit would not be able to handle media button controls otherwise.
[Spirit FM] Morlok8k:
I've searched this thread a bit but couldn't find the info.

I have a rooted Droid 4, and I paid $9.99 for the app on Play. I have it set up correctly, and can listen to radio using a wired headset.

The changelog and other places say i can use a bluetooth A2DP headset (I'm going to assume that i need a wired headset for the antenna), but I can't find in the app where to output the audio to it.

All i can see is output to Speakers or Headphones (wired).
[Spirit FM] mikereidis:
No A2DP on Motorola phones; email & I can cancel your order.

If you can think of a better way to describe the limits than I show below, I'd be happy to hear.

Paragraphs 5 & 6 of the Unlocked app Description (and I think paragraphs 1-4 are well placed before this):

5th and last item in Recent Changes:
[Spirit FM] Morlok8k:
Ahh, I see. I did not equate "A2DP" with "digital audio". By Digital audio, I was thinking more along the lines of HD-Radio.

No, I don't want a refund. I use the app every day and I'm really happy with it. (I'm glad to pay, as a fellow programmer) I was just hoping that I could use my bluetooth headset.
[Spirit FM] mikereidis:
Yeah, "Digital Audio" means "Normal Android Audio", IE like media players and every other source of audio besides FM radio. Unfortunately, FM audio is usually a special case that traditionally is analog and bypasses normal processing. Half my work is reverse engineering this ugliness, and a bunch of it is due IMO to Google neglecting FM.

"Normal Android Audio" just "magically" goes to BT when a BT headset is connected.

Normally Spirit just enables analog (or pseudo-analog) FM audio for speaker or headset and that is it. In Digital Audio Mode it sets up an ALSA PCM device, reads from it, and send it to the same place that streaming apps do, via AudioTrack APIs.

The only OEM that supports FM over BT is Sony, and it can be done on stock, un-rooted phones. On others, Spirit needs root, to set ALSA PCM device permissions.

There are many recent phones that could be coerced to do digital FM, but I don't have the resources to support any but the most popular, higher end, recent devices.
[Spirit FM] Morlok8k:
Ahh, that makes a lot of sense.

Well, thank you for the work you have already done, and I hope to see more Digital FM support in the future.

Have you thought about creating a unified FM framework and submitting it to AOSP?

(Heh, just suggesting that makes me cringe at the workload, but that would be what is truly needed.)
[Spirit FM] nicesoni_ash:
Ok, so it seems all my previous tests were wrong or I might have been giving you wrong information, so here goes the latest tests and results.

So first of all I would like you to refer to this xda post where one user providing a mod for headset buttons.

This mod disable headset keys for volume up and down and then map them with next and previous media buttons. Hardware volume keys in phone still work the same way.

So first I enabled that mod to make my handset change fm channels but then I lose the ability to change volume up or down so I installed Headset Controller app to get long press command options.

Without using Spirit UI and setting values for single tap of top button to next, single tap for second button to previous and single tap of last center button to pause and play, things are working fine in almost every media player and Stock FM app. For this test, I used PowerAmp Music Player (https://play.google.com/store/apps/details?id=com.maxmpz.audioplayer&hl=en) and everything worked just fine.

Now if I open Spirit UI, here is what's working and what's not.

Single tap on either top or bottom headset key doesn't work. (Without Headset Controller app they work)

Long press of both up and down headset key works and my volume increase and decrease as set in Headset controller app.

Center button doesn't pause and play in Spirit UI but opened the last handled app by Headset Controller which is PowerAmp and Spirit UI gets closed. (Without Headset Controller app this button works)

So this is my latest test and as it shows all other commands except long press are not working when Headset controller app enabled and vice versa.

I am providing this same test to the developer of Headset Controller app and hopefully he would be able to suggest something.

Oh and one more thing, your app doesn't show up in apps to handle by his app options, screenshot attached.

Hopefully something can be done in this case. Thanks.
[Spirit FM] mikereidis:
Heh, ST-Ericsson proposed an Android FM API 3 years ago.

It's being largely neglected in an experimental AOSP branch: https://android-review.googlesource.com/#/q/owner:benn.porscke%40stericsson.com+status:open,n,z

Last change Jan 9, 2013 (beats 2010-12) and it broke the build long ago. ST-Ericsson is in a world of hurt now, and Broadcom and Qualcomm don't support the API, so in the "real, commercial" world it seems to be somewhere between life support and dying.

Sony uses this API (but not the audio part now), Spirit supports it, and Spirit2 was/is based on it. The library is in CM because some FreeXperia devices have an FM app. The FM app seems pretty unstable on my Xperia Z with CM/FXP but Spirit uses it OK.

So, work has been done, but nobody cares too much and FM tuners on higher end devices may (or may not) be on the decline.

Spirit2 is on hold until this fall at least, because nobody cares about APIs or app version numbers much. They just want working FM. :)
[Spirit FM] mikereidis:
I'll try to look tomorrow...
[Spirit FM] Mosquito79:
Hi. Any Chance to get spirit work on xperia 2011 devices like sony Ericsson xperia arc s? Greets

Gesendet von meinem Xperia Arc S mit Tapatalk 2
[Spirit FM] mikereidis:
Sorry, no. I tried in 2011 and 2012 with no success and I'm not going to go back now while 2012+ keeps me busy.

Spirit supports the new Sony API in most 2012+ Sony stock phones, and some of the custom ROMs for them.
[Spirit FM] Morlok8k:
Good to know. It sucks that that API is functionally dead.

I fully understand wanting something that works and not caring about how it works. I've seen this myself in both programming and non-programming situations. Only programmers (and a few users) appreciate and want functional and good API / Framework.

On an unrelated note: The UI of Spirit frequently crashes/freezes up on my Droid 4. Radio output is unaffected even after the program crashes or is Forced Closed. It affects both the Free and Unlocked versions. I had hoped it was just an issue with the free version :(
[Spirit FM] nicesoni_ash:
Here is reply from the developer.

"Ok, if you choose the option "Currently running music app", but the app is not selected (because it is not part of the list), my app will not be able to control Spirit UI. The described behavior is as expected.

The only way on your side currently would be to select the option "No specific music app" and if you are lucky "Spirit UI" will be the one which listens (and has the highest priority) to the commands my app sends.

But to make Spirit UI part of the list of controllable music apps, Spirit UI has to declare the receiver in the manifest (additionally to the registerMediaButtonEventReceiver)

<receiver android:name="RemoteControlReceiver">

* * <intent-filter>

* * * * <action android:name="android.intent.action.MEDIA_BUTTON" />

* * </intent-filter>

</receiver>

This is because my app executes packageManager.queryBroadcastReceivers(...) which only return the receivers registered via the Android Manifest.

In order to be fully compatible to Headset Button Controller (and other similar apps), Spirit UI would have to change this part."

Hopefully this will help. Thanks.
[Spirit FM] cmdrtuvok:
Hello Mike,

I just installed SpiritFM. It works really well on my I9100 - finally radio on the go again :)

There is only one question: I usually have a Bluetooth headset. Can I use that for radio output as well? I just found options for output through headset and speaker but no BT. Am I missing something?

Thanks and greetings from .at
[Spirit FM] Lagkage:
Yes you can. Go into settings and choose Audio->Method>Digital Auto and the audio will go to the BT headset automatically when connected.

---------- Post added at 09:32 PM ---------- Previous post was at 09:20 PM ----------

What about this:

And in the linked FAQ post explaining what it is exactly and how to enable it.
[Spirit FM] magicvice:
Great APP!

THX!!
[Spirit FM] mikereidis:
I would only call it officially dead if and when Sony stops using it. I think the only reason it's used on some FreeXperia/"CM" WCN3660 based devices is that they've been able to use the Sony Iris driver (which is unfortunately closed source).

That said, it's openly documented and I still expect Spirit2 to be based on it.

In the normal, non-digital audio modes, generally FM will keep playing unless some app specifically turns it off, both on the FM/combo chip and turning off the audio path.

If the volume and media button controls still work, then the Spirit FM service portion of the app is still running. Also you'd likely see lockscreen and notification window stuff still working.

Otherwise, Spirit has likely completely crashed. Returning to the UI would likely restart FM, instead of the normal mere re-init of the UI.

If you can find some ways to reproduce this or avoid it, that would be useful. There are apps that collect the logcat and possibly dmesg/kernel logs that you could leave running. A debug log from the next start of Spirit might help, but that usually doesn't help locate a crash due to logs filling the buffer or other problems.

There are still issues in the UI orientation code that can cause crashes sometimes, especially at startup. Setting UI-> Orientation to Automatic might help, or at least you can try to note if a crash happened when turning the phone.
[Spirit FM] mikereidis:
Thanks, correct.

It should be noted that, except for Sony's, this only works on rooted phones running the Unlocked (except Galaxy S GT-I9000) version of Spirit.

This should/will be documented better and ideally there'd be an option at first startup to try digital audio. Galaxy S has this due to tradeoffs about speaker damage risks, so I'd just have to enable for other phones.

But I'm holding back on these while I still call digital features experimental. Some devices/ROMs (especially stock) have problems and I need to get a better idea about them and workarounds. Otherwise I'd have more support requests to handle.

On the plus side, I've responded to several problem reports with "Try Digital Audio" and in most cases this avoided the problem and the response was "Great !" and/or "Cool..." :)
[Spirit FM] mikereidis:
Please post instead of PM'ing. Or email if you're a paid customer, but I usually respond on thread before reading my email.

Default settings are best.

What happens ?
[Spirit FM] Morlok8k:
I will get a logcat app and keep it running while i use spirit next time. I'll give further details then, but usually when it happens, the lockscreen media controls and persistent notification is still there.

If i pause the audio using the lockscreen control. it stops, but i cant resume it again. Trying to load the UI from the homescreen at that point will show a black screen (at which point I will have to manually force close the app)...

Or if it was already up before screen locking, the buttons dont work, and trying to use the non-functioning UI will get the system to ask me to force close the app or wait.
[Spirit FM] nicesoni_ash:
Any updates on my provided data mate?
[Spirit FM] mikereidis:
Sorry, not yet; tonight.

I've had some medical appointments and got way behind on my email.
[Spirit FM] nicesoni_ash:
No problem. Take ur time. :)
[Spirit FM] xantrk:
Hey guys , im using note 2 with paranoid android 3.67 . with headset its working properly but when i selected speaker output , volume is too low . How to tweak this?
[Spirit FM] Morlok8k:
Ok, I have a logcat file of almost 30 minutes where at some point it the UI crashed.

I noticed the crash at 2:19pm, and forced closed it at 2:21pm. (Most of the logs are around this point too)

The log starts with Spirit already running at 1:55pm.

http://pastebin.com/AFY6mjBP

(It expires in a month)

Does Spirit keep its own logs? If so i cant find the location where they are saved.
[Spirit FM] mikereidis:
Sorry, but I get a headache if I try to condense all you've reported. :)

I have what I think is a simple fix for some headset controller issues and it could be much faster if you could just test the test release of Unlocked I've built.

Send me an email mikereidis@gmail.com and I'll send you the test release.
[Spirit FM] mikereidis:
I can't see much in the log.

Yes, on Unlocked, Spirit saves it's log to /data/data/com.mikersmicros.fm_unlock/cache .

Files are sprt_log0.txt and sprt_log1.txt .
[Spirit FM] nicesoni_ash:
Lol. I can feel that. Btw I tried to do a little by myself by decompiling android manifest and making those changes but I was unable to rebuild it again so I proved a novice in Android department. ;)

I sent you a mail though. Thanks.