<maintag>

<item>
<name>UPDATE: Updated to latest Android API 32 30th December, 2021</name>
<message1 category="android_________________________">This release targets the highest Android version to date, API 32 (hence version name), one version past Android S (Tiramisu) which is still in development. As is typical, this major update includes heightened security measures which may impact the user experience. Most are behind the scenes but if you experience crashes or other app behavior you feel is NOT intended we encourage you to send us a quick email explaining the problem so we can quickly fix it. As happens with any major Android update that changes the security requirements in the app's code, there are bound to be bugs, although we have spent much time trying to find them all and release a working update. We can say that these new security protocols are much in the user's best interest and keep developers following the strictest of security guidelines. IF YOU WANT TO REPORT A BUG, please do so, however minor. We always appreciate it. Go to the app's Google Play listing and follow the contact links. Include your device name, ANDROID VERSION (this is very important), the APP VERSION you are using, and details about your concern. Try to describe your workflow leading up to the problem. Thank you.</message1>
</item>

<item>
<name>UPDATE: Re-coded user interface 6th June, 2018</name>
<message1 category="android_________________________">Reworked the User Interface.  As a result the app is lightning fast now, including opening loading times.  Please take time to get used to it if you don't like it initially; before this update all genera categories were loading BEFORE the app opened (careless Java newbie mistake!).  Now, NOTHING but graphics load first, and any app/station data loads only when needed.  As you close genera windows, they are removed from memory immediately, so you can see the same windows refreshing every time you re-open them.  As a result you should see things happening VERY fast.  Give me feedback please.  I intentionally didn't add extra text fields (song artist and song title) to floating genera windows, in order to keep things running fast.  You can still close a genera window and open the gray song info window to see this information.  It's an extra step but I think most people will appreciate the speed of things as a result.  The next step is updating dead URLs, which I will do very soon.  Also, I fixed one very bad source of crashes due to the Beat Visualizer...this should eliminate a LOT of crashes.</message1>
</item>

<item>
<name>UPDATE: DOZE MODE and RECORDINGS 4th November, 2016</name>
<message1 category="android_________________________">This feature has proved to present many challenges. Android 6.0+ does NOT like things running in the background. We have further worked this out. Still, we notice that even though the device is plugged in, certain (mostly Samsung) devices conflict with long-running background processes (Android 6.0+). Still, disabling Battery Optimization in your Battery settings for this app only, seems to help, even when plugged in. We are hoping that newer versions of Android will fix these issues (we are following Google's API for long-running background operations; bugs have been reported in the Google Developer forums). We hope you will let us know of any issues you can identify and hopefully reproduce, so we can further improve this function. Our testing devices are responding well to this update.</message1>
</item>

<item>
<name>DOZE MODE and RECORDINGS 14th October, 2016</name>
<message1 category="android_________________________">WHEN SCHEDULING RECORDINGS: Make sure you have sufficient space on your device. A 1-HOUR RECORDING CAN TAKE UP TO 60MB! Also, THE DEVICE MUST BE PLUGGED IN.  We are intentionally coding the app to NOT fire scheduled recordings while in Doze Mode (on Android 6.0+).  Doze Mode puts the device to sleep and disables network connection AND CPU functions (plugging in the device disables Doze Mode).  Background recordings use up a LOT of battery, so we are disabling recordings if the device is not plugged in (Android 6.0+), although Doze Mode doesn't kick-in until 1 hour of inactivity so shorter recordings MAY be possible on battery power (Android 6.0+).  Thank you for your attention to this matter.</message1>
</item>

<item>
<name>App Update 24th August, 2016</name>
<message1 category="android_________________________">Version 4.0.2.0. Fixes some crashes since version 4 release; we are rewriting the server-side database. PLEASE email us if a built-in station stops working so it can be fixed.</message1>
</item>

<item>
<name>App Update 31st July, 2016</name>
<message1 category="android_________________________">Version 4.0.1.2. Version 4 optimized for Android N.  Mostly reworked code; search icon accessable from nearly any screen; search page reorganized and finalized with built-in genera list; swipe across tabs from any main screen; song info window is now draggable and dismissable :); new 'Copy URL' button on the Search page (copies to clipboard ANY stream that is playing). Lots of server-side improvements (you should see a lot less annoying 'cannot reach server' messages). I want to reiterate that these message only come if the station owner has let their URL die or they change it without updating the databases. We hate them as much as you do. ***Please check out the new genera drop-down menu (on Search page)...this speeds up searching a LOT (remember---Search is highly dynamic!!!). See the new screenshot on the app listing. And I want to say thank you to the many patient users who have taken the time to contact me about issues in the app; your input makes the app better and I couldn't do a lot of it without your help. Mike.</message1>
</item>

