Skip to content

Releases: ItzSkyeYT/InterTune

0.11.6

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 17 Oct 12:02

Music that comes back by itself, and fixes for 0.11.5.

Music back on Bluetooth. Music that stopped because your headphones, car or speaker went away can start again when Bluetooth audio connects within 30 minutes. Music you paused yourself stays paused. Turn it on under Settings > Player and audio > Resume when Bluetooth connects.

Name a song from Quick Settings. A Quick Settings tile and a home screen button open song recognition, already listening. On Android 13 and later, the card on Home for what is new adds the tile in one tap.

No more stutter when a song comes in slowly. Now and then YouTube sends a song slower than it plays, even on a fast network. The player kept waiting on it: a second of silence, a pause, a few seconds of music, over and over until the song was skipped. InterTune now notices when a song comes in slower than it plays and asks for it again on a fresh connection, from where it was. On a network that really is slow it leaves things as they are.

Local media's folders come first. Under Settings > Local media, choosing the folders to scan leads the scanner, with the folders you chose named under it.

About has icons. Every row under Settings > About wears an icon, like the rest of Settings, and the address for anything else, intertune.dev@gmail.com, shows under its row.

Clearer icons in Settings. Audio quality, Fix song volumes and the scanner's sensitivity get icons of their own. The sound bars now only ever mean song recognition.

Fixed

  • Scan with no folder picked, under Settings > Local media, opens the folder list instead of closing the app.
  • The card for what is new stays on Home until everything on it has been looked at, and Done at the end of a Show me leaves you in the setting it showed.

0.11.5

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 16 Oct 05:38
1efbe3e

Lighter on the battery, steadier on the music.

Much less battery. A song's card on Home read the database on every frame, even with the screen off: a whole processor core on a Pixel 5, now a quarter of one. The playing bars no longer redraw the screen under the open player.

Songs that had gone play again. YouTube sometimes gives a song a new id, and the old one answers "This video is not available". InterTune now finds the same recording and plays it. When it is not sure, it plays nothing and lists it under Exclusions as "No longer on YouTube".

More ways to reach a song. When YouTube refuses the usual source, InterTune tries two other ways, then YouTube Music's web player.

Import from another app. Bring your playlists from Spotify, Apple Music, Deezer, Tidal, Amazon Music, SoundCloud, Qobuz, or any CSV file. Pick the app and follow its three steps. Each song is looked up on YouTube Music, the unsure ones wait for you to check, and the playlists are made on this phone. It is under Settings > Backup and restore, and on setup's first page.

A note if you sign in. There is a small chance that YouTube restricts or closes an account used with InterTune. Setup and the Account page now say so, and whoever is already signed in is told once. The app works without an account.

Also new

  • Setup in three pages where it was six: what the app does, signing in or not, and a few questions, one at a time. Access to the phone's music is asked for only where it is needed.
  • A layout for a phone on its side. Lists run two abreast and an album or playlist has its header beside its songs.
  • Pictures in the explanations. Some "i" buttons show a small moving picture.
  • Android Auto, under Look and feel: why InterTune is missing from your car, and how to bring it in.
  • The sign-in page says who is signed in.
  • Report a problem, in About: the last fault the app noted, to copy or send with a report.
  • What is new after an update: a card on Home opens a page with a Show me for each.

A test that should not have shipped

Bluetooth signal log, a test row under Quieter as you walk away, was in 0.11 and 0.11.1 by mistake. When tapped, it wrote the names of Bluetooth devices nearby to a file on the phone. Nothing was sent anywhere. The row is gone, and InterTune deletes those files when it starts.

Fixed

  • Turning the phone no longer resets what you were doing. An open dialog or the page you were on stays.
  • A song no longer ends by itself half a minute in. About one song in three hundred did, always the same ones, with no error.
  • A song whose saved copy was damaged plays on instead of stopping at the same place.
  • With Keep the queue up to date on, going back no longer hides the songs already played, and reopening the app brings back the whole queue.
  • Dialogs keep their buttons on screen on a phone on its side with large text.
  • Turning local media back on brings back the Folders tab.
  • A crash on some phones while the notification showed how much of the song was loaded.
  • Restore and Song recognition's Clear ask before they wipe anything, and Log out also clears the sign-in page's cookies.
  • A song YouTube no longer has, or does not serve where you are, says so in plain words, not an error code.
  • The queue stays where you scrolled it, and a menu stays open when the song changes.
  • In Arabic, Hebrew and Persian the playback buttons and the seekbar run left to right.

