Short: multi format sound player. Author: lombi@iprimus.com.au (Lorence Lombardo) Uploader: lombi iprimus com au (Lorence Lombardo) Type: mus/play Version: 140508 Requires: mpega.library, sndfile.library Architecture: m68k-amigaos _ ____ _____ _____ | | / __ / ____|/ ____| _ __ | | __ _ _ _| | | | | __| | __ | '_ | |/ _` | | | | | | | | |_ | | |_ | | |_) | | (_| | |_| | |__| | |__| | |__| | | .__/|_|__,_|__, |____/ _____|_____| | | __/ | |_| |___/ playOGG v140508 (C) 2005-2014 Lorence Lombardo. A minimum of 16MB of fast RAM is recommended to use playOGG reasonably comfortably. A 68020 or greater is also required. AHI & "reqtools.library" recommended...!!! What the @#$% is playOGG ? playOGG is a sound player for OGG Vorbis, MP3, FLAC, AC3, RA, SID, SAP, other modules and many other sound formats. Raw files having the extension ".raw" will be treated as CDR/CDDA standard. For the other supported sound module types please refer to the "PS3Mrec", "med2xm" documentation and for the other supported sound formats please refer to the sox documentation. Support for Christian Buchner's ADPCM2/3 package has also been added. See the archive "ADPCM_Package.lha" on the aminet for related interest. There is also support for Stéphane TAVENARD's ADPCM4 format. The AAC format is also supported. Support for Richard Koerber's 16SV format has also been added. See the archives "SoundBox.lha" and "SoundBoxKey.lha" on the aminet for more information about the 16SV format. There is also support for 8SVX-ADPCM2/3. See the archive "8svx_comp.lha" on the aminet for more information about this format. 8SVX-FDC/EDC is also supported see the archive "wavepak.lha" on the aminet for more information about this format. AIFF and WAV files compressed with "Shorten" are also supported. RIFX-WAVE Motorola files are also supported and "8SVXtoXXX.lha" from the aminet is able to produce this format. Float 32 & 64 bit file types such as AIFF and WAV are also supported. playOGG is also a sound player for a number of video formats. Please refer to the "ffmpeg" documentation for the supported formats. A number of video formats have been disabled by default, since these formats seem to be hit and miss by the ffmpeg decoder due to these formats having a number of sub variants. These formats may or may not cause ffmpeg to crash and are as follows:- AVI, ASF and MOV . To enable the playing of these formats you need to set the "ENABLE" icon tooltype to "1". See the archive "ffmpeg.lha" on the aminet for the complete package. playOGG uses a dual device buffering system, which is calculated relative to the files specification. There is a "BUFFER_DIVIDE" icon tool type which will allow you to change the PIPE and AUDIO buffers to your liking. Increasing this value will actually reduce the buffer size and valid values are between 1 and 200. There is also an AHI "UNIT" tool type. There is a volume "BOOST" tool type for the other sound module types. Please refer to the "PS3Mrec" documentation about this. Setting the "BOOST" tool type to "AUTO" instead of a value will automatically provide the optimum boost value specifically for each track. There is also a "VERBOSE" tool type if you want to see what the player decoder in use is doing set it to "1". The recommended output device for verbose mode is the "RAW:" device, however this can be changed with the "VDEV" tooltype. The "BUTTON_WIDTH" and "BUTTON_HEIGHT" tool type's allows you to set the buttons dimensions not less than 20 and not less than 10 respectively. The window's size will be automatically adjusted for you. Setting the "QUIT" tool type to 1 allows playOGG to automatically quit at the end of the last track when in play. Setting it to -1 allows playOGG to play in a continuous loop when in play. The "PUBSCREEN" tooltype should be fairly straight forward. Setting the "TIME" tooltype to 1 will allow the track time to be displayed in playOGG's window title bar. Different track formats will have different levels of time support. playOGG provides its maximum time display support for file types such as WAV and CDR of file sizes of up to 4GB, and beyond that for the AIFF format (bits x channels / 2 = GB max for AIFF) . Setting the "PROG" tooltype to an integer value greater than 0 will activate the progress indicator and will make it the height of that value. The valid range for this tooltype is between 0 and 100. The "PROG_COL1" and "PROG_COL2" tooltypes allows you to set the colors of the progress indicator. If the "MMU" tooltype is set to "1" then the formats ULT, AMF, IT, GDM, 669, STM, MMD0, OKTA and FAR will be played with MikMod Utilities instead of XMP. Setting the "PS3MREC" tooltype to "0" will divert all of "PS3Mrec"'s formats to XMP. When the "MED2XM" tooltype is set to "1" MMD1/2/3 will be played with the med2xm/PS3Mrec combination, otherwise it will be played via XMP. When the "SIZEABLE" tooltype is set to "1" this adds a larger bottom border with a size gadget to playOGG's window's, allowing re-sizing to occur during usage. When the "SAVEONEXIT" tooltype is set to "1" playOGG's button dimensions and the list managers window dimensions will be saved to the tooltype's, if a change has occured upon exiting playOGG. When the MULTI_SC68 tooltype is set to "1" this enables the SC68 multi track selector for sc68 files which contain multiple tracks. If the "ALL" button is clicked all tracks will be played. If the close gadget is clicked then the default track will be played. The default track will be shown in the selectors window title bar. When the MULTI_SC68 tooltype set to "0" only the default track is played. When setting the MULTI_SC68 tooltype to "2" this will play all of the tracks within a multi track sc68 file without bringing up the multi track selector. The MULTI_AHX tooltype has the same behaviour as the MULTI_SC68 tooltype, but for AHX files which contain multiple tracks. The default track will always be zero for AHX files. The xPack library will be utilised if available. StoneCracker, Imploder, PowerPacker and CrunchMania crunchers are also supported. XFD will also be utilized if available for other crunch types. XAD will also be utilized if available for the following single packed archivers and packers:- LHA, LZX, ZIP, 7zip, Shrink, BZIP, GZIP and compress. See "arcsing.lha" on the aminet for related interest. All other XAD type files are also supported, but the files mentioned have slightly better support. playOGG can be launched from the WorkBench or CLI. If no parameters are given from CLI, playOGG will behave the same as if launched from the WorkBench. CLI usage is as follows:- playOGG -v -o -r -s -d -q -l -t -n -b -f -ve -vn -oN -uN -v = Verbose -o = Verbose off -r = recursively scan sub directories. -s = sort wild card files alphabetically. -d = dont quit automatically at end of last track when in play. -q = quit automatically at end of last track when in play. -l = loop's the playlist. -t = time display on. -n = no time display. -b = sets batch conversion mode. `playOGG -b help' for more info. -f = file/dir/pattern -1 = mono's output to all & is 16 bit max. -0 = switches mono off. -ve = verbose encoder from CLI. -vn = version number. -o1 = output to `AUDIO:' device. -o2 = output to `ahi.device'. -o3 = output to `audio.device'. -o4 = output to `AUD:' device. -o5 = output to `AUD:' device, mono & 1 channel only. -uN = `AUDIO:' and `ahi.device' unit, `N' can be between 0 and 3. eg. playOGG -v -r -s music/#?.ogg music2/#?.mp3 File outputs to a given . One input file only. :- -a = AIFF -w = WAV -2 = ADPCM2 -3 = ADPCM3 -m = MAESTRO -sa = SUN-AU -s1 = SUN-AU-ALAW, 16bit -s2 = SUN-AU-ULAW, 16bit -s3 = SUN-AU-G721, 16bit mono -s4 = SUN-AU-G723, 16bit mono -da = DEC-AU -d1 = DEC-AU-ALAW, 16bit -d2 = DEC-AU-ULAW, 16bit -d3 = DEC-AU-G721, 16bit mono -d4 = DEC-AU-G723, 16bit mono -m3 = MP3 -m4 = MP4 -ac = AAC -og = OGG -fc = FLAC -sv = 8SVX -vc = VOC -ma = MAUD (via SOX 16bit max) -cd = CDR -a4 = ADPCM4 -a3 = AC3 -m2 = MP2 -rm = Real Media -w1 = WAVPACK, lossless compression. -w2 = WAVPACK, lots of compression. -w3 = RIFF-WAVE-IMA-ADPCM, 16 bit -w4 = RIFF-WAVE-ALAW, 16 bit -w5 = RIFF-WAVE-ULAW, 16 bit -w6 = RIFF-WAVE-GSM-6.10, 16 bit mono -if = IFF-SV -82 = 8SVX-ADPCM2 -83 = 8SVX-ADPCM3 -8f = 8SVX-FDC -8e = 8SVX-EDC -md = IFF-MAUD -l2 = LLADPCM2 -l3 = LLADPCM3 -l4 = LLADPCM4-FDC -l5 = LLADPCM5-EDC -b1 = BONK, lossless compression. -b2 = BONK, lots of compression. -p1 = Paris Motorola, 16bit -p2 = Paris Intel, 16bit -op = OGG Opus eg. playOGG Rockers.mp3 -a Rockers.aiff Saving to file:- Saving to file is only possible through CLI and requires the "sndfile.library" and/or the appropriate encoder. When saving to file most of the lower buttons become inactive and there is is a limited rexx command set available. Only one input file at a time is supported when saving to file, unless you use the "-b" parameter. For multi file support I recommend configuring playOGG with your directory utility. I personally have the following lines in my DiskMaster configuration:- AddMenu SND1, playOGG TO AIFF, extern stack 500000 sys:sound/playOGG %s -a %d%n.aiff AddMenu SND1, playOGG TO WAV, extern stack 500000 sys:sound/playOGG %s -w %d%n.wav AddMenu SND1, playOGG TO WAV_IMA, extern stack 500000 sys:sound/playOGG %s -w3 %d%n_ima.wav AddMenu SND1, playOGG TO WAV_AL, extern stack 500000 sys:sound/playOGG %s -w4 %d%n_al.wav AddMenu SND1, playOGG TO WAV_UL, extern stack 500000 sys:sound/playOGG %s -w5 %d%n_ul.wav AddMenu SND1, playOGG TO WAV_GSM, extern stack 500000 sys:sound/playOGG %s -w6 %d%n_gsm.wav AddMenu SND1, playOGG TO ADPCM2, extern stack 500000 sys:sound/playOGG %s -2 %d%n.adpcm2 AddMenu SND1, playOGG TO ADPCM3, extern stack 500000 sys:sound/playOGG %s -3 %d%n.adpcm3 AddMenu SND1, playOGG TO SUN, extern stack 500000 sys:sound/playOGG %s -sa %d%n.sun AddMenu SND1, playOGG TO SUN_AL, extern stack 500000 sys:sound/playOGG %s -s1 %d%n_al.sun AddMenu SND1, playOGG TO SUN_UL, extern stack 500000 sys:sound/playOGG %s -s2 %d%n_ul.sun AddMenu SND1, playOGG TO SUN_g721, extern stack 500000 sys:sound/playOGG %s -s3 %d%n_g721.sun AddMenu SND1, playOGG TO SUN_g723, extern stack 500000 sys:sound/playOGG %s -s4 %d%n_g723.sun AddMenu SND1, playOGG TO DEC, extern stack 500000 sys:sound/playOGG %s -da %d%n.dec AddMenu SND1, playOGG TO DEC_AL, extern stack 500000 sys:sound/playOGG %s -d1 %d%n_al.dec AddMenu SND1, playOGG TO DEC_UL, extern stack 500000 sys:sound/playOGG %s -d2 %d%n_ul.dec AddMenu SND1, playOGG TO DEC_g721, extern stack 500000 sys:sound/playOGG %s -d3 %d%n_g721.dec AddMenu SND1, playOGG TO DEC_g723, extern stack 500000 sys:sound/playOGG %s -d4 %d%n_g723.dec AddMenu SND1, playOGG TO MP3, extern stack 500000 sys:sound/playOGG %s -m3 %d%n.mp3 AddMenu SND1, playOGG TO MP4, extern stack 500000 sys:sound/playOGG %s -m4 %d%n.mp4 AddMenu SND1, playOGG TO OGG, extern stack 500000 sys:sound/playOGG %s -og %d%n.ogg AddMenu SND1, playOGG TO AAC, extern stack 500000 sys:sound/playOGG %s -ac %d%n.aac AddMenu SND1, playOGG TO FLAC, extern stack 500000 sys:sound/playOGG %s -fc %d%n.flac AddMenu SND1, playOGG TO 8SVX, extern stack 500000 sys:sound/playOGG %s -sv %d%n.8svx AddMenu SND1, playOGG TO VOC, extern stack 500000 sys:sound/playOGG %s -vc %d%n.voc AddMenu SND1, playOGG TO MAUD, extern stack 500000 sys:sound/playOGG %s -ma %d%n.maud AddMenu SND1, playOGG TO CDR, extern stack 500000 sys:sound/playOGG %s -cd %d%n.cdr AddMenu SND1, playOGG TO ADPCM4, extern stack 500000 sys:sound/playOGG %s -a4 %d%n.adpcm4 AddMenu SND1, playOGG TO AC3, extern stack 500000 sys:sound/playOGG %s -a3 %d%n.ac3 AddMenu SND1, playOGG TO MP2, extern stack 500000 sys:sound/playOGG %s -m2 %d%n.mp2 AddMenu SND1, playOGG TO RM, extern stack 500000 sys:sound/playOGG %s -rm %d%n.rm AddMenu SND2, playOGG TO WPK1, extern stack 500000 sys:sound/playOGG %s -w1 %d%n.wpk AddMenu SND2, playOGG TO WPK2, extern stack 500000 sys:sound/playOGG %s -w2 %d%n.wpk AddMenu SND2, playOGG TO IFF-SV, extern stack 500000 sys:sound/playOGG %s -if %d%n.sv AddMenu SND2, playOGG TO 8SVX-A2, extern stack 500000 sys:sound/playOGG %s -82 %d%n_a2.8svx AddMenu SND2, playOGG TO 8SVX-A3, extern stack 500000 sys:sound/playOGG %s -83 %d%n_a3.8svx AddMenu SND2, playOGG TO 8SVX-FDC, extern stack 500000 sys:sound/playOGG %s -8F %d%n_fdc.8svx AddMenu SND2, playOGG TO 8SVX-EDC, extern stack 500000 sys:sound/playOGG %s -8E %d%n_edc.8svx AddMenu SND2, playOGG TO IFF-MAUD, extern stack 500000 sys:sound/playOGG %s -md %d%n.maud AddMenu SND2, playOGG TO LLADPCM2, extern stack 500000 sys:sound/playOGG %s -l2 %d%n.l2 AddMenu SND2, playOGG TO LLADPCM3, extern stack 500000 sys:sound/playOGG %s -l3 %d%n.l3 AddMenu SND2, playOGG TO LLADPCM4-FDC, extern stack 500000 sys:sound/playOGG %s -l4 %d%n.l4 AddMenu SND2, playOGG TO LLADPCM5-EDC, extern stack 500000 sys:sound/playOGG %s -l5 %d%n.l5 AddMenu SND2, playOGG TO MAESTRO, extern stack 500000 sys:sound/playOGG %s -m %d%n.maestro AddMenu SND2, playOGG TO PAF, extern stack 500000 sys:sound/playOGG %s -p1 %d%n.paf AddMenu SND2, playOGG TO FAP, extern stack 500000 sys:sound/playOGG %s -p2 %d%n.fap AddMenu SND2, playOGG TO Bonk1, extern stack 500000 sys:sound/playOGG %s -b1 %d%n.bonk AddMenu SND2, playOGG TO Bonk2, extern stack 500000 sys:sound/playOGG %s -b2 %d%n.bonk AddMenu SND2, playOGG TO Opus, extern stack 500000 sys:sound/playOGG %s -op %d%n.opus The output file specification will be the same as the input specification for the PCM file types and 32bit integer for floats. When outputing to file via an encoder playOGG will convert data to the requirements of the encoder if necessary. When encoding CPU demands can be quite high so you can now pause this process with the "Pause" button, peform another task in between and resume encoding by pressing the "Play" button. playOGG's buttons should be fairly straight forward to anyone who is familiar with a tape deck or CD player but I will describe them anyway. << = Previous track >> = Next track ][ = Pause FF = Fast forwards the current track. > = Play [] = Stop ^ = Eject current track from playlist. / = Eject entire playlist and open the file requestor. #? = Insert files to the current playlist with the file requestor. S = Save's an editable play list. G = Go to a specific track number. GT = Go to a specified time position on the current track. Q = ON/OFF/LOOP toggle for auto quit mode. A "q" in the right hand side of the window's title indicates that it is on. Auto quit will take effect at the end of the last track when in play. A "l" in the right hand side of the window's title indicates that the playlist will loop. V = ON/OFF toggle for verbose mode. A "v" in the right hand side of the window's title indicates that it is on. The change wont take effect during the current tracks play. LM = Opens playOGG's list manager. i = Opens playOGG's info window. ? = Program info. playOGG's list manager is fairly straight forward to use. A single click on a particular track will indicate the tracks position. A second click will cause playOGG to go to that particular track. There are also tooltype's to change the list manager's dimensions. playOGG has a fairly comprehensive AREXX support. Please refer to "playOGG_rexx.txt" for more information about this. playOGG also requires that the files "flac", "speexdec", "shorten" and "sox" are in the same path, which have been included in this archive. The complete packages of these files can be found in the archives "flac.lha", "speex-1.0.3.lha", "shorten-3.6.0.lha", from "http://prdownloads.sourceforge.net/amiga" and "sox-12.16-bin.lha" from the aminet. You may even wish to replace these files with others which have been compiled specifically for your amiga system. NB: 1. SID, MSX and PMD modules are played in a continuous loop until there is a user response. 2. If there is a sound format which you would like to be added to playOGG and you know of a decoder which you think is suitable suggestions are always welcome. 3. For best results on WinUAE make sure "cycle exact CPU and blitter" is switched off and make sure you have the latest AHI driver installed, which should be located in the "Amiga Programs" directory of your WinUAE directory. 4. "oggdec" is not working properly with "ixemul.library 49.17", I use version "48.0 (07/14/1998)" from the aminet. Hopefully this problem will be fixed with a non ixemul version of "oggdec" or an updated "ixemul.library". 5. Do not use the DMX-Storm versions of "Shorten" as they are not functioning correctly and will cause problems with playOGG. 6. 24bit samples such as AIFF's and WAV's will be written as 32bit samples to the AHI device so there is no loss of sound quality. 7. Float 64bit file types will be written as 32bit to the AHI device. 8. It is not necessary to have a "playOGG" directory. I personally have the "playOGG" executable and associated files in the root of my "SYS:SOUND" directory. 9. The priority input above the tooltype's should be not used and left set at zero. playOGG works fine on my Amithlon/WinUAE system but I would be interested in getting feedback from people with other amiga systems on how good or bad playOGG works. The following Aminet software is recommended to complement playOGG's usage:- "CDDA-FileSystem.lha", "ProcessManager.lha", "ARCHandler2_0c.lha" and "AC97mixer21.lha". See "http://arp2.berlios.de/ahi" for the latest AHI beta. Also see "mpega_libmad.lha" from the aminet for an alternative mpega library clone. http://home.iprimus.com.au/lombi/1/playOGG.htm CYA...!!! :) Feeling bored ? :) Why not check out this URL ? http://home.iprimus.com.au/lombi/1/homepage.htm