THE LEGEND OF XENOAMP
Do you ever get this feeling in the evening (or morning - I am not judging you!), when the music seems to be richer and more threedee, sung words become more understandable and you have a strong craving for pizza, dougnut, ice cream, or a box of chocolates? It doesn't matter if you feel like dancing or couchlocked, but when you reach for your trusty music player there comes the usual horror: HOW THE HELL DO I CREATE A PLAYLIST?! Sheesh!
So, XenoAmp was conceived on a Beach, when I was trying to create a playlist on my Rockbox-flashed Sansa Fuze, while going deeeeeep Down The Rabbit Hole.
"Click! Click! Where I was? Click! Click! Damn! Click! What was I doing? Damn! Click! Wait, what did I want?"
As much as I love Rockbox firmware, its interface is too geeky even for geekiest geeks. Man! I don't think I was ever able to create a playlist on Rockbox when I was baseline. I thought to myself: "there must be a better way!". So in the beginning I just wanted to create a wrapper for Android port of Rockbox, to make it a little less rough. Maybe even - turn it into a Pillowbox. But then, as it often happens with software, it grew. It grew only from the inside, though, as on the surface it stayed just very minimalistic: spartan "Now playing" screen with no widgets, each function accessible through a simple touch, sweep or sleight of hand. Before I throw some screenshots with explanation, check out CURRENT features (if you REALLY need to see how XenoAmp looks, resist the urge to peek at screenshots - static XenoAmp is dull, see "XenoAmp The Movie" instead).
Now the list of current features (some don't have GUI yet, but do exist). Since XenoAmp is all about music, let's begin with...
- Gapless playback on Jelly Bean!
- Replaygain support
- Standard audio controls: bass boost, equalizer, virtualizer, etc.
- Equalizer can be calibrated via automatic room correction (like Audyssey or YPAO) for optimal playback, regardress of amp/loudspeaker/place combination
- Headphones can sound as never before with audiogram-based calibrator
- Currently plays all audio formats supported by your Android version (as Rockbox is still not integrated)
- Experimental engine plays MP3, OGG, MPC, WMA, AIFF, FLAC, M4A, MP4
- Different sound profiles for dock/car/headphones. Going for a ride? Unplug your headphones, dock your android device in a car and it will equalize to your precalibrated car profile.
- Viper Audio 10-band equalizer used where available
- Browse your collection faster than ever - see it on a 2D pinch-to-zoom-able matrix with customizable axii: Albums by artists? Albums by years? Gneres by artists? ANY combination of ID3 tags is supported. Zoom out to see the mosaic of covers, zoom in to track level! Select quickly from albums in the same row.
- Were you missing AlbumArtist tag? Well - not anymore.
- Picking from zoomable matrix too fancy? Choose your tracks the way geeks do it: with filesystem browser.
- Browse your tracks by rating, date of listening, date of adding to library, or playcount, with neat flow-style interface.
- For all anal retentive among us: synchronize your music tags to MusicBrainz and Discogs, either automatically or by scanning barcode from your original CD.
- Automatic album art downloading (your embedded ID3 cover has a priority, unless of very low quality). Art is kept as normal png images on your filesystem.
- Don't like the album art XenoAmp's fuzzy logic picked? No prob - you can always choose a better one manualy.
- Index and play your cifs media to create a real audio station for your home (when mounted via cifs.ko).
- Browse and create playlists from files on your SMB network (even without cifs.ko)
- Edit tags for a bunch of tracks or mass edit by template.
- Outside of XenoAmp: click a file in ES Explorer, Total Commander, Solid Browser or Whatever File Browser and voila: you've created a playlist from current directory contents!
- "native" XenoAmp Playlists are kept in m3u8 with absolute paths
- manage .nomedia files inside xenoamp browser
- let XenoAmp choose tracks for you: random 100 tracks, random 10 albums, random never listened tracks
- Find tracks in similar mood in your library
- Filter your collection by provider (local files, Subsonic servers, Google Music...)
- You can't get more minimalist. Unless you turn off your display. If you more of a "hello, kitty!" person, you won't like it.
- Everything you do is just touch or sweep. Draw a circle for volume up/down.
- Managing playlists is no more a pain, you can EASILY (and I mean in a snap) create, delete and rename playlists, switch between them, append them with tracks based on any tag (artist, ALBUM ARTIST, year, genre...), shuffle, move tracks around, delete them, choose quickly across albums, toggle selection and so on. Just pull up those three dots on the bottom of the screen.
- Click playlist entry to play, drag to move up/down, sweep to delete. Touch tracks in any of available views (2d matrix, file browser, top chart) to add and remove them from choosen playlist (might be be different from currently playing), easily toggle selection.
- Internet radio
- Google music
- Subsonic (if you friends have Subsonic servers, you can sync to all of them!)
Bits and pieces:
- Voice control
- Control via headset button
- Scrobbling to last.fm and libre.fm (via wonderful "A simple last.fm scrobbler" - get it on the Market)
- Browse into M3U* and PLS, and recursively into playlists inside them
- M3U* and PLS handle local, HTTP and SMB entries
- Browse and search internet radio directory
- Player reacts to audio jack, incoming calls, respects Android audio focus and media button interfaces.
- Displays lyrics via LyricsWiki.
- Minimalistic home screen widgets, currently 1x1, 4x1, 4x2 and 4x4
- Respects .nomedia
- Most features working on Gingerbread (API 10), could probably be made to work on Froyo (they used to, but since all my friends migrated to GB I can't say if it is still working)
- Low end machines supported, working fluently on HTC Touch Pro2 (and that's a 528 Mhz CPU!). OK, not enough memory to display covers, but still usable.
- AVRCP - as stated in this post: http://rootzwiki.com/topic/23439-avr...uild-b33-ml-2/ AVRCP should be working on AOKP ROMs for anything that supports "A simple last.fm scrobbler" (which XenoAmp does).
- Sleep timer.
- Probably a lot more bits and pieces I forgot...
This product includes software developed by
8tracks / java-wrapper Credits to Fabrizio Ruggeri & ssuukk
Acme.Crypto Copyright © 1996 by Jef Poskanzer email@example.com, licenced under New BSD License
actionbarcompat Copyright © Mariotaku Lee
ActionBarSherlock Copyright © Jake Wharton, licensed under Apache License 2.0
bidi utils Copyright © Google
Bugsense Copyright © BugSense, Inc.
drag-sort-listview Copyright 2012 Carl Bauer, licensed under Apache License Version 2.0
EqualizerSurface Copyright © CyanogenMod
EventBus Copyright (C) 2012 Markus Junginger, greenrobot (http://greenrobot.de), licensed under Apache License Version 2.0
FFmpeg project libraries licensed under the LGPLv2.1
Google GSON by Google Licensed under the Apache License, Version 2.0
Google Play Client by xnickmx Licensed under the LGPL
gson-xml by Roman Mazur Licensed under the Apache License, Version 2.0
Inscription by Martin van Zuilekom Licensed under the Apache License, Version 2.0
jaudiotagger Copyright © Paul Taylor, licensed under GNU Lesser General Public License
jcifs licensed under GNU Lesser General Public License
JDOM Project Copyright © 2000-2012 Jason Hunter and Brett McLaughlin, licensed under Modified Apache Licence
JTransforms Copyright © Piotr Wendykier, licensed under MPL/LGPL/GPL tri-license
lastfm-java Copyright © Johann Kovacs, licensed under New BSD License
NanoHTTPD Copyright © 2001,2005-2012 Jarno Elonen (firstname.lastname@example.org) and Copyright © 2010 Konstantinos Togias (email@example.com), licensed under Modified BSD Licence
NineOldAndroids Copyright © Jake Wharton, licensed under Apache License 2.0
Pink Noise Copyright © Sampo Niskanen, licensed under BSD License
ShowcaseView Copyright Alex Curran (+Alex) © 2012. All rights reserved.
Do you think XenoAmp has not enough functions? Well, that's because I run out of blotters. Fund me one!
Wanna help with translation?
Track and playlist looping fixed.
New: a beep when headset button is pressed (can't test it, don't have headset)
Fix: profile menu missing on first visit to EQ fragment
Fix: rare FC on album double click on high DPI devices
Fix: FCs / small bugs
New: more metadata sources, more accurate results, preserving tag activity state
Fix: don't need to wait for current dir to load to get to parent dir in browser
Fix: Adding tracks to currently played playlist
Fix: Currently played playlist empty in playlist drawer (although playing) - should be fixed, tell me if it is not!
Fix: Xeno will start playback on single tap of "play" on widget
Fix: post-vacation bugfix release, metadata may still be broken
Fix: playlist drawer behaviour, esp. deleting/adding lists
Fix: file browser history fixes + position within visited dirs
Fix: attempt at fixing currently played list entries missing
Fix: a bug that would prevent first track from current playlist to play when clicked
Warning: metadata downloading partially broken due to changes being made there
Fix: "doubling" of next track on "gapful" Androids
Fix: purging all files when no local sync was added
Change: cover chooser now shows more covers
Fix: missing playlist action bar icons
Fix: bug in artist comparator (crash on sort by artist)
Fix: trying workaround for Android bug that hides ActionBar icons (Android issue 29472)
Fix: 8Tracks working again
New: video files will get a thumbnail as cover icon
Fix: tweaked thread priorities
Fix: more XenoAmp components will respect "block internet" preference
Fix: music view crashing if accessibility turned on
Fix: playback stopping when track was reset to start by user
Fix: threading cleanup. XenoAmp will now use not more than 5 threads, all will be cleanly finished on exit
Fix: register in Android as generic music player
Fix: starting media from external browsers
Fixed single column in music view
Fix: music view sped up a bit
Fix: purging removed files
Fix: a few bugs here and there
Update: translation, thanks andresrivas (es)
Fix: bitmap cache broken for several releases. Now... this should make a difference!
Fix: some bugs
New: navigation drawer, pull it from left for quick access to screens
Fix: playlist walker (those of you who have directory entries in playlists - playing them should be finally fixed!)
Release 0.248 - note version number change due to problems in Google Play
New: third main screen layout - tiny text (there's high chance it won't scroll)
Comeback: separate preference for scroll speed
Fix: bitmap cache now limited to 1/4 of available memory
Fix: playlist drawer and music view sped up a bit
Update: translation, thanks Dalibor (cs), Massimo (it), Mohamad (ar), Hadi (id)
Fix: shoutcast playlist entries metadata (you have to add them again to fix it!)
Fix: notifications of changes in playlist
Fix: files downloaded from SMB shares got overwritten by each other
- New: resume on headphones plugged (preference)
- Fix: alternate layout (sitill requires refresh or orientation change)
- Attempt to catch bug on prev/next track (playlist walker)
- Fix: sudden volume change on track change
- Fix: next track restarting
- Fix: a few bugfixes before more radical changes
- Fix: Crash on entering/exiting wifi zone
- New: A preference to force creating a copy of playlist for playback instead of using the playlist directly
- Fix: lots of FC fixes
- New: Preference to allow downloads only over WIFI and start/stop them depending on connection state, even when Xeno is not running (enabled by default)
- New: pause/resume buttons in download manager
- Fix: if downloading XenoAmp indexed file from Google Music or Subsonic, the file will be properly tagged
- Change: Heavy changes to crucial internal structures
- New: Download manager view
- Fix: fixes in downloader, try it on Samba and http streams!
- Working again: stop mark for playlist
- Fix: many FCs and bugfixes
- Fix: parent dir in Xeno directory chooser
- Fix: Sound profile has to be saved now
- Fix: Equalizer view reacts to external sound profile changes
- Fix: Sudden volume changes when changing volume on screen off
- Fix: native lockscreen controls
- Fix: responsiveness of While Playing Screen
- New: extended m3u8 format to support playlist sort order and track actions
- New: queue track action (removes track from playlist after playing)
- New: active playlist will sort itself after adding tracks
- Fix: bugfixes
- Fix: MarqueeView sped up a lot
- Fix: same goes to MusicView
- New: APE and MPC tag reading (writing not supported)
- New: JAudiotagger abstracted to work on SMB shares (WIP)
- Change: FFMPeg compiled from newest sources (but still barely usable)
- Fix: Purge won't run if synchronizer failed
- Fix: Now playing playlist sometimes empty on start
Download from Google Play
or see latest posts for newest development version...
or subscribe to twitter to be up to date: [Twitter]