y20k / transistor Goto Github PK
View Code? Open in Web Editor NEWTransistor - Simple Radio App for Android
Home Page: http://y20k.org/transistor/
License: MIT License
Transistor - Simple Radio App for Android
Home Page: http://y20k.org/transistor/
License: MIT License
If there is anyone out there speaking Chinese or Spanish, translations in those two languages would be the bomb! I think that could broaden the appeal of Transistor a lot. Since I do not see a feature in Weblate to articulate that, I chose to open an issue here.
Yeah it may be trivial to find, but still if you're writing that the app is open-source, you usually provide the link.
I love your app for it's simplicity and an open source code!! Bravo! I've waited for this for years.
However, I have one problem: I always connect to the internet through VPN. And if pressing on playback button when on VPN, I have to wait more then a minute for the playback to start.
It is happening only with Transistor. With "Radio FM" or "TuneIn" there are no such delays. Is there something you could do about it?
Thanks!
Sample URLs listed at http://somafm.com/groovesalad/directstreamlinks.html
For example, if I try to add "http://somafm.com/groovesalad.pls" I get a "Download started" popup, but no further response from transistor.
Add some built-in Radio Station.
and If possible add BASS Library.
BASS is an audio library for use in software on several platforms. Its purpose is to provide developers with powerful and efficient sample, stream (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated, and more via OS codecs and add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3/OGG compressed MODs), and recording functions. All in a compact DLL that won't bloat your distribution.
BASS is available for many different platforms
I'm trying to rename a station from Deutschlandradio to Deutschlandradio Kultur but after Deutschlandradio nothing happens. It just stops, I can still type though.
Hello,
I got a similiar error like issue #5 with this address:
http://internetradio.salue.de:8000/classicrock.mp3
(from here: http://www.classicrock-radio.de/musik/webradio.phtml, it's the same with the aac stream)
Thank you for your app!
I spotted a little bug:
When playing a stream and then renaming a station entry, so that the order of station changes, the wrong entry is marked as playing.
Steps to reproduce:
Then the wrong station is marked as playing.
Such as...
http://streams.kqed.org/kqedradio
or...
http://broadcast.infomaniak.ch/radionova-high.mp3
Can the URL parsing be made a bit more resilient?
Hey, first things first. Great app, really like the material interface. I was trying to add the following stream: http://www.sputnik.de/m3u/live.hi.m3u
but the app keeps prompting that it can't find a stream. Opening the url in VLC works without any problems.
Feature request:
Allow manual sorting of station entries.
This could possibly be done when longtapping and dragging the icon.
Every filename could be prepended with an index number on the filesystem to easily sort them when populating the list.
HI
It is impossible to see or edit the url once it is added. I thimk that it would be nice if one could at least copy the url to use in other apps.
Transistor should implement MediaSession.
Code examples:
Hi
It will be great if we can search those online stations and add to the playlust and stream from.
Can you please add support for Android Jelly Bean (4.1 / 4.2 / 4.3)? Or at least Android 4.3?
Thanks!
Here's an example: http://www.listenlive.eu/rte1.m3u
When adding the aforementioned link to Transistor, it will simply say "download started" but nothing will actually play or get added to the list of stations.
Meanwhile, when I add the link to VLC for Android, it adds the link to the streaming playlist and will play it immediately upon tapping it.
Transistor should be able to play any link ending with .m3u. What's going on here?
A feature request:
If i plug out my headphone, the playing stops.
This is fine (did you implemented it or is this the default behavior?).
It would be nice, if the playing of the same station just continues when i plug it in again. 🎧
... would be amazing :)
I recently upgraded to Android 6 (omnirom), and ever since, I can't add stations. Transistor gives the "tried hard, but can't make sense" error message. These are links that I had in Transistor on Android 5, and I've tried .mp3 and .ogg versions. No go.
Ideas? How should I proceed to trace the bug?
I listen to streams over Tor (Orbot), and sometimes its circuits fail. Or the Wi-Fi goes down and comes right up again. It would be nice if Transistor tried to reconnect aggressively (like once per second?) until the user stops the stream.
Hi!
Transistor is a great little app. I like it a lot!
I have a small issue though, which I think would be easy to remedy.
I tend to listen to Transistor while travelling, and the stream often disconnects at some point in my journey. It would be nice if Transistor automatically tried to reconnect when this happens.
The most annoying instance of this occurs every time I leave my house with Transistor playing. When I get about 50 feet from my house, the wifi signal drops out, and the phone switches to 3G mode. Since the IP address has changed, the stream disconnects. Since it's freezing cold outside, it's pretty irritating to have to take off my gloves, take out my phone, and, with frozen fingers, unlock it, open the app, and press the big play button.
Every... single... time....
:)
I'd love if it either could detect when the network went up/down, or if it just kept trying to reconnect every 5 seconds or something. (Ideally both!)
Bug: sometimes two radio stations start playing simultaneously.
How to reproduce bug: long tap to station, then quickly long tap on another station, then on another station, etc.
How I can translate this app? I can translate to catalan and spanish.
How to reproduce the error:
open Transistor -> shut down by pressing the back -> open again -> try to change the icon of any station.
01-21 00:37:46.789 31054-31054/org.y20k.transistor E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.y20k.transistor, PID: 31054
java.lang.IllegalStateException: Fragment MainActivityFragment{e7db358} not attached to Activity
at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:925)
at org.y20k.transistor.MainActivityFragment.selectFromImagePicker(MainActivityFragment.java:482)
at org.y20k.transistor.MainActivityFragment.access$500(MainActivityFragment.java:58)
at org.y20k.transistor.MainActivityFragment$6.onReceive(MainActivityFragment.java:415)
at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297)
at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46)
at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
I somehow have the feeling that Google is not yet ready to give up tablets. My bet is that next I/O they will introduce better tablet support. Transistor should get a decent two-pane layout for bigger resolutions.
Please add support for the .m3u8 playlist format, which open source players have more recently migrated to.
Here are some example station listings using the format.
http://mathewpeet.org/lists/BBC_radio_audio_streams/
Thank you.
Transistor should ask the user if it can continue to use mobile networks to stream audio if the user did turn on Data Saver (see http://developer.android.com/preview/features/data-saver.html)
(Note to my future self:) I got this suggestion via mail. I think adding a sleep button in the playback screen (ActionBar) seems to be a nice feature that does not add clutter or complexity. Not a feature for the next release but definitely worth considering.
Steps to reproduce:
Open app -> tap to + button -> write "abcde" or leave a blank line -> tap to add button -> crash
Today I tried to stream DeutschlandFunk over Transistor, both the MP3 and OGG Streams are not working for me, the MP3 one shows an error after downloading, the ogg one can be added to Transistor and also starts playing but I won't hear any sound. A test with the FM4 Stream worked as expected.
Stream URLs:
http://www.deutschlandradio.de/streaming/dlf_hq_ogg.m3u
http://www.deutschlandradio.de/streaming/dlf.m3u
Thank you for your otherwise great little tool, it really fills a niche for me as an open source Android webradio player.
When opening .m3u link in a web browser from http://www.slayradio.org/ Transistor is not in the 'Open with' list. It also won't open the link if I copy-paste it into the app manually.
Full link: http://www.slayradio.org/tune_in.php/128kbps/slayradio.128.m3u
VLC opens and plays it fine. The server probably sends incorrect HTTP mime-type.
Here is a list of closed issues and feature requests that were not implemented. I compiled the list, because I think some of the issues and discussions are still of interest for some people.
enhancement
, help wanted
Those issues were closed because I wasn't able to figure out how to implement them or because it would cost me too much time/effort to implement them. Feel free to comment or reopen, if you have a suggestion.
enhancement
, wontfix
Those issues were closed because they would have added unnecessary complexity to the app.
@btimofeev described this bug as follows in a comment on issue #21:
open Transistor -> tap to change icon -> press back -> press back -> open Transistor -> tap to change icon -> press back -> press back
The app is not closed, and opens a window for selecting images.
I probably need to fiddle with the back stack.
This is an internal thread where I would like to announce changes and additions to the text strings used in transistor: strings.xml
Translators can subscribe to this issue to stay up-to-date.
Hi, thank you for your nice app.
It would be great to be able to put shortcuts for stations on the homescreen. When you tap the shortcut, the station would start playing directly.
I'm not talking about a widget but simply a shortcut.
It would be awesome if disconnecting the headphones triggered a short timer (60 seconds?), and if the user reconnects the headphones before the timer fires, the audio resumes playing.
This would help with snagged cables, as well as "loose" headphone ports.
I can't play AAC streams like http://www.rockantenne.de/webradio/channels/classic-perlen.aac.pls
The mp3/m3u stream from the same source works fine. System is CM12.1.
Gradle build files are required for building this app. While you might just use "common" build files by now, when you add more libraries etc. the gradle files are really needed.
In some comments it was mentioned that some people miss this feature. I think it is not a top priority but with Chromecast Audio it would make sense to have a basic support for it in the app.
Most of my radio station's URL is started with MMS://, it can be played by MX player. But I can't add it to this app.... Is there a roadmap to support this kind of URL? Thanks
A clean checkout of 1.1.6 gives me a lint error:
:app:lintVitalRelease/home/krt/src/fdroiddata/build/org.y20k.transistor/app/src/main/res/values-sr/strings.xml:4: Error: The resource string "app_name" has been marked as translatable="false" [ExtraTranslation]
<string name="app_name">Транзистор</string>
~~~~~~~~~~~~~~~
Explanation for issues of type "ExtraTranslation":
If a string appears in a specific language translation file, but there is
no corresponding string in the default locale, then this string is probably
unused. (It's technically possible that your application is only intended
to run in a specific locale, but it's still a good idea to provide a
fallback.).
Note that these strings can lead to crashes if the string is looked up on
any locale not providing a translation, so it's important to clean them
up.
1 errors, 0 warnings
while I can (and did) forcefully ignore them in gradle's android
section with
lintOptions {
abortOnError false
}
This is a hack. A release should build with out modification. Either fix those issues on your side or (just in case) apply the workaround in your build.gradle :)
Hi
It would be great if the app keeps the previously listened stations, the ones coming from other apps.
Open your browser. open shoutcast site, find a channel. Click in m3u to listened in the app. Stream a abit, stop it. Open shoutcast page again and stream another link. there is only one link in the app. You loose the previous link in this scenario.
I don't see the utility in a short tap revealing a screen with only one possible subsequent option: pressing the Play button. Why would anyone tap on a station other than to start playing it? I think what would make the most sense is to just play the station on short tap.
This would address another issue I believe the app has, which is the current inconvenience of changing stations. It requires too many taps: pressing the back button to return to the list of stations, tapping on another station, then finally pressing the play button. Going through these many button presses and screen changes is pretty difficult to do while driving.
I realize this implementation would raise other questions, such as how to otherwise get to a "now playing" UI with stop/resume controls, where to show the metadata etc. My only thought is to otherwise make it like Google Play Music where this information and these controls show in a bottom control bar. But I believe the current behavior is just a bit flawed.
Hello
Thanks for making this app.
I tried it and run into problems. Transistor seems to fail to play some streams.
At least it failed playing this one:
http://www.dradio.de/streaming/dlf_hq_ogg.m3u
Hope you can fix it.
Most of my stations are mms://
based. Currently we cannot input mms url to transistor. I hope you can add support to mms. Thanks!
Please, Is it possible separate the text from the HTML?
Because the translator can add a bug, for example changing HTML's tags.
Also it's a bit difficult translate the text mixed with HTML and so big.
if B had an image but A did not, old-A-new-B now has the image of old-B
Hi
It would be great if one could load playlist files as a file.
The notification could see a few improvements. I'll fork your code and try to fix some of these myself next week.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.