Smaller things

  • Complete in German, Spanish, Brazilian Portuguese, Indonesian, Hindi, Italian and Russian.
  • Labels that were cut off get smaller to fit.
  • Grey and black and white covers give the player grey controls.
  • With Liquid glass on, the queue's bar is one floating glass pane, like the dock.
  • The sleep timer is a sheet, which a drag closes.
  • More buttons are named for screen readers.

0.11.1

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 09 Oct 19:56
c324688

Fixes for 0.11. One thing changes for everyone: History lists a song after 2 seconds of listening, where it took 5.

Playback

  • Music could stop, and the app would then not open. At the change from one song to the next, counting the play that had just ended could lock the app's database. Every song after it stayed on loading, and the app would not open again until it was force stopped. This is fixed. A database that is slow to answer also no longer keeps a song from starting, and closing the app no longer waits for it without end.
  • Play after a failed connection. A song that had failed while the connection was bad failed again at every Play, also once the connection was back, and only skipping to another song brought the music back. Play now asks YouTube for the song again.
  • One song that would not play could hold up the whole app. On a phone set to English, a single song YouTube would not serve, one blocked in your country for instance, made Home say "YouTube has paused this connection" and held recommendations, downloads and sync for five minutes. The app was reading its first source's refusal, which that source gives for every song, as YouTube refusing the connection. A song that fails is now only a song that fails.
  • A pause straight after a tap. A tapped song starts at once and its radio joins it a second or two later. A song paused in that time started playing again by itself when the radio arrived. A pause now stands.
  • A tap on the song the app came back to. After the app had been closed, it opens on the song it stopped at, and marks it as the current one in every list. A tap on it there did nothing, and only the play button started it. The tap plays it now. In the same state the heart in the player did nothing either, nor did previous and next in the queue. They work.
  • Two songs tapped one after the other. A tapped song plays at once and its radio joins it a moment later. When the first song's radio arrived after the second tap, the second song was cut off for the first, or the first played in its place. The song tapped last now keeps playing.
  • A song tapped after one whose radio could not be fetched, with no connection for instance, started where the song before it had been left and not at 0:00. It starts from the beginning, in a queue of its own.
  • The first song tapped after the app opens starts loading at once, where it waited until its radio had been fetched. When the radio could not be fetched, it did not start at all, a downloaded song included.
  • Starting the same song's radio a second time left two queues of the same name in the list of queues, one of them a single song. There is one.
  • InterTune asks YouTube for a song through one source after another until one serves it, and the first it asked has been refused on every song for weeks. It now starts with the source that served the last song.
  • On a network with both IPv4 and IPv6, a song was asked for over one and its stream fetched over the other, which YouTube can refuse. The stream is now fetched over the one its address was issued for, with the other as the way out.

History

  • History lists every song you heard for 2 seconds or more, where it took 5. That goes for what you played before the update as well. Play counts, Most played, your YouTube history and Last.fm still follow Minimum playback duration.
  • Signed in with a channel (a brand account), plays did not reach that channel's history in YouTube Music. InterTune now asks YouTube where to report a play as the account itself. There was no such account to try this with: if your history still stays empty, please say so.

Backup

  • After a backup was restored, the app closed and did not come back. It now reopens by itself.

Privacy

  • Network addresses are no longer written into the log, onto the player's error screen and what its button copies, into error messages or into crash reports. A failed connection named the address it went to and the phone's own, and the log held each song's whole stream address, which names your IP address. An address now reads IPv4 or IPv6, and a stream is logged by its host.

