Console Hacking > PS Vita

[Release] ElevenMPV-A: Advanced ElevenMPV with BG playback/hardware decoding

(1/5) > >>

ElevenMPV-A - Advanced Eleven Music Player VITA

A homebrew music player for Playstation VITA that aims to support many different audio formats compared to the offical PS VITA music application.

BG playback support:

1. By default: with most of the games
2. With [LowMemMode plugin]( with all games

Currently supported formats: (16 bit signed samples)

- MP3
- ATRAC3plus
- IT
- S3M
- XM


- Browse ux0:/, ur0:/, uma0:/, xmc0:/, grw0:/ to play the above audio formats.
- BG playback.
- Pause/Play audio.
- Shuffle/Repeat/Repeat All.
- Equalizer.
- ALC.
- Next/Previous track in current working directory.
- Display ID3v1 and ID3v2 metadata for MP3 files. Other tags are displayed for OGG, FLAC, OPUS and XM.
- Touch support.
- Seeking support using touch screen.

About EQ modes (information by @realusagichan):

- Heavy EQ: bass and highs are boosted
- Pop EQ: bass and highs diminished, midrange boosted
- Jazz EQ: subbass and midrange diminished, mid-bass and treble boosted
- Unique EQ: subbass boosted, very high treble boosted, the rest slightly diminished

EQ modes may cause digital overload at max mixing level for loud music.
To mitigate that enable "Settings->Audio->Limit Volume Whith EQ" option (only software decoded codecs are supported).


In file manager:

- Enter button (cross/circle): enter folder/play supported audio file.
- Cancel button (cross/circle): go up parent folder.
- DPAD Up/Down: Navigate files.
- DPAD Left/Right: Top/Bottom of list.
- SELECT button: open settings.

In audio player:

- Enter button (cross/circle): Play/Pause.
- Cancel button (cross/circle): Return to file manager.
- L trigger: Previous audio file in current directory.
- R trigger: Next audio file in current directory.
- Triangle: Shuffle audio files in current directory.
- Square: Repeat audio files in current directory.
- Power Button: Turn off display and keep playing audio in background.
- SELECT button: open settings.

In background:

- Quick Menu: mixing volume adjustment.
- Interactive notifications.
- Power Button: Turn off display and keep playing audio in background.


To build this project you will need:

- Vita Development Suite:
- ProDG Visual Studio Integration for PlayStation Vita SDK (comes with PlayStation Vita SDK)


- joel16: [ElevenMPV](
- @realusagichan for testing and helping with debug
- dr_libs by mackron.
- libvorbis, libogg and libopus contributors.
- libxmp-lite contributors.
- Preetisketch for startup.png (banner).
- LineageOS's Eleven Music Player contributors for design elements.


Updated to v2.21:

- Reduced newlib usage to the minimum
- All settings are now saved in savedata0:

Updated to v3.00:

ElevenMPV-A v3.00 Update Full Changelog:


1. Redistributed CPU load to achieve best possible performance for software decoding. Performance in games is not affected by ElevenMPV-A.
2. Various small performance improvements.
3. Textures are stored in .psarc archive.

Supported formats, hardware decoding:

1. Added support for hardware decoding (Codec Engine, decoding is performed via SceShell) for the following codecs:
   - AAC (.m4a, .aac) (some .aac files may not play)
   - ATRAC9 (.at9)

2. Changed decoding to hardware decoding (Codec Engine, decoding is performed via SceShell) for the following codecs:
   - MP3 (.mp3)
   - WAV (.wav) playback
Performance of all of the codecs listed above should now be flawless even under the toughest conditions.

4. Enabled ARM NEON support for FLAC decoding.

New features:

1. Added the following devices to the device list:
   - grw0:
   - xmc0:
2. Added equalizer. Processing is always performed on hardware, even when decoding is performed on software. It is possible to change EQ mode during playback operation. Following EQ modes are available:
   - Off
   - Heavy
   - Pop
   - Jazz
   - Unique
3. Added "repeat all" playback mode.
4. If none of the playback modes are enabled, playback will be automatically finished when all files from the current directory has been played. This allows system to switch to sleep mode automatically.

UI and controls:


1. Reimplemented touch controls using SceSystemGesture engine.
2. "Tap" gesture is now recognized when finger is released from the screen.
2. Added touch scrolling in file browser.
3. Added touch support for back button in file browser.
4. Added settings touch button in file browser.

Music player:

1. You can now control mixing volume for ElevenMPV-A from Quick Menu, similar to official Music application.
2. Support for cover pictures has been permanently removed due to extreme RAM constraints. Music player UI has been reorganized to accomodate this change.
3. Improved seeking procedure:
   - Touch the progress bar in any position to enter seek mode.
   - While in seek mode, you can move seek bar to any position you want, playback will not be interrupted. You can also move your finger away from the progress bar, seek mode will be maintained.
   - When you want perform seek operation, release your finger from the screen.
4. Added EQ button to the music player. You can also press SELECT button to open it.

Updated to v3.50:

ElevenMPV-A v3.50 Update Full Changelog:


1. Use event flags instead of booleans. This should reduce CPU load even further when app is in background, since all unused threads are put in wait state.
2. Decreased app boot time (now using GXT textures).
3. Config file are now saved only when application is closed to reduce IO load. This should remove occasional stutters when changing EQ mode while software decoding is performed.
4. FPS cap is now automatically switched to 60 when browsing files/in settings and to 30 when in music player to reduce unnecessary CPU load.
5. Simplified exiting procedure, sceAppMgrQuitForNonSuspendableApp() is used now.
6. Use official pvf system font.

New features:

1. Game and theme BGM will now be resumed if you deactivate app without music playback.
2. Power saving.

   - Vita will automatically suspend if playback haven't been resumed after pausing it.
   - That feature can be enabled or disabled from settings menu.
   - Time period before power saving feature is activated can be adjusted in Settings -> Power Saving -> Suspend Timer.

3. Interactive notifications.

   - Notifications can be enabled or disabled from settings menu. You can also set certain notification features in official settings, Settings -> Notifications.
   - Notifications display playback status, current track name, artis (if present), track order, current track time.
   - You can stop playback or exit from ElevenMPV-A from notifications menu, press *** -> Cancel

UI and controls:


1. Reorganized settings menu.

Music player:

1. Motion controls.

   - Motion controls can be enabled or disabled from settings menu.
   - Following motion gestures are available:
      "Next": tilt Vita to the right, then return to horizontal position
      "Previous": tilt Vita to the left, then return to horizontal position
      "Pause/play": turn Vita upside down, then return to horizontal position
   - Time before motion gesture recognition is interrupted can be set set in Settings -> Motion Controls -> Timeout. For example, if that value is set to 5 sec, when you tilt your Vita to the right and wait for 5 seconds before returning it to horizontal position, "Next" motion gesture will not be recognized.
   - Angle at wich motion gestures will be recognized can be changed in Settings -> Motion Controls -> Angle Threshold.
   - Motion controls can be used in power save mode.
   - Motion controls are not available on PS TV.
2. Metadata strings is now not converted to uppercase (why was that even a thing?)
3. Current track number and total amount of tracks in the folder are now displayed on the music player screen


1. Fixed an issue that caused player to crash whith certain files.

Great project. Would it be possible to add the following?

m4a audio support
atrac1 sp / atrac 3 / atrac3+ (
ape audio support
wma audio support
support m3u / pls for Internet Radio or native url like
support cue for mp3 cd's with all tracks in one file


[0] Message Index

[#] Next page

Go to full version