yashsingh1/xdaforums huggingface dataset:
[Spirit FM] nicesoni_ash:
You can either use a third party app like headset button controller to edit such actions or edit your generic.kl file in system by following the guide available in xda, search for it.

Sent from my "GT-I9300/1+1" powered by Carbon Rom & Boeffla/ak Kernel

Fueled by 7000mAh ZeroLemon Battery
[Spirit FM] shantur:
[MENTION=3575078]mikereidis[/MENTION]

I have got FM working on HTC Sensation (pyramid) (msm8660 bcm4329 qdsp2v6) now using broadcom bplus implementation in bluedroid. I can do all stuff scanning tunning etc.

The only thing i am not able to do is control volume. Can you please let me know how is the volume controlled on this device? is done on bluetooth hci ?

Thanks
[Spirit FM] tomlemange:
I searched headset button controller on the play store and it came up with JAYS headset control as well. Went with the JAYS app since it was free but it did the trick, thanks!
[Spirit FM] mikereidis:
Thanks !

I was not aware of the generic.kl trick to re-mapping.

I've long known that Samsungs, whether stock or AOSP ROM, over-ride my apps' Next and Previous media button code for Volume, and just assumed we had to live with that.
[Spirit FM] mikereidis:
Thanks for your support. :)

I'm happy to hear you have a solution.

Samsungs, whether stock or AOSP ROM, over-ride my apps' Next and Previous media button code for Volume, and I have just assumed we had to live with that.
[Spirit FM] mikereidis:
Are you using one of my Spirit apps, or your own code ?

Phones often have FM volume controls, or master volume controls, in their audio HALs.

But many FM chips have their own controls too.

In my Spirit2 Free code on github look at chip_imp_vol_sg() in tnr_bch.c :

int chip_imp_vol_sg (int vol) {
if (vol == GET)
return (curr_vol);

bc_reg_set (0xf8, 2, vol / 256);

curr_vol = vol;
logd ("chip_imp_vol_sg curr_vol: %d", curr_vol);
return (curr_vol);
}
[Spirit FM] tomlemange:
I may have spoken too soon, seems like the change in button functions didn't stick after a reboot. There's still a few more apps on the play store I can try though.
[Spirit FM] mikereidis:
Free apps that show ads have incentive to require you to start the app again after each reboot.

I don't know if that's the issue here.

It's darn hard to make money on Android apps, so I can empathize with devs that do this.
[Spirit FM] tomlemange:
Don't think that's the problem, even if I restart the app, my headset controls revert to their default setting. Only thing that fixes it is reinstalling the app, clearing the cache does not help. Other apps I've tried don't seem to be able to override the settings at all.
[Spirit FM] nicesoni_ash:
I am not sure about how free apps work but I have a paid version of headset button controller and it works fine. My setup is changing volume buttons to change presets by editing Generic.kl file and then use headset app to set long press of these buttons to increase decrease volume and all works perfectly.

Sent from my "GT-I9300/1+1" powered by Carbon Rom & Boeffla/ak Kernel

Fueled by 7000mAh ZeroLemon Battery
[Spirit FM] any_body:
I am a buyed user for this application that Mike developed and i was using it on my phone more than 1 year.