Smaller things

  • The cover on the lock screen, in the notification and in the system's media player was the small thumbnail a song is stored with, stretched. It is now fetched at the size it is shown. On a slow connection the small one shows at once, and the large one when it has arrived.
  • The widget fetches its covers at the size they are shown as well. A Recently played that is still short is filled up from History, and the preview in the widget's settings no longer goes blank while you change a setting.
  • The explanations behind an "i" are two or three sentences. Several had grown to a page, 311 words in one case; 54 are cut to what the thing does, in English and French. Quick picks source, under Settings > Library and content, is one row again.
  • On How it's doing, the Listens row said "in your History" of the plays that count towards play counts, and marked short listens "not in History", which lists them. It says "counted as plays" now.
  • Media control buttons is under Settings > Look and feel now, beside the player's other buttons. It was under Player and audio.
  • Stats showed a blank page for a period with nothing played. It says so.
  • In Arabic, Hebrew and Persian the player showed the end of a title written in Latin letters and hid its beginning, and the mini player cut off its first letter. A title now reads in the direction it is written in. An Arabic or Hebrew title in the English app does too.
  • More is named for screen readers: shuffle, previous, play, next, repeat and the heart in the full player, where only the sleep timer and the menu had a name; the three dots that open the menu of a song, an album, an artist or a playlist; and the tabs of the slim navigation bar.
  • The search pill begins with a magnifier until there is something to go back from. It showed a back arrow at all times.
  • On a narrow phone, "Local scanner" is written out under its button on Home, where it was cut short.
  • On a new install, the short tour of the app starts as soon as setup is done, where it waited for the next launch.
  • On some new installs that tour had a stop for the chips over Quick picks after they had gone, its bubble in the middle of the screen. The stop is left out when the chips are not there.
  • Previous, play or pause, and next in the mini player are named for screen readers.
  • On a tablet, the back button of a local playlist and of four pages under Recommendations was drawn under the navigation rail and could not be reached. It keeps clear of the rail now.
  • The two microphone permissions were each declared twice. Nothing the app asks for changes.

0.11

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 05 Oct 08:37
e82c8e0

This is the biggest InterTune release so far, more than three weeks in the making. Quick picks learns how you listen, InterTune can name the song playing around you, using Shazam, and there is a home screen widget. Most of what follows is a switch or a choice and stays off until you turn it on. What changes for everyone: whatever is marked "on by default", each with an off, the new seekbar and the top bars.

One thing to know

InterTune can count this install once a day: one short message with a random name that is replaced by an unrelated one every month, whether you installed from F-Droid or elsewhere, and the app and Android versions. It is off until you say yes, it asks once, and Forget my current name drops the name. Nothing about what you listen to is ever sent.

After the update, a few quick questions come up once, for what needs your say-so and was never asked on this phone: this count, and whether recommendations may use Last.fm (below). The first start after the update can also take longer than usual on a big library, while albums are sorted out (see Fixes).

Recommendations

  • Best recommendations (experimental), a new Quick picks source beside YouTube Music and Your library, and where a new install starts. Updating keeps the source you had. It builds the row from how you actually listen: what you finish, search for and like, when you play it, what you come back to and what you pass over. Twenty cards from five lanes: related to what you play, songs you come back to, more from artists you finish, favourites gone quiet, and artists you have never played.

  • Try both: a row that mixes Best recommendations with the other source, card for card, so you can compare them fairly.

  • Rank with your listening and Tidy Home rows are switches now. Since 0.10.8 Home has ordered the YouTube Music and Your library rows by what you finish, search for and like, and kept repeats and other versions of a song out of its rows; both stay on unless you turn them off.

  • Quick picks leans toward, under Settings > Recommendations, for when Best recommendations fills the row. Auto is the row as it was. The other four choices give one kind of song most of the cards, the first ones included: songs you have never heard, more from artists you keep coming back to, things you loved and forgot about, or songs that fit what you are playing now. Changing it rebuilds Quick picks at once, and a choice with too little to give leaves you the usual mix.

  • Context chips above the row: Auto, Discover, Favourites, Focus, Chill and Party. The three moods learn from what you play while they are on.

  • Why these? on the Quick picks heading: the songs the row was built around (each can be turned down), the lanes, and the exclusions in force. A line under each card says what put it there.

  • Adventurousness and Familiarity dials, and New songs only (also a chip on the row).

  • Adventurousness puts one song by an artist you have never played in the row at its lowest and three at its highest, two by default, so new names never crowd out the rest.

  • Long-press a card for Not this song, Less of this artist or Never this artist. Exclusions touch the recommendation rows only, never search, your library, playlists or radio, and banning a song covers its other versions. Rest songs I skip (off by default) rests a liked or often-played song for a week when you skip it before its middle.

  • It learns from what you play and pass over, a little at a time, never more than a set amount per day. How it's doing under Settings > Recommendations shows cards played of cards seen per source, how often each row held what you played next, how well it predicts, and the weights beside where they started. Learn from listening is on the first page. Forget the last session, Forget today's listening, Reset what it learned, Rebuild what it learned, Save a copy and Load a copy are under Your data.

  • Settings > Recommendations is three pages: the settings you change, How it's doing, which opens with a plain summary and says what each figure counts, and Your data, where anything that changes what it has learned asks first.

  • Discover something new (on by default): a second row under Quick picks, of songs you have never played at all, picked the way Best recommendations picks. A song you skipped after a few seconds counts as played. Pull to refresh for other songs.

  • Similar songs from Last.fm and YouTube: InterTune asks once whether Best recommendations may use Last.fm as well as YouTube. Say yes and it takes similar songs from both, what Last.fm's listeners play alongside a song and what YouTube lists beside it, and leans toward whichever you actually play, never more than four in five either way so it can swing back. Or pick one in Settings. With Last.fm, InterTune sends it the title and artist of each song you play, and once, of the songs you played in the last month and the ones you liked, and nothing else. Until you answer, nothing is sent.

  • Quick picks never has more than two songs by one artist, or four among the leading cards when you choose More from artists I keep coming back to.

