Networks and Remotes > Remotes

JRemote2 for Android - Official Release -- Previous Thread

(1/63) > >>

Hendrik:
Over the last year we've been working on an all-new JRemote for Android, dubbed JRemote2.

Today, we're finally ready to officially announce its release! Some of you may have already found it on the Play Store and followed its Beta, but now its official!

This thread is about JRemote for Android only. iOS will continue to use the app it currently has, which Bob is maintaining.

Lets get to important things first:

Play Store: https://play.google.com/store/apps/details?id=com.jriver.jremote2

If you sign-up for the beta, you'll receive early updates, but be warned that we may be testing changes in Beta which may not be 100% proven yet. You can always opt-out of the Beta again in the future.
Beta Sign-up: https://play.google.com/apps/testing/com.jriver.jremote2

JRemote2 is available for $9.99 on the Play Store now.

The history of JRemote for Android, or, Why JRemote2?

JRemote was created back in 2015 by Lespaul, after he joined JRiver and we acquired JRemote for iOS from him. Unfortunately, he left JRiver before JRemote for Android was ever fully finished, at which point I was asked to salvage it and get it out to you guys. Unfortunately, being thrown nose first into the deep-end of a foreign code-base is not a good situation under the best of circumstances, and I wasn't exactly an experienced Android developer at the time either (and Android in 2015 was also in a much different place then it is today). Eventually we did produce a working JRemote for Android, at least I've been using it almost daily for years now, but it was never what it could've been.

Jump to six months ago, when Jim asked me to look into some of the reported issues in JRemote, my first step was to bring it up to date to the latest Android kit, at which point I already noticed that it hadn't aged well at all. While many of the development concepts used in JRemote were still very similar to what has become the standard today, the implementation was not. JRemote used a dozen or so third-party libraries, many of which had disappeared over the years - often because Google had created something similar for every Android developer out of the box. It didn't take me long to decide that it would be better to start almost from scratch.

JRemote2 is born

JRemote2 was created practically from scratch. The only thing I did re-use is the UI design, for one I think as a starting-point it was solid, and it makes the app feel familiar.

Everything else is new. Not a single line of code was simply copied. JRemote2 is written in Kotlin instead of Java, which has a lot of advantages, including crash-safety and a faster turn-around on new features, and I used all new modern Android development concepts and libraries, based on Android JetPack, a toolkit from Google to make modern apps.

Audio and Video Playback now uses Google's ExoPlayer2, which is far more capable then the default MediaPlayer JRemote used previously, this means we can support lossless FLAC up to 192/32, including gapless playback. And its extensible, which might allow us to add more native formats, and add some core DSP features like Volume Leveling in the future.

One key focus of JRemote2 is to make it reliable over all else, and hopefully we can deliver on that. Features that do get built-in should function reliably, and the app should ideally never crash.

What can you expect?

JRemote2 is still in full development, but we are confident that in the majority of cases JRemote2 is a solid replacement for JRemote and/or Gizmo. But be assured that we're not done with it yet, and many additional features are planned over the course of 2020.

Overall we're pretty confident about JRemote2, as it has shown a much better stability and responsiveness than the previous app, and additional features will be worked on over the coming weeks.

Current Features:

* Local Playback of Video and Audio streamed from Media Center
* Native Audio Playback for MP3, M4A AAC, FLAC (Gapless!), OggVorbis
* Remote control Media Center
* Play Doctor
* CloudPlay
* ChromeCast
* TheaterView Remote, known from Gizmo
* SSL support
* Preliminary Metadata Display
While the current feature list may seem short, those are the key foundation features that everything else eventually builds up on.

Coming Soon:

* Image Support
* Improved Landscape and Tablet Layouts
* Full Playlist integration, with edit capabilities
And finally, Planned Features for 2020:

* Volume Leveling
* Streaming Improvements
* Newer audio formats, AAC for lossy, investigate Lossless transcoding (FLAC transcoded streaming?)
* Improved video streaming - more control, higher quality, avoid transcoding if possible
* Streaming Live TV
* Most Importantly: Your Feedback
* .. and things I haven't even thought of, yet, or forgot when writing this list!
Feedback

We strongly rely on your feedback to make JRemote better. No single person will ever use every aspect of JRemote extensively, and everyone has different priorities of what it should do. So please do let us know!
For the time being, please keep in mind however that its still very much in-development, and this is a first look. :)

Known Issues / Missing Features

- The Search view in the Nav Drawer is not implemented yet
- Playlists cannot be "linked" to Playing Now yet, so you can't reload a playlist.
- Modifying Playlists, other then the Playing Now list itself, is not implemented yet

