Short: bePlayer Author: beworld@sfr.fr (BeWorld) Uploader: beworld@sfr.fr (BeWorld) Type: mus/play Version: 1.5 Requires: SDL2 Architecture: ppc-morphos URL: https://www.morphos-storage.net/?find=beplayer bePlayer is little multiformat music player based on SDL2 / SDL2_MixerX. This player can play WAVE, MP3 (libMPG123), OGG (libvorbisidec, libogg), OPUS (libopus), FLAC (DrFLAC) all kinds of MOD (libXMP, libGME and MikMod), MIDI (fuildsynth sans glib) and some FFMPEG format (AAC, AC3 WMA...). Required: ********* MorphOS 3.17 mimimum Last SDL2 libraries package (2.24.1) : SDL2.library, SDL2_ttf.library Keyboard / Interface bePlayer: ****************************** SPACE key, P key / pause button (left click): pauses music S key / stop button (left click): stops music Stop button (right click): reinitializes playlist E Key / button Eject (left click): chooses one or multiple tracks Button Eject (right click): chooses one drawer KeyPad + key: volume up KeyPad - key: volume down RIGHT key: moves +5 seconds on current music LEFT key: moves -5 seconds on current music Mouse Wheel / player: +/- 1s on current music Mouse Wheel / playlist: navigates on playlist F5 Key: chooses a new soundfont (.sf2) for MIDI files only Q Key, ESC Key: closes bePlayer Button next: plays next music Button preview: plays preview music Drag and drop file(s): adds music to playlist Simple click on mini-scope: disables mini-scope Double click on mini: opens "big" Scope window 1 2 3 4 5 6 7 keys: changes color of all scope's lines L key: open/close playlist UP key: preview playlist DOWN key: next playlist RETURN / KeyPad ENTER: plays track on playlist Music title: load more information (Artist/Album/Copyright MetaTags) DELETE KEY: delete entry in playlist Scope window: *************** ALT/ENTER key: switch Window/Fullscreen C key: disable cap frame F key: enable/disable FPS UP / KeyPad + : volume up DOWN / KeyPad - : volume down RIGHT key: move +5 seconds on current music LEFT key: move -5s 1 2 3 4 5 6 7 keys: changes color of scope's lines Double click, Q key: close scope window, back to player GameController support: *********************** You need game controller compatible (xbox360, ps4 etc...) Gamecontroller doesnt control file requester. SDL_CONTROLLER_BUTTON_A: plays track selection SDL_CONTROLLER_BUTTON_B: pauses/resumes music SDL_CONTROLLER_BUTTON_X: shows/hides playlist SDL_CONTROLLER_BUTTON_Y / SDL_CONTROLLER_BUTTON_START: opens/closes scope window SDL_CONTROLLER_BUTTON_BACK / SDL_CONTROLLER_BUTTON_GUIDE: switch Window/Fullscreen (scope) SDL_CONTROLLER_BUTTON_DPAD_UP / SDL_CONTROLLER_BUTTON_DPAD_DOWN: selects preview/next track SDL_CONTROLLER_BUTTON_LEFTSHOULDER / SDL_CONTROLLER_BUTTON_DPAD_LEFT: plays preview track (1s rumble left only xbox360) SDL_CONTROLLER_BUTTON_RIGHTSHOULDER / SDL_CONTROLLER_BUTTON_DPAD_RIGHT: plays next track (1s rumble right only xbox360) SDL_CONTROLLER_AXIS_LEFTX: music position +/- 5s SDL_CONTROLLER_AXIS_RIGHTY: volume +/- 10 FileType: ********* bePlayer accepts argument(s) from CLI, you can use it with filetype. example : run >nil: beplayer %sp bePlayer accept a drawer content. Config file description: ********************* line 1: soundfont path/filename line 2: audio frequency (22050 / 44100) line 3: audio buffer (1024 / 2048 / 4096) line 4: window position X line 5: window position Y line 6: volume (0-128) line 7: scope fullscreen (0-1) line 8: RED color of scope (0-255) line 9: GREEN color of scope line 10: BLUE color of scope line 11: FPS limit for scope line 12: last path line 13: opcacity (0-100%) line 14: use real fullscreen Bugs/Limitations: ***************** - Some soundfonts files (sf2) can freeze bePlayer... - Midi / Fluidsynth: duration isn't in seconds. - Midi / Fluidsynth: some big midi consume lot of CPU... - Binary is now very big, just sdl2_mixer.library is included and FFMPEG support... - Compress mods (XPK for example) aren't supported Changes: ********* 10.11.22 - fix gamepad button B - enhanced PlayList - add Artist/Album/Copyright info (just click on music's title) - add FFMPEG to detect more format (AAC/AC3/WMA/MP4...) - sdl2_mixer.library now included into binary (no more need sdl_mixerX.library) - build with last SDL2 and last codecs - add libGME 0.6.3 - fix lot of module detection - add delete entry into playlist wth DELETE key 06.06.22 - add Opacity on config file (90% per defaut) - add Real Fullsreen or Fullscreen desktop (defaut) option - save last selected directory - Building with last SDL2 - Update sdl2_mixerX.library - so use last dependancies (use DrFLAC instead libFLAC) 19.03.2022 - Update sdl2_mixerX.library (last MPG123, Fluidsynth, libxmp, FLAC etc...) - Compiled with last SDL2 - add simple Notification support - fix a lot of bugs - now bePlayer use 100% opengl renderer 03.06.2021 - merge playlist window with main window - fixed some small bugs - better readme file - Update sdl2_mixerX.library (last libmpg123, libxmp, libmikmod) - add GameController support 28.04.2021 - add Scope window with fullscreen/window option (use OpenGL renderer) - add config colors scope lines - fixed some bugs 22.04.2021 - add MOUSEMOTION on volume and progress bar - add key l to open/close playlist 19.04.2021 - add visual volume control - add Key e and button to open playlist window 18.04.2021 - add mikmod to sdl2_mixerX.library (read more mod type) - control playlist with mouse/keys 14.04.2021 - Add little window for playlist... no action - rework player engine 12.04.2021 - Add drawer selection to add all files (recursive) (click right on EJECT) - Accept drawer on drag and drop and CLI argument - better transition between music 11.04.2021 - added save config on exit - changed soundfont by defaut (MuseScore V1 - 6Mb) 10.04.2021 - updated to fluidsynth 2.2.0 - added config file - fixed path - fixed launch from WB 01.04.2021 - start this project - create SDL2_mixerX.library Thanks: - K-L - Papiosaur