Song recognition

  • What's playing? Tap the waveform in the search bar. InterTune listens, Shazam names the song, and it is found on YouTube Music so you can play it or add it. No account needed.
  • Listen once names one song, and gives up after about half a minute if it hears nothing it knows. Keep listening carries on in the background, with the screen off, and lists everything it hears. Switching between the two does not stop it.
  • From that list, Create playlist or Add to playlist. Every song it hears after that goes into the same playlist.
  • The notification shows the song playing around you and how far into it the room is, and goes back to "Listening" as soon as the song changes.
  • When Shazam stops answering (no network, or too many requests), Keep listening waits longer between tries, says so, and carries on by itself once Shazam answers again.
  • In Keep listening it knows which version is playing. A sped-up or slowed edit is measured by how fast it plays rather than guessed from a title.
  • Mashups and remixes. In Keep listening it notices when a song is being cut up with others, or when Shazam keeps naming different versions of it, and looks for the mashup or remix on YouTube instead of adding the pieces. When two uploads are equally likely, it asks.
  • A mashup you have answered is asked about again only when an upload names more of the songs heard. Uploads turned down with None of these are not offered again, and a playlist notes each mashup once.
  • On headphones your music keeps playing while it listens. Only the phone's own speaker pauses, whether you listen from the search bar or from a playlist.
  • What you have heard, from the clock button on the What's playing? screen: the last 200 songs it has recognised, and when.
  • Your playlists have a listen button in their header, to fill one with what is playing around you. If What's playing? is already listening, it says so and offers to switch, and closing it leaves that run going. The What's playing? screen does the same when a playlist is listening.
  • Settings for how long each listen lasts, whether matches are added by themselves, and whether the screen stays on.

Home screen

  • A widget: what is playing, with previous, play or pause and next, and a list under it. Tap a row to play it. It works with the app closed, and its play button brings back the queue you were on.
  • It takes the shape of its size rather than scaling: one cell is the cover with play over it, a single row is one slim line, and four by two is the song with rows under it. With no room for a row, or set to show only what's playing, a square one lets the cover fill it with the song over it, and a wide and tall one puts a big cover beside the song. Nothing is cut off at any size or text size.
  • Each widget is set up on its own, when you add it and later from the launcher: what it shows (what's playing, a list, or both), which list (Quick picks, Forgotten favourites, Keep listening, Recently played), how many rows, the background (the system's, dark, light, taken from the artwork, or none), how solid it is, which buttons, the text size, whether artwork, artists and the heading are drawn, and whether the corners are rounded. The settings show the widget itself, changing as you choose.
  • Play liked songs on the app icon: long-press it, or pin the shortcut to your home screen.
  • The Songs, Albums and Playlists shortcuts on the app icon open their tab again. They had been opening the app on its first tab.

Stats

  • The Stats page now says something about your listening, above the most played lists: how much you listened and how that compares with the period before, the hours you listen at, and findings such as the song you played most in one day and how many of those plays were back to back, a song that came back after weeks away, the artist you always hear to the end, your longest session and nights past midnight. Each only shows when your listening backs it up. Nothing leaves the phone.
  • Most played artists covers the period you pick. At 1 week it showed the month so far.

Player

  • An M3E seekbar: a bar thumb with a gap either side, and a thicker track.
  • A sleep timer button beside like and the menu.
  • Player buttons: Classic, or Connected, which puts share and like together by the title and adds a row under the controls for lyrics, the sleep timer and the menu. Classic by default.
  • Swiping the artwork changes song again, including straight after the app opens.
  • In landscape the controls always have room for all five transport buttons, and with Liquid glass on the outer ones no longer run into the rounded ends of the glass bar.
  • In a small pop-up window the controls shrink together to fit, ra...
