Help

WFMU (formerly known as Woof Moo) is now the official Android app for WFMU, a listener-supported, non-commercial radio station in Jersey City, NJ.

Features

The WFMU Server API is powered by KenzoDB, written by Ken Garson Systems LLC.

Terminology

Sections

The app is split into major sections, each represented by a navigation tab at the bottom of the screen and an equivalent entry in the navigation menu .

Home

The home section is shown when the app first starts. From top to bottom, it includes:

  1. A carousel of shows and recently archived episodes.
  2. Followed shows that are streaming now or later (not present if no shows are applicable).
  3. A pager rotating through each of the four live streams, showing what is currently playing.
  4. A set of tabs for various station-related information.

Most prominently, next to the pager in the third item, is a listen button. Tap this button to play the stream displayed next to it. Swipe across the stream to show the other available streams. The pager automatically cycles through each stream every 10 seconds.

Streams

The streams section lists each of the station’s streams as a card, along with its current track and artwork. It offers an alternative way to start listening to a stream or get track information.

Tap on a card to view the playlist and comments for the episode currently live on this stream. Tap on a track in the playlist for more information about it.

Viewing the tracks of episode currently streaming, and getting information about a track.

You can’t post a comment from here. The list is read-only. To post comments you must use the player interface. See the Comments Page section below for how to access this.

Schedule

The schedule section defaults to showing each stream as a tab, containing a list of upcoming shows to be broadcast over the next seven days. If a show is currently live, its current track is displayed. The listen button at the bottom of the screen offers another way to listen to that stream.

You can also change how the streams are tabulated, using the Group By items in the options menu, in combination with the dropdown menu in the list.

A schedule tabulated by weekday and grouping first by stream, then by time. Then changing the tabulation to stream.

Tap on a show to open its dialog box, which contains a list of all recently archived episodes ordered by date. You can also follow the show from this view.

Tap on an episode to view the episode’s playlist and archived comments . Tap the listen button to play this episode either now (interrupting current playback) or next (queuing the episode to play after the current one finishes).

Get information about a track by tapping it. If it is archived, play the track by tapping the play button in the toolbar of the popup sheet. This requires the track to have been correctly timestamped.

Archive

The archive section is composed of 2 main parts:

Additionally, an I’m Feeling Lucky button opens a random episode from the archive.

Queues

A queue is a list of episodes that play from top to bottom. By default, there are no queues, so the section is empty (technically, there is always an ad hoc queue, but it is hidden by default. See the FAQ entry for more details).

The term “Queue” may be a misnomer. Strictly speaking, the episode at the head of a queue is the item currently playing, and the rest of the queue is what will play next. More accurately, the app uses an “Episodes List,” where the currently playing episode can be at any position in the list.

To create a new queue, tap the plus button in the top-right corner and enter a name. Check the Download Episodes Automatically box to download episodes as soon as they are added to this queue. This setting can also be controlled using the commands in the Automation section of the menu, along with options to automatically remove episodes or downloads when finished.

Episodes can be appended to a queue by tapping the Queue button in an episode’s dialog box. You can choose to add the episode to the start of the queue, after the current episode (next), or at the end of the queue. Tap the listen button to play the queue from where you last left off.

Creating a new queue, adding an episode to it, then playing the queue.

Reorder episodes by long-pressing and dragging them up or down. You can tap an icon to enter Selection mode, which allows you to select multiple episodes or drag them without long-pressing first.

Play a queued episode or get information by tapping on its name. To download an episode, tap the Download button. As before, tapping a track will open a sheet to play that track.

Downloads

Downloaded episodes are listed in this section. You do not need an internet connection to listen to downloaded episodes.

An episode can only be downloaded while it is part of a queue. When an episode is removed from its queue, any associated download is also removed.

Followed Shows

Shows can be followed, indicated by a star icon. Following a show adds it to this section. You can follow a show by tapping Follow in the show’s dialog box.

Tap the Notifications button on a followed show’s card to:

Following a show, and enabling a notification when the show is next streamed.

You can also subscribe to a show, meaning new archived episodes are automatically added to one of your queues. If that queue’s Download Episodes Automatically setting is enabled, the episode will also download in the background.

Following and subscribing to a show, to automatically enqueue new episodes.

Bookmarks

Episodes and tracks can be bookmarked and accessed in this section. This provides quick access to specific episodes or tracks. If the item is still in the archive, you can play it directly from here.