<item>
<name>App Update 11th July, 2015</name>
<message1 category="android_________________________">Version 2.9.1.0. Removed the annoying back button dialog. This is a 'smart' improvement (hopefully). Depending on if the media player is playing, the back button will only close the whole app if there is no music playing. If the music is playing the back button will just minimize the app so when it's reopened (either from the app icon or from the pulldown notification) you will pick up where you left off. When you hit the back button with no music playing you will see a very brief black screen signaling that the the app has been killed from memory; conversely if the app is not killed (as when the music is playing) you will see a close-out animation depending on your phone's settings, showing that the app is still running and music is playing. Hitting the home button will also minimize the app regardless of if the music is playing or not. If you really want to kill the app, stop the music with the stop button and use the back button. We will no longer ask you what you want to do at this point because we assume you are going to read this. We hope you like this new improvement. Questions/comments please email.</message1>
</item>

<item>
<name>App Update 4th November, 2014</name>
<message1 category="android_________________________">Version 2.7.2.3. Still working on the 'easy_mp3' page. Keep in mind this is still a 'bonus' feature as this is an Internet Radio Recorder app (not sold as an mp3 player) but now you can listen to ALL of your MP3's stored on your device with little effort. This will continue to be an experimental feature until I can get it just right. Notably in this update I have finally found the cause of the jerky scrolling on this page which I for one am happy about. Eventually, you will be able to sort by song, artist, album, etc., when time permits. I have been using easy_mp3 for a while now and noticed no problems so far. I want to hear from you if you notince anything not working right. I know the song duration is still showing in milliseconds...this will be fixed soon. Next, I will be looking at adding control buttons (play, pause, stop) to the notification area...sorry this isn't in yet but it's going to take some time to get it right.----Mike</message1>
</item>

<item>
<name>App Update 23rd June, 2014</name>
<message1 category="android_________________________">Version 2.7.0.1. Added an (unobtrusive) Chronometer. It is designed to only count when streaming from a server (not when playing local audio). I hope you enjoy.</message1>
</item>

<item>
<name>App Update 22nd May, 2014</name>
<message1 category="android_________________________">Version 2.7.0.0. Finally! Fixed the Alarm Recording file-extention problem. Now your .mp3 or .wav selection will carry over into the Alarm Recording feature. Version 2.7.0.0 brings 2 more important behind-the-scenes enhancements. First, the app will no longer continue scanning your device for local audio files automatically (only when you press the cell phone icon); this was originally built in because we were planning to include a full local AND online media player. We have since decided to only scan for recordings in the 2 App folders so a full device scan is not necessary. This involved removing a LOT of code which will speed things up even more. We also believe this was causing some startup errors on some manufacturer's devices. Second, we have re-coded the recording feature to fix some crashes on Android 4.3, specifically crashes happening when you STOP a reocrding with only certain streams. If you had noticed problems when stopping a recording, this should fix it (you would also see a crash when the Recording Alarm was finished so the app didin't even need to be open). This was one of those very obscure bugs that are hard to isolate and fix but we are happy to have found a solution. Since these are major changes to the app's Java functions, PLEASE inform me if you see crashes or unwanted behaviours! I have thoroughly tested on several devices though, and at this time I don't see any problems.</message1>
</item>

<item>
<name>App Update 28th January, 2014</name>
<message1 category="android_________________________">Version 2.6.1.0. The new Repeating Alarm update requires a new permission: Run at Startup.  This is because the app needs to check for Alarms after a reboot.  I assure you that no Services are running on your phone unless you have scheduled them.  As this is a new BETA feature, if you notice unwanted behaviour, PLEASE do not bash us on the Market; rather, just send us a friendly email and I will fix it :)  Mike.</message1>
</item>