Read more

0.10.9.6

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 27 Sep 11:36
2ba3420

A fix for songs that stop with "Source error (2004): Response code: 403", which some of you got on every song.

  • Songs play again. Most songs need a visitor id from YouTube. InterTune fetches one when it starts, and when that failed (the "Failed to get visitorData." message when opening the app) or YouTube had stopped accepting the one it had, every song fell back to a source YouTube cuts off, and stopped with the 403. It now takes a new id from YouTube's own answers when it needs one, asks again, and keeps the one that works.
  • When YouTube does refuse a song, the error says what YouTube said, such as "Sign in to confirm you're not a bot", instead of the 403.
  • Copied error reports list what each source answered, so reports like these are quicker to sort out.

Nothing else changed.

0.10.9.5

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 26 Sep 14:45
94db3a2

A small update on top of 0.10.9, so the Discord server can reach you before 0.11, with a few fixes from 0.11 that should not wait for it.

  • News from InterTune. Announcements about the app, with their own switch: you are asked once after the update, and it is already on if you said yes to questions. They open full screen like a question, with pictures and up to three buttons. The first is about the new Discord server: https://discord.gg/68jmqhMjXk
  • Links you can tap in questions and announcements, which can also have paragraphs, lists and bold text.
  • Discord in About, next to GitHub.
  • A count of who opened a question or an announcement. Opening one is counted once, anonymously: its id, its title and the app version, nothing about you or your device. Answers were already sent the same way. With questions and news both off, nothing is fetched and nothing is sent.

Fixes

  • Lyrics were often missing for songs started from search, even obvious ones, and every song was looked up twice. Songs named in Chinese or Japanese now find their lyrics on KuGou whichever script they are written in.
  • The player's buttons no longer shrink when lyrics are on.
  • A long title fades out before the buttons beside it, instead of stopping mid-letter against them as if it ran on underneath.

New, off by default

  • Queue button (Settings > Look and feel, under Behavior, with the swipe gestures): opens the queue from a button beside the title instead of pulling it up from the bottom of the player. Like and the menu stay where they are.

Nothing else changed.

0.10.9.1

0.10.9.1 Pre-release
Pre-release

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 25 Sep 17:01
21ace54

No features. Nothing in the app changed.

This is 0.10.9 rebuilt so F-Droid can build the identical APK from source and ship it with this signature.

This is a pre-release on purpose. If you are on 0.10.9 there is nothing here for you, and the in-app updater will not offer it.

0.10.9

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 20 Sep 22:10

Fixes. Nothing new to learn, nothing moved, and the bigger work is waiting for 0.11.

Liked songs

  • Likes stopped coming back unliked. Syncing removed likes it had merely failed to fetch. If YouTube returned an empty or partial list of liked songs, InterTune took that at face value and unliked everything missing from it, quietly, on a normal sync. It now ignores an empty response entirely, and a song only loses its like after being absent for three days running, so one bad reply cannot undo anything.
  • Downloading your liked songs counts and cancels correctly. The progress figure counted songs that had only started downloading, so it ran ahead of what was finished, and cancelling could take songs that were not part of the batch.

Playing

  • A song that fails no longer strands the queue. Pressing next after a playback error played nothing; it now moves on to the following song.
  • Age-gated songs say so. Instead of playing a thirty second wrapper or failing without explanation, the app says the song needs an account that is allowed it.
  • Notification buttons draw on Samsung phones. The like, shuffle and repeat icons were missing on One UI because of how they were named.
  • A request that never answers now fails rather than holding the player open indefinitely.

Quick picks

  • Previews no longer appear. A thirty second preview is never what anybody wanted, and it costs the slot twice: once when it plays, again when you go and find the real one.
  • Radio no longer starts from songs you have not played. It could build a station around a track that had only ever been shown to you.

Interface

  • The refresh spinner stops when the row you pulled for is ready, instead of turning for several more seconds while rows further down the screen fill in.
  • The keyboard stays up while you are still typing. Searching hid it roughly a third of a second after you stopped, because new suggestions shifted the list and that was mistaken for you scrolling it.
  • The navigation bar shrinks when the window is too short for it, so it stays usable in a pop-up or split-screen window.
  • The button that explains a setting is now large enough to hit, and leaving a screen is a deliberate action rather than something a stray gesture does.