Note: Bookmarks are not associated with your WFMU account (the ‘clicky stars’ feature); they are stored locally within the app.

Bookmarks work similarly to web bookmarks; the content they point to can be moved or expire. If this happens, try manually checking the source of the bookmark. See this FAQ entry for more details.

History

The history section lists every episode and track you have listened to, limited to 1,500 items or 28 days (whichever is shorter). Like bookmarks, you can get info or listen directly from this list.

The Player

When playback begins, the Player card appears on the screen. It has two states:

To maximize the player, tap the player or drag the card up. Drag the card down to minimize it.

Maximising the player with a drag gesture.

Transport Page

This is the middle page of the expanded player. It consists of a dial and a small card showing the current track name. As before, swipe across the track name to change tracks.

The dial is an alternative way to view and control your position in archived episodes. The thin outer line is the “minute” hand; the thick inner line is the “hour” hand, representing progress within the episode.

Similar to an iPod® click wheel, drag it to reorient yourself. One full rotation advances playback by 1 hour.

Skipping tracks by dragging the dial, then by swiping across the track name.

The progress bar around the info button represents progress within the current track.

A sleep timer is also available via the menu or by tapping the moon button.

Playlist Page

Swipe right or tap the Playlist button on the right access the playlist. Tap a track name for more information, or tap its icon to skip directly to that track.

Maximising the player, then swiping to the playlist page.

Comments Page

Swipe left or tap the Comments button on the left to access the comments page. This updates automatically during live episodes. To post a comment, tap the Compose button. This button is only shown while an episode is playing.

This is the only supported method to post a comment.

Maximising the player, swiping to the comments page, and composing a new comment.

Home Screen Widgets

As of version 2024.09.273 (September 2024), the app provides home screen widgets. Access them by long-pressing an empty area of your home screen or long-pressing the app icon.

Tap the title or icon of any widget to open that section of the app, or tap refresh to update the widget manually.

Frequently Asked Questions

Why does an episodes show a "Not Found" or "404" error when I play it?
  • If the episode was recently archived (less than 28 days ago) this is usually because the DJ didn’t archive a high quality (HQ) format of the show for some reason.
  • If it was archived more than a month ago, the high quality format may have been removed from the archive after a month.

In either case you need to manually locate the “normal quality” format of the specific episode and play that instead.

  1. Locate the show in the vertically scrolling, alphabetically ordered list of shows in the archive, and tap it.
  2. If the episode was recently archived, select Show All Formats from the options menu in the top right corner.
  3. Select the episode without the HQ icon alongside it. This is the normal quality version.
Why does everything except live streams stop working for 2 minutes at 8am GMT?

I have no idea. Maintenance? ¯\_(ツ)_/¯

What is the ad-hoc queue, and why shouldn't I use it for downloads?

When, for example, an archived episode is chosen for playback, behind the scenes a queue is created, containing just this episode. This is the Ad hoc queue. Anything that was in the queue beforehand is removed.

For an episode to be downloadable, it must be part of a queue. When the episode is removed from a queue, its downloaded file is also removed. Therefore if the episode is in the Ad hoc queue and it has been downloaded, you must take care not to play a different episode, or the file will be removed its corresponding episode is removed from the Ad hoc queue.

Therefore the safest option is to create a dedicated queue, whose contents you explicitly manage yourself. Note that, as of version 2022.6.126, the Ad hoc queue is hidden by default. It can be made visible from the 3-vertical-dot menu in the upper-right corner.

How do I select the stream bitrate or format?

Either long press on one of the round buttons containing a speaker icon, or tap the three dot button in the Streams section.

How do I post comments using my WFMU account?

You don’t. Comments posted from within the app are currently not linked to any account. To use your account, go to the episode’s web page instead. A link to the relevant page on the web site is shown at the top of the New Comment dialog box.

It's a bit complex, isn't it?

Yes. The app was made from the ashes of an unfinished podcast player I was working on, and if you squint that’s basically what it still is. A show is a podcast, an episode is an episode of a podcast, a track is a chapter, etc. There’s even a silence skip feature hidden away. C’est la vie.

The app crashes on devices running Android 5, 6, and 7!

Mostly this seems to be related to a lack of memory. I have disabled image loading on these operating system versions as a temporary workaround.