<item>
<name>App Update 22nd December, 2013</name>
<message1 category="android_________________________">Version 2.6.0.0. The below bug is FIXED in Android 4.4 Kitkat.  Thank you for your patience.</message1>
</item>

<item>
<name>App Update 15th December, 2013</name>
<message1 category="android_________________________">Version 2.5.0.5. This is a short status update to the previous post (9th December).  I am still working with another developer to solve this problem.  I am committed to getting this fixed as soon as possible.  Thanks again for your patience.  Also, I have released an update today that updates and streamlines the Custom Record Location Folder function (Tools - Folder icon).  Now all devices and versions of Android are supported.  If you are using this function, PLEASE update your input command per the instructions in the app.  If you don't do this your recordings might not get saved after this update.  If you don't use this function, you don't have to do anything.  I simply removed the hard-coded "/mnt/" part of the input command (so you will have to add that to your command if you need it).  This adds support for any Android device as far as I know.  It's very important that you research YOUR devices's external SD card path so it works for you (there are so many different devices out there and most are different).  The plus side is that now anyone can tell the app exactly where to save their recordings.  You will also see more accurate file location status in the built-in file browsers as well as in the custom folder page.  YOU WILL SEE DIFFERENT DATA ON DIFFERENT VERSIONS OF ANDROID AS WELL.  Let me know if you run into problems after this update.  This update also addresses some crashes people are experiencing when using the equalizer.  Your crash reports were invaluable in fixing this and many other issues....THANK YOU.</message1>
</item>

<item>
<name>App Update 9th December, 2013</name>
<message1 category="android_________________________">Version 2.5.0.2.  With the release of Android 4.4 Kitkat, Google has decided to stop supporting some streaming protocol. Unfortunately, some of the streams used in the app are of this protocol and are causing errors only when trying to record from them. Luckily not all of them are affected, but if you try to record from these streams you will end up with a blank mp3 file. It is ONLY happening on Android 4.4! Please be aware that I am working very hard to fix this, and have started soliciting paid help from other programmers. Since this is all new in the Java community it is proving most difficult to work out. We always manage to find solutions for these things, it's just a matter of time and all will be working again. Thank you for your understanding and patience. Mike.</message1>
</item>

<item>
<name>App Update 16th July, 2013</name>
<message1 category="android_________________________">Version 2.4.0.0.  This is an important update addressing 2 major issues: 1) taking care of heavy CPU processing on a new background thread and 2) fixes metadata error if you try to download song info from a bad source and subsequent calls for metadata will fail. After acquiring this update you should notice 1) a big improvement in performance when loading and switching between stations: the user interface is much more responsive as a result, and 2) your metadata will continue to update even after errors from a bad source (without needing to restart the app). I hope you enjopy these improvements, and as a programmer I am very pleased with the results! (Just a reminder, if you are concerned with CPU usage and battery life, PLEASE disable the Beat Visualizer from Tools - Options. This module really does impact performance and is included as an 'extra' for those who want it, myself included.)</message1>
</item>

<item>
<name>App Update 1st July, 2013</name>
<message1 category="android_________________________">Version 2.3.0.2.  Found a pesky bug in the Classical page causing crashes! I hope those Classical fans will appreciate no more crashes on this page. Once again SORRY for the inconvenience; these bugs can be very sneaky.  Also, there were some crashes reported when recording streams, and this has been fixed as well.....This update also introduces 6 quick-launch buttons.  I'm torn about adding more rows of buttons, my whole philosophy in creating this app is SIMPLICITY, and I want one or two clicks until I am listening to my favorite music.  This is why there won't be any labels on these buttons: I want all the best features to be visible WHEN THE APP LOADS without excessive navigating and scrolling through a complicated interface and I am handling all the important stuff behind the scenes.  Again this is why you can just hit the PLAY button and the last loaded stream will start.  I may add 1 more row of quick-launch button unless poeple feel this is too much.  Personally I am happy with 6 (you still have the LIST page where you can save more).  I also increased the Song Title font a little at the bottom of the screen for better reading.  As always please email your suggestions and even complaints...I appreciate ANY feedback you have; feedback is how you get the features you want and I do my best to add them if possible.</message1>
</item>