Now, i change my phone and my new phone is (Turkcell T60 [its absolutely same with ZTE Blade S6.

My old phone was Samsung Galaxy ACEII and i was using this program without any problem...

On the internet, my phone look like has fm radio chip but when i open your program and instead of trying all methods in Settings, i got an error below;

"Error : No FM accessible

SU : 2 Fm:?? Su:1 Bt:3 Ht:0 Mo:UNK"

Also i cant turned off the program properly without kill it via Task Manager

Can anybody please help me to resolve this problem?
[Spirit FM] shantur:
Thanks for details. The code is based on Broadcom bplus implementation from https://github.com/Nu3001?utf8=✓&query=bplus

The FM works but the only thing not working is volume control. Its doing the same as what you suggested but somehow FM chip doesnt want to lower the volume.

Did you ever face this issue? I have a feeling its something related to chip init process.

Thanks.,
[Spirit FM] tomlemange:
I gave the trial of headset button controller a shot and it didn't override the controls at all so I'm hesitant to spend money on it if the trail didn't work. I'm using 5.1 GPE flashed onto my 1st gen Moto G, I'm wondering if these apps aren't fully compatible with 5.1 yet...
[Spirit FM] mikereidis:
Most Chinese phones use Mediatek chipsets and I have never supported them and don't expect to. Same for ZTE devices pretty much.

Error message indicates FM chip and APIs are not supported.
[Spirit FM] mikereidis:
Yes, I've seen this problem before, but I don't know how to fix it on your device.
[Spirit FM] any_body:
Hi!..

So, do you mean i cant use Spirit 1 on my new phone?

If yes, what about Spirit2 on the same phone?
[Spirit FM] nicesoni_ash:
What exactly do you want to achieve? Provide your Generic.kl file here, I will have a look.

Sent from my "GT-I9300/1+1" powered by Carbon Rom & Boeffla/ak Kernel

Fueled by 7000mAh ZeroLemon Battery
[Spirit FM] tomlemange:
Trying to switch the button on my Bluetooth headset from play/pause to next.
[Spirit FM] shantur:
No worries mate. If you have any ideas i could do that would be really helpful.

Thanks
[Spirit FM] nicesoni_ash:
I never tried this modification on Bluetooth headset but you can try this one and see if it works. Replace ur original one with this and set the correct permission and restart. Take the backup first.
[Spirit FM] mikereidis:
I don't even know the FM chip on that phone. Do you ?

Spirit1 and Spirit2 both work on rooted Qualcomm FM chip devices. Beyond that, if the phone isn't specifically noted to be supported, it probably can't work. Makes no difference how new your phone is.

If it's Mediatek, somebody(s) in China built a version of Spirit2 here that might work: http://www.miui.com/thread-2554585-1-1.html . I can't vouch for no viruses in somebody else builds though.
[Spirit FM] tomlemange:
Is it enough to replace the file via a root explorer, or do I need to do it via adb? All the guides I've read suggest using adb but I don't have the proper write permissions using adb and the file copy just fails.
[Spirit FM] nicesoni_ash:
Your phone isn't root? Simony copy it using any root explorer and set proper permissions.

Sent from my "GT-I9300/1+1" powered by Carbon Rom & Boeffla/ak Kernel

Fueled by 7000mAh ZeroLemon Battery
[Spirit FM] tomlemange:
I have root. What are the proper permissions?
[Spirit FM] nicesoni_ash:
755.

Sent from my "GT-I9300/1+1" powered by Carbon Rom & Boeffla/ak Kernel

Fueled by 7000mAh ZeroLemon Battery
[Spirit FM] bark_41:
Thank you!!

GT-I9300 cihazımdan Tapatalk kullanılarak gönderildi
[Spirit FM] tomlemange:
Finally got around to sorting this out, generic.kl wasn't the way to go, AVRCP.kl is what controls bluetooth headphone functions. But thanks for the info on the proper permissions, wouldn't have been able to figure it out without that!
[Spirit FM] nicesoni_ash:
Glad I could be of any help. Next time use thanks button [emoji6]

Sent from my "GT-I9300/1+1" powered by Carbon Rom & Boeffla/ak Kernel

Fueled by 7000mAh ZeroLemon Battery
[Spirit FM] rhattangdi:
I just installed the Spirit 2 on my Note2 and its working :).

A couple to questions on setup to make it sound better and for ease of setup:

- Is there a way to auto-tune and set up all the FM stations.

- Noticed some heavy disturbance on a few channels. Is there a tuning plugin or antenna plugin I need to setup for better reception? So far, I have not touched the settings and am just playing with the default settings.
[Spirit FM] mikereidis:
- No, presets have to be manually setup.

- Try Menu-> Set-> Tuner-> Band = EU and restart the app.

There are no other settings that should fix frequency specific problems. Ensure wired headset is plugged in for the antenna and move it for best sound.
[Spirit FM] BLiapis:
Hi,

I tried the free version (http://d-h.st/ytE) on a rooted Z1 running 5.0.2 and it will shutdown (crash?) soon after the main interface launches. No numbers or anything showing, just the "search cylinder" and its red head.
[Spirit FM] mikereidis:
The free version MAY work on 5.0+, but only if SELinux is disabled.

Email me mikereidis@gmail.com if you want to try the redesigned version based on Lollipop compatible Spirit2.

Another option is to try the transmit mode of Spirit2 Free, but I'm not sure I've written instructions anywhere, and it doesn't have RDS support.
[Spirit FM] nicesoni_ash:
Is this redesigned version different than spirit2 available on play store?

Sent from my "GT-I9300/1+1" powered by Carbon Rom & Boeffla/ak Kernel

Fueled by 7000mAh ZeroLemon Battery
[Spirit FM] mikereidis:
On Play it's "SpiritTransmit Root XperZ only": https://play.google.com/store/apps/details?id=fm.a2d.st

The free version is my original "Spirit Transmit", which was based on the open source Qualcomm FM app, which has both Receive and Transmit modes. I added RDS transmit from currently playing media player metadata, and the audio switching needed.

To update Spirit Transmit for Lollipop, I abandoned the Qualcomm code and re-based it on the Spirit2 code. So now the Spirit Transmit app on Play is built from the same code as Spirit2, and inherits Lollipop compatability and settings and many other features of Spirit2.

Spirit2 and Spirit Transmit (both the paid Play versions) are now almost identical, except for UI differences and Transmit has the RDS transmit feature.

You can configure Spirit2 to transmit, and you can use the same setting (opposite default) to make Spirit Transmit receive. :)

Spirit2 Free open source can also be configured to transmit, but RDS doesn't work and I forget if transmit audio works or not.

Of course all of the above only applies to rooted Xperia Z and Z1 "era" devices, going back to Zperia T and ending with Z Tablet, Z1, Z Ultra.
[Spirit FM] dreikk91:
It plans to support motorola ti omap devices?
[Spirit FM] mikereidis:
Spirit1 pretty much already supports all Moto OMAP devices that are possible.

OMAP is dead for new phones AFAIK.
[Spirit FM] chrhei:
Tried Spirit1 on my new Huawei P8 (GRA-L09, rooted) without success. Any hints or tips please?

Gesendet von meinem HUAWEI GRA-L09 mit Tapatalk
[Spirit FM] mikereidis:
If it doesn't work at first try, it probably won't ever work.

The only slim hope is if the device is rooted and it uses a Qualcomm FM/combo chip, but

Spirit can usually self-configure for that.
[Spirit FM] JustArchi:
Hey Mike.

I investigated a case which I posted some time ago about Spirit (Free) installed as system APK.

It works properly with enforcing SELinux when installed as user app, but when installed as system app it doesn't work with no root daemon started error.

I can't request anything, as I'm not a customer - just a developer who tries to integrate your awesome service with my ROM, but if you decided that you would like to support my idea of making Spirit working when installed as system app, I'd be grateful :).

I attached full debug log made by your app, I see that it includes logcat already so no need to include it second time.

I didn't take closer look at your open-source code, but as I promised I made my own research and tried to find a culprit.

arr_sys_run: su: false line: chmod 755 /data/data/fm.a2d.sf/lib/libs2d.so ;chmod 755 /data/data/fm.a2d.sf/lib/* ;cp /data/data/fm.a2d.sf/lib/libs2d.so /data/data/fm.a2d.sf/files/s2d ;chmod 755 /data/data/fm.a2d.sf/files/s2d ;[/HIDE]

It looks like spirit blindly assumes that /data/data/fm.a2d.sf/lib exists and includes proper libraries. In case of system APK, it's different:

root@m0:/data/data/fm.a2d.sf # ls -l lib
lrwxrwxrwx install install 2015-07-15 23:14 lib -> /data/app-lib/fm.a2d.sf
[email]root@m0:/data/data/fm.a2d.sf[/email] # [ -e /data/app-lib/fm.a2d.sf ]; echo $?
1[/HIDE]

lib symlink indeed exists but points to a directory that simply doesn't exist, as system APKs contain libraries in different directory.

root@m0:/data/data/fm.a2d.sf # find /data -type f -name "libs2d.so"
[email]root@m0:/data/data/fm.a2d.sf[/email] # find /system -type f -name "libs2d.so"
/system/app/Spirit2/lib/arm/libs2d.so[/HIDE]

I'm not sure if you can detect in what directory APK is installed, but you can safely use the same search as I did to locate proper directory for needed libraries, in case default one doesn't exist.

Here is a simple script I wrote for you to help you with that:

#!/system/bin/sh
APKNAME="fm.a2d.sf"
LIBFILE="libs2d.so"

ERR=1
OUTPUT="Unknown"

if [[ -f "/data/data/$APKNAME/lib/$LIBFILE" ]]; then
ERR=0
OUTPUT="/data/data/$APKNAME/lib"
else
FINDOUTPUT="$(
find /system/app /system/priv-app -type f -name "$LIBFILE" 2>/dev/null | while read FILE; do
dirname "$FILE"
break
done
)"
if [[ -n "$FINDOUTPUT" && -e "$FINDOUTPUT" ]]; then
ERR=0
OUTPUT="$FINDOUTPUT"
fi
fi

echo "$OUTPUT"
exit "$ERR"[/HIDE]

This way, script will always return a proper library path on standard output, or "Unavailable" with proper error code set to 1 in case it can't find such.

root@m0:/sdcard # sh spirit.sh
/system/app/Spirit2/lib/arm[/HIDE]

If there is a way to get APK folder directly from Android environment, then it's even better because you can avoid a find and construct library path from that path + architecture. You just need to check if it starts with data. If yes, data app, old behaviour, if not, library path will be OUT + "/lib/" + ARCH, exactly the same as result of the script.

If you need any more info, help, or anything, feel free to let me know :).

Cheers, and I really appreciate what you're doing for us.
[Spirit FM] Devis73:
No FM radio accessible on LG Optimus 4X HD LOLLIPOP 5.1.1

Hi, guys!

I'd like to ask you if Spirit1 is compatibile with Lollipop 5.1.1 ROM (I've just installed Euphoria OS1.1) and with LG Optimus 4X HD.

I' m trying Spirit1, but when I open it, it give me the error:

Error: No FM accessible

SU:2 Fm:BC2 Su:1 BT:3 Ht:0

Mo:BCU

I KitKat ROM it was perfectly functioning

My device is rooted.

Thanks in advance and congratulations for this perfect app.

And sorry for the question but I'm really newbie
[Spirit FM] cba1986:
hello [MENTION=3575078]mikereidis[/MENTION] do you know if there is a chance to use your app in the s6 edge?
[Spirit FM] mikereidis:
No chance.

Samsung started abandoning FM with the GS4 (or GS1/2 in the US).

Now almost no Samsungs' are able to support FM.
[Spirit FM] mikereidis:
What date/version of Spirit1 are you using ?

Email me mikereidis@gmail.com for a beta release that works on some Lollipop ROMs, but only if SELinux is disabled.

Optimus 4X HD is not very well supported though.
[Spirit FM] Devis73:
Spirit1 version

Hi Mike!

I'm using 2014_07_30 version of spirit1 radio app... On Euphoria OS 1.1 ROM

Thanks very much!
[Spirit FM] mustasusi:
How do I know if SELinux is disabled in my ROM? Is this what causes the problem I'm facing with Lollipop Note 4?View attachment 3416128
[Spirit FM] mikereidis:
You can run "getenforce" from adb shell or terminal app.

There are also some SELinux display and control apps, but Google removed them all from Play so look on XDA.

Note4 problems could be. I presume your Note4 is the Sprint variant with FM enabled.
[Spirit FM] mikereidis:
Post GT-I9300, LOL. ;)

I'll consider it next time I look at the code.

But I should note that the last released version of Spirit2 was April 14, and this is the first time in 4.5 years that the latest (Spirit1 or Spirit2) was over 3 months old.

Spirit is essentially "complete" and I don't expect any further features or big changes to happen.

This is driven by my focus on my Headunit app for Android Auto.

This focus change is driven by the long term drop in Spirit sales. I've been "barely getting by" over the years, and Spirit income is now well below the minimum required to keep it going.

That's life. We all just have to accept it and move on... :)
[Spirit FM] mustasusi:
Something like this?

http://xdaforums.com/google-nexus-5/themes-apps/app-share-selinux-mode-changer-2-0-2-t3084737

Currently the SElinux shows "permissive". Is that optimal?

View attachment 3416196
[Spirit FM] mikereidis:
Yes, permissive is most likely to work with many root apps.

It's also the least protective security-wise.

But the only time I've ever had a virus on 25+ test devices in 4+ years was after I ran a cracked version of my own Spirit1 app on a Motorola Droid, LOL. "Somebody" started "pressing" my screen... was surreal.
[Spirit FM] mustasusi:
Then it's not the cause of my problem I'm afraid. I'm on custom ROMs and kernels most of the time, where SELinux is disabled ever since. I'm using version UL 2015_03_31_beta. In KitKat it used to play fine and record too (using Recforge of equivalent), but in Lollipop it goes as in the photo I posted previously. On the Note 3 I flashed a Lollipop ROM based on 4.4.4 modem\band meaning I didn't have to go through a stock, fresh, unrooted Lollipop version.

I can't find such combination for Note 4 too here on XDA. I can easily downgrade back to 4.4 but this version lacks some interface features (which I already have on my Note 3). I don't know about viruses for Android either, never needed an Antivirus and for 4 years I'm all good.
[Spirit FM] meekspace:
Is Spirit 2 backwards compatible?

My phone is a Sony Xperia TX LT29i. I'm currently testing CM12.1 with lollipop 5.1.1

If I switch back to kitkat will it work?

I want to purchase the app to record FM radio.
[Spirit FM] mikereidis:
What matters is which phones Spirit1 & Spirit2 work on.

Spirit2 runs OK on Xperia TX, as long as it's rooted.

There is also a beta of Spirit1 that works on many Lollipop devices, but only if SELinux is disabled. Customers can get it by emailing me mikereidis@gmail.com .

But Spirit2 is the most recommended option for Android 5+.
[Spirit FM] meekspace:
Alas my TX SELinux is very much active.

Good to know that it's a phone thing. You have another satisfied customer!
[Spirit FM] meekspace:
OK, what's happened to the options? Am I missing something? I want to save to SD card.
[Spirit FM] mikereidis:
Are you on the right thread ?

I have no idea what you're talking about.
[Spirit FM] meekspace:
Hmm, I was a little vague.

A long time ago I was using Spirit1 free. You could tap the menu button to bring up the options. For example you could change the sampling rate, the output file container and where you wanted to save the recorded files. I've just purchased Spirit2 and can't see any options. The app works great so I don't need to change any settings except I would like to save the recorded files to the SD card.
[Spirit FM] Wolf075:
Please change UI to material design

[MENTION=3575078]mikereidis[/MENTION] Please update the UI of the app to simple looking material design like on the Motorola Fm Radio App.:crying:

[IMG="Motorola FM Radio App"]https://lh3.googleusercontent.com/-3hWJCYVuCnI/VbeJ0uWNWRI/AAAAAAAAEDQ/IL85IhuWC4I/w426-h757/FM%2BRadio.png[/IMG]
[Spirit FM] mikereidis:
In Spirit2 use Menu-> Set to get to the settings.

Under Audio are options for record directory and filename.

Email me at mikereidis@gmail.com if you still have issues.
[Spirit FM] meekspace:
Thanks for that. I don't know how I didn't see that!

I sent you an email about trying the beta.
[Spirit FM] nicesoni_ash:
Hi Mike,

Although I use Spirit2 on lollipop and used spirit1 on kitkat earlier, I liked the simplicity of Spirit1 better so is this beta latest than the available version on play store or the same? If it's different and latest then would mail you to try it or can I get it from beta channel if I subscribed on it?

Sent from my "GT-I9300/1+1" powered by Carbon Rom & Boeffla/ak Kernel

Fueled by 7000mAh ZeroLemon Battery
[Spirit FM] ouija147:
Whoa

AT&T will enable radio in future phones

https://www.washingtonpost.com/news/the-switch/wp/2015/07/29/want-to-listen-to-radio-on-your-phone-atts-about-to-make-it-a-lot-easier/?tid=sm_tw
[Spirit FM] cajunflavoredbob:
I was just about to post this. I feel like it's not going to be that simple with AT&T. There has to be a money angle that we don't see here. I just can't make myself believe that they're doing it out of the goodness of their hearts.
[Spirit FM] ouija147:
Quite honestly it doesn't do me any good, because I will probably buy the next Nexus device (if the rumours of a new Nexus 5 hold true). Currently have a Moto X 2014 and the recently announced Moto X Style and Play don't appear to have FM radio enabled. <-- the what hell Moto?

Maybe this will lead to some movement in the market...maybe
[Spirit FM] mikereidis:
The Spirit1 "beta" was uploaded March 31, 2015 and is labelled "2015_03_31_beta".

Yes, just email me mikereidis@gmail.com for a copy, or get it through the documented way to sign up for betas.

I may put this out as a "regular" release for Android 5+ (only) soon.
[Spirit FM] mikereidis:
Except for the budget oriented Moto G and E, the last popular Motorola phones with official FM were released in 2011. Droid 4 and Bionic worked, but only with root and Spirit1 in the later Android versions, or the old stock Moto app in the earlier versions.

Google's purchase of Moto probably helped to kill FM on most Moto phones, and nothing has changed much since Lenovo bought it.

I very much doubt that anything happening now, in 2015, is going to change the effects of the intentional killing of free OTA FM going back to at least 2011 (when Spirit1 was started). It started with Motorola around 2012, and Samsung GS4 in 2013, to say nothing of the difficulty in getting FM on phones in the US going back to the original Galaxy S around 2011.
[Spirit FM] mikereidis:
Where it says "AT&T's deal with NextRadio" it's clear that ATT has made a similar deal that Sprint did 2 years ago.

Here's a long post I wrote about Sprint's $15 million ransom deal with US broadcasters in early 2013: http://xdaforums.com/showthread.php?p=37641690

This is good news for the NextRadio people who have been negotiating for this for years. IF they get Verizon signed up they will be even happier; VZN has been the worst US carrier for disabling FM.

The effects may be "interesting", but I very much doubt it will bring Spirit "back to life". If it happened 2 years ago, Spirit could have benefited (once GS4's, GS5's etc. started getting rooted and custom ROMs built.)

A few years ago, the HTC and Samsung devices with FM started "protecting" their FM APIs, which stopped Spirit1 from being able to work on stock, un-rooted devices like HTC One M7. This "protection" helped to keep NextRadio (and Spirit) from working on devices that were not specifically authorized with multi-million dollar deals.

The "Interesting" part includes stuff like Sprint's Note3, GS5, Note4 (and GS6 ?) being the only Galaxy variants on the planet with usable FM. ATT coming to the party means that there will be much more of these "rare" FM variants in the market.

I've been half expecting Sprints deal to come apart in the next year or so. But with ATT in the deal, I think that's less likely.

I doubt that Spirit will ever support these devices. There never was a GOOD market for a 3rd party FM app like Spirit and over the last year it's gone from "barely feasible" to "forget about it...". Society votes with it's wallets and Spirit is on life support and getting weaker at this time.
[Spirit FM] Eibs:
Hi, I would like to use your SpiritTransmit Root XperZ only on my rooted Z1 compact but when I tried the free test version you offered d-h.st/ytE it crashes right after I plug in the headphones. So I was wondering if this was because it is and old version and doesn't support lollipop and would the full version work properly.

E: Okay, so I just bought the real program and atleast it doesn't crash but it says the following:

Well I didn't find such option from Developer options and I tried to donwload SuperSU but it failed also... I have Kinguser though which says ADB and SpiritT have root access.

Btw, I rooted phone first time just to get this program.

I also checked that I have rooted correctly with Root Checker Basic and it said Root access is properly installed