Hendrik:
JRemote 2.3.0 (02/04/2021)

1. NEW: Selecting the audio/subtitle language during video playback on JRemote2 (requires Media Center 27.0.61 or newer)
2. Changed: HLS Video Streaming is enabled by default.

JRemote 2.2.0 (09/08/2020)

1. Fixed: JRemote2 will properly refresh the CloudPlay login if it expired or becomes invalid.
2. NEW: Support for native ALAC playback.
3. Changed: Moved Play Mode from the action bar to the "kebab" overflow menu, with icons and proper selection list.
4. Changed: Play Mode is saved on a per-view basis similar to the view mode, allowing eg. audio views to default to Play All and video views to Play Single.
5. NEW: Added server system control commands (Shutdown, Restart, Sleep).
6. Changed: Casting to ChromeCast supports longer playlists.
7. NEW: Improved video streaming to ChromeCast with Media Center 27.
8. NEW: Optional HLS video streaming when playing locally for more reliable playback (requires Media Center 27).
9. Changed: In local playback, the "Previous" button behaves in a CD-player style, returning to the beginning of the track on a single click, and to the previous track on double click or when near the beginning.
10. Changed: Increased the height of the video seekbar touch area for better control.

JRemote 2.1.0 (04/10/2020)

1. NEW: Full CloudPlay support (requires Media Center 26.0.52 or newer)
2. NEW: Theater View Remote
3. Fixed: Saving Rating changes was not working properly

JRemote 2.0.9 (01/16/2020)

1. NEW: Implemented Wake-on-LAN
2. Changed: Added a long-click popup on the server list, which allows editing/deleting/waking servers.
3. Fixed: Resolved an issue that prevented JRemote2 from starting on Android 4.x.
4. Fixed: Repeated attempts to connect to a server would silently fail, instead of actually re-trying.
5. Changed: The Playlist navigation will no longer skip empty levels.
6. Changed: With MC 26.0.17 or newer, JRemote will avoid the default placeholder images for playlists or library folders.
7. Fixed: Adjusted the visibility of the fast scroll popup in the dark skin, and made the entire popup bigger.

JRemote 2.0.8 (01/10/2020)

1. NEW: Native OggVorbis playback support.
2. NEW: Google Cast support.
3. Changed: Hardware Volume keys can be used to control volume when remote controlling a Media Center instance.
4. NEW: Improved Fast Scrolling in Library and Track views, with Alphabet popup in Library views.
5. Fixed: "Screen Always On" now works as expected.
6. Fixed: JRemote could resume on the Playing Now screen when returning from Standby instead of the last location.
7. Fixed: Video duration is properly shown on Playing Now for local playback.

JRemote 2.0.7 (12/06/2019)

1. Fixed: Using the refresh button in library views would result in icons to be shrinking.
2. Changed: Internal changes to how the Playing Now view is being handled, please report any problems.
3. Changed: Enabled access to the navigation drawer from Playing Now.
4. Changed: Updated the navigation drawer for better support for Android 10.
5. Changed: The Playing Now layout has been updated according to forum feedback.
6. Changed: The name of the current server is shown in the Zone dialog and next to the zone name in Playing Now.

JRemote 2.0.6 (12/04/2019)

1. NEW: View Metadata of individual Tracks.
2. NEW: Support for JSON File Lists for better performance and support for longer lists (requires Media Center 26.0.9 or up).
3. Fixed: Stability improvements and glitch fixes.

JRemote 2.0.5 (11/27/2019)

1. Changed: Significant performance improvements when loading a long list of tracks.
2. Fixed: Stability improvements.
3. Changed: Faster connection to servers if mutliple IPs are available and not all are reachable.
4. Fixed: The Navigation Drawer opens much more consistently and predictably.
5. Changed: Increased the responsiveness of "App follows Sever Zones" in combination with ZoneSwitch.
6. NEW: Implemented the Edit Server dialog.
7. NEW: SSL/TLS support.

JRemote 2.0.4 (11/21/2019)

1. Changed: The Zone selector dialog refreshes the zone list on show, and has a manual refresh button.
2. Changed: Closing Playing Now will always restore the Main Activity, even if it wasn't open before (eg. when coming from the notification)
3. Fixed: Remote Controlled Playback uses Error Free Mode to avoid popup dialogs on the server.
4. Changed: Using the "Back" key on the root view will open the Drawer, and close JRemote on another "Back" press, instead of closing directly.
5. Fixed: Stability and responsiveness improvements.

JRemote 2.0.3 (11/20/2019)