Also, please keep in mind I’m just some guy with a single Android phone, so I can only do so much testing. Please leave Crash Reporting enabled in the Settings, to give me the best chance of fixing issues.

How do I download an episode of a show to listen offline?
  1. If you haven’t done so already, create a new queue (although the ad hoc queue is always present, it is not recommended that you use it).
  2. Find the episode you wish to add, either by selecting the show the episode belongs to, located in either the Schedules section or the vertically scrolling list in the Archives section. Tap the correct show, then tap the episode.
  3. Tap the Add to Queue icon in the top right corner, then select the queue you just created.
  4. Go to the Queues section, locate the queue you created earlier, and tap the episode you just added to it. In the dialog that opens, select the Download icon in the top right.

When you’re finished with the downloaded episode, remove the corresponding queue entry, and the download will be removed.

You can also mark a queue for Automatic Downloads. Any episodes added to it will be downloaded without your intervention. Enable this when creating the queue, or from the menu.

Why are some shows not listed in the app's archive but are present on the website?

The list of shows in the archive is supplied by the station. The policy concerning what is shown in this list (as opposed to the web site) is unknown, but appears to be based on whether an episode was archived in the last month.

As a temporary workaround, find a show’s ID from its show page URL on the web site. It is usually 2 letters or digits long. Eg: GV in https://www.wfmu.org/playlists/GV. Then choose Open Unlisted Show in the options menu of the archive section of the app, and enter it.

How do I get a notification when a live stream starts, or an episode is archived?

You must first follow a show.

  • Find the show in the schedules or the vertically scrolling list in the archive, and select it.

  • Tap the follow button in the menu bar.

From now on, if this show will live stream today it will be shown on the home page, below the carousel.

  • To receive a reminder when the show starts a live stream, tap the Notifications button on the show’s card, and check Live Streaming Starting.

  • To receive a notification when an episode of the show is archived, tap the Notifications button on the show’s card, and select New Episode Archived.

How can I change the order of the "section" buttons at the bottom of the screen?

Tap the More button at the bottom right, then drag each section to suit your needs. The first 4 sections are always visible.

How can I change the order in which streams are shown?

Select Reorder Streams from the menu of the Home, Streams, or Schedule section. Drag each item to the preferred order. You can also drag each card directly in the Streams section.

How do I save a downloaded episode as an mp3 file?
  1. Tap the corresponding episode in its Queue section, OR long-press on the episode in the queue to select it (you can also tap once on its icon).
  2. Select Copy Download to… from the 3-dot menu in the top right corner.
What's the difference between streaming and downloading an episode?

Downloading an episode transfers the entire episode to your device, whereas streaming splits it into 15 minute chunks (about 10 megabytes each). When you approach the end of one chunk, the next chunk downloads seamlessly.

Therefore you need to be online at the moment the next chunk is required. In this way, should you not listen to the entire episode, you haven’t wasted too much data.

As expected, live streaming requires being online constantly.

How do I sign in to third-party services (last.fm, Discogs, Spotify)?

Go to the app Settings page (using the navigation menu in the top left corner), and sign in to the respective accounts.

Note: You don’t need to install the respective service’s app to sign in.

From now on, when you display track information more options will be available.

How do I change tracks?

If the player is in a collapsed state (it occupies only the bottom part of the screen), swipe across the track name.

If the player is in an expanded (it occupies the entire screen), do one of the following:

  • From the Transport page (the middle page), either swipe over the track name at the bottom of the screen or drag the dial in a circular motion. Each dot on the outside represents a new track.
  • From the Queues page (the rightmost page), tap the track name, and choose play from the toolbar. You can also tap the track icon in the list, or long-press the track and choose Skip to Position from the context menu.
Why do episode from the archive include about 8 minutes of the following show?

I have no idea, but there’s nothing I can do about it.

To be specific, the audio for most episodes also include a few minutes of the shows before and after it, but in the preceeding case I can automatically trim that out (this isn’t always possible for Chromecast, hence its presence on that platform). Unfortunately, without knowing how long the audio overruns the latter can’t be removed.

Didn't this used to be called Woof Moo?

Yes. With the demise of the old official Android app (with the grey and blue icon), we (the station and I) concluded it made no sense to have an unofficial app without an official one.

Although the new app is published by WFMU, the only difference between the old Woof Moo app and the new app is the icon and name. Functionally it is identical, and as before it is still developed and released by me.