Backups

  • More intervals: every 6 hours, day, week, month, 6 months or year, instead of only daily or weekly.
  • Backing up says it is working. It used to freeze the app for several seconds with no sign of anything happening, which is exactly when people press the button again. It now runs in the background with a spinner, and will not start a second backup on top of the first.

Building

  • The app builds without local.properties, produces an unsigned APK when no signing key is present, and no longer carries one machine's JDK path in a file everybody clones. None of this changes the app; it makes the F-Droid build possible.

0.11 is not a fixes release.

0.10.8.5

0.10.8.5 Pre-release
Pre-release

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 19 Sep 20:54

No features. Nothing in the app changed.

0.10.8 could not be built by anyone who did not already have this repository's private files, which is everyone. Two reasons: without a local.properties the generated BuildConfig came out malformed and nothing compiled, and without a signing key the build ran all the way to packaging and stopped there. Both are fixed, and the project now targets Java 21, which is what the release builds were already running on.

This is a pre-release on purpose. If you are on 0.10.8 there is nothing here for you, and the in-app updater will not offer it.

0.10.8

Choose a tag to compare

@ItzSkyeYT ItzSkyeYT released this 15 Sep 17:20

Backups are the big one this time. Two freezes are gone as well, and Quick picks is four seconds faster and much better behaved.

Backups

Pick a folder, pick daily or weekly, pick how many to keep. Library, playlists, settings and listening history, on a schedule, without thinking about it again.

It is careful with them. A backup that fails halfway deletes its own half-written file rather than leaving something the restore would accept, and nothing old is pruned until a new one has actually landed. If the folder goes missing it says so instead of retrying quietly.

Off until you turn it on.

The queue as a playlist, playlists as files

One button on the queue sheet turns whatever you are listening to into a playlist, in order, named by you. Radio songs that were never in your library get added too, so nothing is lost.

One tap exports every playlist you own as M3U files into a folder you choose.

The freeze on "Wait to reconnect"

A single failed request could stop playback for good. The app showed that message and waited for the network to come back, except the network had never gone: one name lookup had missed on a connection that was working fine, and nothing was ever going to release it. Force closing was the only way out.

The player made it worse by drawing a pause icon over a dead player, so the one button that would have fixed it looked like the button that would stop the music.

It retries now, then decides, and the button shows what it actually does.

Let other apps play at the same time

If this worked sometimes and not others, it was not your phone. The setting was read once, when the app built its player, and never again, and that player survives pausing, backgrounding and swiping the app away. So the switch did nothing until the process happened to be killed.

It applies the moment you turn it on, mid song.

Android still mutes music for the length of a call whatever this is set to, and some phones stop background playback to save battery, so allow unrestricted battery use if the music keeps stopping.

A back button on the mini player

It had play and next and no way to go back. Now it has one.

Quick picks

Four seconds faster: it had been waiting behind nine requests fetching rows further down the screen that it does not need.

The rest is behaviour. No more blanking on every refresh, no more two rows with the same name, no more hour-long mixes under the Quick picks heading, no more a card disappearing while you are in the player, no more refreshing into the same twenty songs reordered, and no more one song four times because it is live, slowed, remastered and an official video.

Smaller things

  • Skipping is lighter. Every song change used to read the settings file four times, three of them on the thread that draws the screen.
  • Artists are no longer sometimes called "431K plays" or "Aug 25, 2016". YouTube leaves that slot empty on some rows and the app took whatever was there. Names already saved that way are not repaired yet.
  • Predictive back, an Offline tab, removing a song from a playlist without leaving the player, resuming playback on open, a Highest available audio tier that reports what is actually playing, and the app saying so when the song cache is off.
  • F-Droid installs update through F-Droid.

The listening log

InterTune now keeps a record of what you play: every stop, how far you got, how it ended, where you started it. It stays on your device, in the app's own database, and goes nowhere else.

Two things read it today, both Quick picks improvements above: the row skips what you just heard, and it is ordered by what you tend to finish rather than the order it arrived in.

Settings > Privacy and history > Pause listen history turns it off, Clear listen history deletes all of it, and it travels with your backups.

It is also groundwork. Something rather bigger has been waiting on this, and it wanted a history to start from rather than a blank page. Give it a few weeks of your listening and you will see why. 👀


Upgrading from 0.10.7 was tested against a real 39,000 song library: the migration runs clean, playlists and history survive, and the old play log is folded into the new one.