-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- getuilabelvalue implemented full automatic spacing - added generate m3u by searching on one tag artist, title, album, genre and year audioplayer <audiosource> <tag> <tagquery> example: audioplayer.exe g:\data\mp3\classic artist beethoven generates the m3u file beethoven.m3u which then can be played by audioplayer.exe beethoven.m3u notes: * simple search so 195 is equivelant of ?195? or *195* * runtime in seconds is not calculated default is #EXTINF:134 * no explicit wildcard support - tweaked getmp3tag increase speed parsing mp3 tags - trimmed utilfile.bas - fixed .pls parsing and playback - update sdl2 from 2.26.5.0 to 2.30.7.0 - update sdl2_mixer from 2.6.2.0 to 2.8.0.0
- Loading branch information
Showing
6 changed files
with
410 additions
and
174 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
## audioplayer (sdl2 mixer) | ||
basic audioplayer written in freebasic and sdl_mixer\ | ||
* supported audio types are .flac, .mp3, .m4a, .mp4, .ogg, .wav | ||
* supported playlists .m3u, .pls | ||
* ascii interface | ||
|
||
if present coverart will be extracted and written to file as thumb.jpg\ | ||
When a file or path is specified the current dir and sub dir(s)\ | ||
will be scanned for audio file(s) which will generate an internal playlist | ||
## usage | ||
audioplayer.exe "path to file or folder"\ | ||
if a file or path is specified the folder will be scanned for an audio file\ | ||
if the folder has subfolder(s) these will be scanned for audio files as well. | ||
|
||
generate .m3u: audioplayer "path to file or folder" "tag" "tagquery"\ | ||
example: audioplayer.exe g:\data\mp3\classic artist beethoven\ | ||
generates the m3u file beethoven.m3u\ | ||
which then can be played by audioplayer.exe beethoven.m3u | ||
* simple search so 195 is equivelant of ?195? or \*195* | ||
* runtime in seconds is not calculated default is #EXTINF:134 | ||
* no explicit wildcard support, only searchs on one tag | ||
* supported tags artist, title, album, genre and year | ||
## configuration | ||
basic config options in conf.ini\ | ||
locale = <en, de, fr, nl>\ | ||
defaultvolume = <1 .. 128>\ | ||
playtype = <shuffle, linear>\ | ||
' dynamic range compression *currently not working with sdl\ | ||
drc = <true, false> | ||
## requirements | ||
sdl2.dll (32bit)\ | ||
https://www.libsdl.org/ | ||
and\ | ||
sdl2_mixer.dll (32bit)\ | ||
https://github.com/libsdl-org/SDL_mixer | ||
|
||
Note a number of bindings have been added to\ | ||
SDL2_mixer.bi\ | ||
located in <FreeBASIC-1.09.0-gcc-9.3>\inc\SDL2\ | ||
|
||
Either copy the SDL2_mixer.bi included in the source\ | ||
from\ | ||
inc\SDL2\ | ||
to | ||
<FreeBASIC-1.09.0-gcc-9.3>\inc\SDL2\ | ||
|
||
or add this to <FreeBASIC-1.09.0-gcc-9.3>\inc\SDL2\SDL2_mixer.bi | ||
|
||
>' added for version sdl2 mixer 2.6.2\ | ||
declare function Mix_GetMusicArtistTag(byval music as Mix_Music ptr) as const zstring ptr\ | ||
declare function Mix_GetMusicTitleTag(byval music as Mix_Music ptr) as const zstring ptr\ | ||
declare function Mix_GetMusicAlbumTag(byval music as Mix_Music ptr) as const zstring ptr\ | ||
declare function Mix_GetMusicCopyrightTag(byval music as Mix_Music ptr) as const zstring ptr\ | ||
declare function Mix_MusicDuration(byval music as Mix_Music ptr) as double\ | ||
declare function Mix_GetMusicPosition(byval music as Mix_Music ptr) as double\ | ||
declare function Mix_GetMusicVolume(byval volume as long) as long\ | ||
declare function Mix_MasterVolume(byval volume as long) as long | ||
|
||
## performance | ||
windows 7 / windows 10(1903)\ | ||
ram usage ~2MB / 2MB\ | ||
handles ~120 / ~200\ | ||
threads 4 / 7\ | ||
cpu ~1 (low) / ~2\ | ||
tested on intel i5-6600T | ||
## navigation | ||
press . to play next\ | ||
press , to play previous\ | ||
press ] to skip forward 10 secs\ | ||
press [ to skip backwards 10 secs\ | ||
press space to pause / play or mute / unmute\ | ||
press r to restart\ | ||
press l for linear / shuffle list play\ | ||
press d for dynamic range compression *note currently not working for sdl\ | ||
press - to increase volume\ | ||
press + to decrease volume\ | ||
press esc to quit | ||
# special thanks to | ||
squall4226 for getmp3tag\ | ||
see https://www.freebasic.net/forum/viewtopic.php?p=149207&hilit=user+need+TALB+for+album#p149207 | ||
rosetta code for compoundtime\ | ||
https://rosettacode.org/wiki/Convert_seconds_to_compound_duration#FreeBASIC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Oops, something went wrong.