1. Changed: Updated to ExoPlayer 2.10.8, fixing an issue detecting certain FLAC files.
2. Changed: The Notification is dismissable when playback is paused, which will stop and shutdown the player.
3. Changed: The current JRemote2 version is shown in the top of the navigation drawer.
4. Fixed: When streaming video, Playing Now would claim its receiving MP3.
5. Changed: The keyboard is automatically hidden on the Add Server screen, and no longer obscures any error messages.
6. NEW: Cover Art in the Notification
7. Changed: Enabled horizontal text scrolling (marquee effect) on Playing Now and the artist field in the track list header.

JRemote 2.0.2 (11/19/2019)

1. NEW: Play Doctor support
2. Fixed: Server List would show one corrupted entry

JRemote 2.0.1 (11/19/2019)

- Initial Internal Beta Release

Hendrik:
I've collected a few common requests that'll be worked on in the near future:
- Volume keys when remote controlling MC (they already work for local playback) (done)
- Indication which server you are currently connected to (done)
- Improved scrolling in long lists (the current grabbable quick-scroll bar is too small, and no alphabet display) (done)
- Option to disable ratings (also, changing the ratings in Playing Now doesnt work yet)
- Playlist views (and others) show the ugly default folder icon in their header (done)

Awesome Donkey:
Congratulations on this milestone! JRemote2 has been incredibly stable in my testing, and can play all my native FLAC files on my phone regardless if they're 16/44.1 to 24/192 (which other remotes can't go beyond 16/44.1 but JRemote2 can on my phone, thanks to ExoPlayer2 no doubt).


--- Quote from: Hendrik on December 04, 2019, 04:53:50 am ---I've collected a few common requests that'll be worked on in the near future:
- Volume keys when remote controlling MC (they already work for local playback)
- Indication which server you are currently connected to
- Improved scrolling in long lists (the current grabbable quick-scroll bar is too small, and no alphabet display)
- Option to disable ratings (also, changing the ratings in Playing Now doesnt work yet)
- Playlist views (and others) show the ugly default folder icon in their header
--- End quote ---

Yes please to all of those.

I'll post my revised feedback and feature requests lists...

Feedback:

1) What do the refresh/reload buttons do? Sometimes I add new stuff to my library, but they don't show up in JRemote2 unless I force quit the app and reopen it. I thought the refresh/reload buttons might fix that but they don't seem to do anything, as far as I can tell, hence my question. Like I add a new album for an existing artist in my library, in JRemote2 go to the artist I added a new album to, and look at the albums list. The newly added album isn't in the list and I press the refresh/reload button at the top right, and it doesn't make the new album appear. So the button there kinda confuses me to its purpose. If that's not how it works, having a feature that does this seems like a good idea to me, IMO.


Feature Requests:

1) Option to allow the Previous |< button in Now Playing to restart the current track instead of going to the previous track. Double pressing the Previous |< button could then be used to go back to the previous track. This would really come in handy and would address my biggest annoyance right now, trying to restart the currently playing track but instead after pressing Previous it goes to the previous track. Right now I have to try to use the seekbar to restart the track (which usually doesn't work too well, as I tend to 'restart' tracks a couple seconds into the track).

2) Have Settings and perhaps My Servers shortcuts in the three-dot menu in Now Playing.

3) Option to remember the current Playing Now list between runs (aka option to store the local playlist between runs).

4) Screen always on setting added (or amend the existing one for video) to work with audio during the playback of audio. I guess I could also see the use case for an option to always have the screen on regardless of playback state, for those who create a little system using an Android phone/tablet as a navigation/progress/control device. I do admit, creating something like this is rather tempting.

Out of all of these, the first one and the third ones are the most important to me (but first one over the third, easily). Like a bonehead, I keep making the mistake of trying to replay the currently playing track by pressing the |< (previous) button, only for it to play the previous song and not restarting the currently playing track... then I have to facepalm at my mistake at doing it once again. I guess I'll never learn, huh? :-X Also I've also noticed if you only have one song in your Playing Now list, the |< button doesn't actually do anything (neither does the >| next button for that matter) but I'm not sure if that's intended. They should at least do something, right?

HTPC4ME:
Thanks Hendrick for the update, and for re-creating/polishing this up... MUCH APPRECIATED!
few bugs/wishes from other thread, of things ive notcied/would enjoy seeing.


bugs/wishes:
1. editing of servers does not work/nor ability to rename servers
6. no sleep timer
7. no widget for homescreen
8. ability to adjust volume increments by 1% instead of 5 in original jremote/first volume button / media volume seems too loud for lowest setting
9. no ratings/or editable ratings on video playback

Thank you

Navigation

[0] Message Index

[#] Next page

Go to full version