<item>
<name>App Update 15th June, 2013</name>
<message1 category="android_________________________">Version 2.2.0.2.  Final tweaks and bug fixes especially in the Recording Alarm module.  The app now recognizes file extension preference when scheduling the alarm (sorry about missing this earlier).  Please always feel free to email with questions and comments.</message1>
</item>

<item>
<name>App Update 29-5-2013</name>
<message1 category="android_________________________">Version 2.2.0.0. Alarm Recording added (schedule future recording behind-the-scenes). This is a beta feature so please report back with any issues and they will be promptly fixed. To understand this feature, remember that it consists of two very different functions: the RecordingService and the Alarm Manager. The RecordingService allows the app to do all the recording work behind the scenes without disturbing the user. The Alarm Manager holds alarm data whether or not the app is running, and triggers the RecordingService when the alarm expires. You will see a red notification icon indicating whether or not the RecordingService is running. Hitting the BACK button and exiting will close the RecordingService and stop any running recordings BUT WILL NOT CANCEL ANY SCHEDULED ALARMS. There is a CANCEL button in the Alarm Manager page which cancels any alarms AND kills the RecordingService IF RUNNING. When visiting the Alarm Manager page, if there is a scheduled recording, you will see alarm data at the bottom of the page; otherwise all fields will indicate that no alarm is set. (A soon-to-come update will show a visual feedback on the main screen if an alarm is set so you don't have to go deep into the alarm page to find out.) Just remember, the only ways to cancel an alarm is to either hit the CANCEL button or reboot the device. For now the default recording location is your storage/AudioStreamRecorder.
In future updates we will implement the Custom Record Location for this function (maybe). For now, REBOOTING THE DEVICE CANCELS THE ALARM.</message1>
</item>

<item>
<name>App Update 7-3-2013</name>
<message1 category="android_________________________">Version 2.0.3.1.  Added YouTube button. Please note that you should have the YouTube app installed on your phone to work properly (from Google Play). The button will search any text that is showing in the display window so it won't always find what you are looking for.</message1>
</item>

<item>
<name>App Update 27-2-2013</name>
<message1 category="android_________________________">Version 2.0.3.  We have improved the Recording Location page: added the ability to record to any folder location on your device (internal or external memory).  PLEASE READ CAREFULLY THE IN-APP NOTES!  We have covered all info needed to use properly but it can get quite confusing if you aren't familiar with Linux file systems (Android IS Linux). ---PLEASE--- use Google to find the exact location address of your external SD Card; the app won't tell you.  Once you know this it should be easy to figure out.  Keep in mind that once you change the Record location you'll need a file explorer to see your recordings (or another music app that scans for local media).  I just haven't had time to add this functionality to this app but there are tons of free ones you can use.  I like ES File Explorer (free of course).  I don't mind answering questions about this feature but please don't use it if you don't know what you are doing...I'm especially interested in hearing from those who use it correctly but their device(s) do not behave as expected.  I'm generous with people who help me find and fix bugs! (don't get too excited but I'll refund your purchase price if you help me find and fix a bug...this may involve several back and forth emails).  I hope you enjoy this new feature and like taking even more control of your devices!  ***UPDATE*** With the checkbox 'unchecked' in the File Record Location page, you are actually letting Android scan your particular device and finding the default storage location that YOUR DEVICE is shipped with.  This may or may not be /mnt/sdcard/.  This is an advanced topic and I''m happy to answer your questions about it.  Leaving the box unchecked will work for all devices but you may fill up your internal storage quickly.</message1>
</item>

<item>
<name>App Update 16-2-2013</name>
<message1 category="android_________________________">Version 2.0.2.  Added Jazz category, as well as some great Top 40 and Alternative stations.  I added 1 Goth station (Magnatune Goth, under Gothic/Industrial) which I believe is one of the best I've heard.  Kind of bored here, no more bugs to fix ;) --- I need your great ideas for new station categories and app features.  We are still the best recording app out there as far as file quality and usability of recorded files, especially since fixing the recording buffer in the last update.  I take your comments very seriously so please let me know if something in the app (or not in the app) is bugging you...</message1>
</item>

<item>
<name>App Update 7-2-2013</name>
<message1 category="android_________________________">Version 2.0.1.  Important update which increases the Recording module's buffer.  I was noticing some buffer underruns and this appears to fix it.  Please report with any issues.</message1>
</item>

<item>
<name>App Update 3-2-2013</name>
<message1 category="android_________________________">Version 2.0.0 released today.  This update fixes all known bugs.  Fixed: in ICS and JB, if you close the visualizer in certain conditions, the app crashed.  FIXED.  In ICS and JB the Blog was not showing due to network restrictions in these versions.  FIXED.  Many minor layout adjustments for different screens.  On certain devices the mp3/wav slider was not rendering properly.  FIXED.</message1>
</item>

<item>
<name>App Update 27/1/2013</name>
<message1 category="android_________________________">I have added a page to change the default recording location.  The included notes give you all the information you'll need to use properly.  To access the feature hit "tools" and you'll see a folder icon now.  Since there are so many devices on the market I'd really appreciate some feedback about your use of this feature.  Just a quick email would be greatly appreciated.</message1>
</item>

<item>
<name>App Update 20/1/2013</name>
<message1 category="android_________________________">Lots more station URL fixes in this update and added a few more stations (RnB, Top 40, KPOP, Alternative). I'll get the Google Play listing updated in a couple days. I've also moved French Kiss FM to the RnB section and added Strangeways Radio to the featured section. When time permits, I'm adding a recording alarm to the app. You'll be able to schedule future recordings of your stations. To work properly this will require a background service to run on your phone. It's my top priority that NO unneeded services EVER run on your phone...I plan to make another notification icon in the notification area, so you will always know when this background service running (just as you now know when the Music Service is running by the blue icon).</message1>
</item>

<item>
<name>App Update 20/1/2013</name>
<message1 category="android_________________________">A note about station URLs...frequent updates are necessary because many of the more obscure stations either disappear or for some reason change their URLs. I'm trying to stay current so all stations play. As of today, ALL included stations are working, but some will sooner or later  die and need to be updated.</message1>
</item>

<item>
<name>App Update 19/1/2013</name>
<message1 category="android_________________________">Latest updates fix some broken URLs and add some new colors to the interface. We have added 18 new classical stations to the "classical" tab. We hope you are enjoying the new music. As always, send us your working URLs and they will be added in future updates. We are especially interested in great Classical and Early Music stations. Please test your URLs in the app first, then ask for help if you can't find your station's stream URL. We are also eventually adding more music categories (Polish, Italian, etc.). We really need your input and URLs. </message1>
</item>

<item>
<name>App Update 10/1/2013</name>
<message1 category="android_________________________">The below behind the scenes rework has been implemented: all music playback actions are being handled by 1 engine.  Playing of all your local music is next on our to-do list and will be implemented in the next major update.  Please email with any issues or feedback.  Please use the email link in the "help" tab.</message1>
</item>

<item>
<name>6/1/2012</name>
<message1 category="android_________________________">(more classical stations will be added soon)...We are working hard on streamlining playback of local recordings; this will be handled by the same Music Service that plays the streams (this involves a complete rework of the music playback engine, and will make notifications seamless between streams and local recorded files, and improve performance when receiving phone calls while listening to music). The current engine works great, but we want to integrate multiple actions into 1 engine (there are currently 3 engines handling all tasks). Ultimately this will definitely use less system resources! (Although we still feel that as-is this app is already more energy efficient than many music apps on the market.) Also, we are looking into adding the ability to play all local media on your device. Overall playback and performance will be improved in the next update. This will be another relatively large behind the scenes rework; thank you for your continued patience.</message1>
</item>

<item>
<name>Updated 24/12/2012 (this is a live feed)</name>
<message1 category="android_________________________">Reworked entire internal data structure. Due to data stacking (higher than Java allows) we completely reworked the app's internal data structure to use much less memory. Java allows 65535 bytes per method; we have drastically reduced each Media Player's URL call to a fraction of this amount by isolating each call. This should prevent ANR errors (application not responding). This also allows for unlimited expansion of the database without increasing the calling method's byte count.</message1>
</item>

</maintag>
