Short: VLC for Morphos Author: Rupert Hausberger Uploader: Rupert Hausberger Type: gfx/show Version: 0.8.6f_beta6 Architecture: generic -------------------------------------------------------------------------------- *** SOURCE CODE DISTRIBUTION *** -------------------------------------------------------------------------------- DESCRIPTION ----------- Port of VLC Media Player (http://www.videolan.org/) for MorphOS REQUIREMENTS ------------ - MorphOS 1.x - bsdsocket.library - powersdl.library - tinygl.library INSTALL ------- Just extract to HD. MORPHOS MODULES --------------- Name Type Status -------------------------------------------------- - cgx_overlay Video output Working - cgx_wpa Video output Working - cgx_vmem Video output Not implemented - cgx_tinygl OpenGL provider Working - ahi Audio output Not implemented - ahi_dev Audio output Working - mui Interface Not implemented QUICK USAGE ----------- Workbench start --------------- Doubleclick to select a file to play via ASL. It will be started with "vlc -I dummy ". Shell start ----------- vlc --help get a overview. vlc --longhelp get a long overview. vlc --longhelp --advanced get a long and advanced overview. vlc --module --advanced get info about a specific module. vlc --list --color -vvv get a list of the supported modules. Start a file ------------ vlc ram:test_video.avi vlc --color "ram disk:test video.avi" (note the spaces and "") Force a specific vout --------------------- vlc --vout cgx_wpa video.mpg vlc --vout opengl --opengl-effect cube video.mpg Start a DVD with menus ---------------------- vlc dvd://cd0: Debug ----- "-v" - minimal debug output "-vvvv" - maximal For detailed instruction read VLC-docs. ADD TO AMBIENT CONEXT-MENUS --------------------------- 1. Edit "MorphOS:WBStartup/FileTypesPath" and add a entry for VLC. 2. Open Ambient-Settings. Files ----- 3. Doubleclick "Filetypes/Video" to edit. 4. Press 'Add', and type "Play with VLC.." at 'Name'. 5. Press 'Add', and select 'AmigaDOS'. 6. Add "Run >NIL: `type env:pathapp/vlc` -I dummy %sp" (without "") DVD --- 3. Doubleclick "Filetypes/Internal/x-morphos-globalaction-device" to edit. 4. Press 'Add', and type "Play DVD with VLC..." at 'Name'. 5. Press 'Add', and select 'AmigaDOS'. 6. Add "Run >NIL: `type env:pathapp/vlc` -I dummy dvd://CD0:" (without "") 7. Save anyting. TOOLTYPES --------- None. KEYS ---- The default-keys are defined in PROGDIR:home/.vlc/vlcrc. If you don't like the key-sttings below, just change them in the file described above. To make things easier, i made a complete list of the default keys.. Description Name Keyboard --------------------------------------------------------------------------------------- DVD/Navigate ------------ Activate key-nav-activate = Enter Navigate down key-nav-down = Down Navigate left key-nav-left = Left Navigate right key-nav-right = Right Navigate up key-nav-up = Up Go to the DVD menu key-disc-menu = Ctrl-m Select next DVD title key-title-next = Ctrl-f Select prev DVD title key-title-prev = Ctrl-p Select next DVD chapter key-chapter-next = Ctrl-d Select prev DVD chapter key-chapter-prev = Ctrl-u Control ------- Next key-next = n Previous key-prev = p Stop key-stop = s Play/Pause key-play-pause = Space Play only key-play = Unset Pause only key-pause = Unset Fullscreen key-fullscreen = f Position key-position = t Faster key-faster = + Slower key-slower = - Quit key-quit = Ctrl-q Record key-record = Ctrl-r Volume ------ Mute key-vol-mute = m Volume down key-vol-down = Ctrl-Down Volume up key-vol-up = Ctrl-Up Audio delay down key-audiodelay-down = Ctrl-l Audio delay up key-audiodelay-up = Ctrl-k Position -------- Very short backwards jump key-jump-extrashort = Shift-Left Very short forward jump key-jump+extrashort = Shift-Right Short backwards jump key-jump-short = Alt-Left Short forward jump key-jump+short = Alt-Right Medium backwards jump key-jump-medium = Ctrl-Left Medium forward jump key-jump+medium = Ctrl-Right Long backwards jump key-jump-long = Alt-Ctrl-Left Long forward jump key-jump+long = Alt-Ctrl-Right Corping ------- Crop one pixel from the bottom of the video key-crop-bottom = Alt-k Crop one pixel from the left of the video key-crop-left = Alt-j Crop one pixel from the right of the video key-crop-right = Alt-l Crop one pixel from the top of the video key-crop-top = Alt-i Uncrop one pixel from the bottom of the video key-uncrop-bottom = Alt-Shift-k Uncrop one pixel from the left of the video key-uncrop-left = Alt-Shift-j Uncrop one pixel from the right of the video key-uncrop-right = Alt-Shift-l Uncrop one pixel from the top of the video key-uncrop-top = Alt-Shift-i Playlist -------- Play playlist bookmark 1 key-play-bookmark1 = F1 Play playlist bookmark 2 key-play-bookmark2 = F2 Play playlist bookmark 3 key-play-bookmark3 = F3 Play playlist bookmark 4 key-play-bookmark4 = F4 Play playlist bookmark 5 key-play-bookmark5 = F5 Play playlist bookmark 6 key-play-bookmark6 = F6 Play playlist bookmark 7 key-play-bookmark7 = F7 Play playlist bookmark 8 key-play-bookmark8 = F8 Play playlist bookmark 9 key-play-bookmark9 = F9 Play playlist bookmark 10 key-play-bookmark10 = F10 Set playlist bookmark 1 key-set-bookmark1 = Ctrl-F1 Set playlist bookmark 2 key-set-bookmark2 = Ctrl-F2 Set playlist bookmark 3 key-set-bookmark3 = Ctrl-F3 Set playlist bookmark 4 key-set-bookmark4 = Ctrl-F4 Set playlist bookmark 5 key-set-bookmark5 = Ctrl-F5 Set playlist bookmark 6 key-set-bookmark6 = Ctrl-F6 Set playlist bookmark 7 key-set-bookmark7 = Ctrl-F7 Set playlist bookmark 8 key-set-bookmark8 = Ctrl-F8 Set playlist bookmark 9 key-set-bookmark9 = Ctrl-F9 Set playlist bookmark 10 key-set-bookmark10 = Ctrl-F10 Misc ---- Cycle video crop key-crop = c Cycle audio track key-audio-track = l Cycle deinterlace modes key-deinterlace = d Cycle source aspect ratio key-aspect-ratio = a Cycle subtitle track key-subtitle-track = k Go back in browsing history key-history-back = Ctrl-v Go forward in browsing history key-history-forward = Ctrl-b Show interface key-intf-show = i Hide interface key-intf-hide = Unset Subtitle delay down key-subdelay-down = Ctrl-j Subtitle delay up key-subdelay-up = Ctrl-h Take video snapshot key-snapshot = Alt-Ctrl-s Dump key-dump = Shift-Ctrl-d DIRECTORIES ----------- The following directories are used by the morphos-version --------------------------------------------------------- PROGDIR:home/.vlc - VLC home PROGDIR:home/.dvdcss - libdvdcss home PROGDIR:home/.dvdnav - libdvdnav home PROGDIR:home/.freetype - libfreetype home DVD key files ------------- PROGDIR:home/.dvdcss/<key> DVD maps files -------------- PROGDIR:home/.dvdnav/<title>.map Font file --------- PROGDIR:home/.freetype/font.ttf Note: You can copy any .tff-font here. Just rename it to "font.ttf" or edit vlcrc. HINTS ----- The audio volume is set to 1/4 of max after the start of VLC ------------------------------------------------------------ Start VLC with "--volume 1024" or, to make it permanent, edit home/.vlc/vlcrc and set "volume=1024". (Remove the # at linestart). Now you should have a volume of 100% at each start. Quit ---- If no windows is open (no vout), do NOT immediately quit VLC by pressing CTRL-C. Instead try to enter "quit" in the console and press <return> 1-2 times. If this does not return to command prompt, press CTRL-C. It does fully quit ------------------ Press <return> in the shell, 1-2 times. LIMITS ------ SDL --- Keyboard events are not triggered. I think some thread thing. (NEED REBOOT) Network overall --------------- Not fully ported yet, some stuff may work, or not. PORTED BY --------- Rupert Hausberger <naTmeg@gmx.net> THANKS ------ - Fab (tips and libdvdcss morphos-code) - bigfoot (tips) MORPHOS HISTORY --------------- 2008.06.01 - beta6 ------------------ - Added MorphOS OpenGL (TinyGL) provider module. - Added freetype-module, and so ttf-OSD text. - Added modplug-module for all kind of tracker-mods. (untested) - Improved all MorphOS modules. Combined functions, made things using less space and memory. - Enabled aspect-ratio- and corp-cycling when pressing 'a' or 'c'. - Prepared source for a mui interface module. 2008.05.25 - beta5 (bugfix release) ----------------------------------- - Now keys from vlcrc are used and can be defined in there. - Implemented audio-volume handling to ahi_dev module. - Implemented wb-start and added VLC.info. (no tooltypes) - Fixed libdvdnav stuff. (now realy) - Fixed mouse-pointer offsets. - Fixed new-line problem in the shell. - Fixed config-load/save stuff. - Fixed option --longhelp crash. - Fixed all getenv(HOME) to PROGDIR:home. - Fixed hit when pressed the RMB. - Got rid of usergroup.library. 2008.05.23 - beta4 (hotfix) --------------------------- - Fixed dependency bug that makes DVD access not working and crashing the app. - Now the device name is used, instad of device:unit. Like "ide.device:1" -> "CD0:". - Got rid of the VLC: assign. (thx tokai) 2008.05.22 - beta4 ------------------ - Implemented DVD support with menus and mouse-control through libdvdnav. - Reworte condition-handling in naThreads. Now signals are used instead of simple delays. - Fixed a52/ac3 volume problem. - Fixed aspect-ratio problem. - Fixed wrong redraw at window-resize, both in wpa and overlay. - Some small fixes and improvements. 2008.05.18 - beta3 ------------------ - Impemented overlay video output. - Overlay output is now enabled by default. - Adjusted thread priorities to better working values. - Added more OSD output. 2008.05.01 - beta2 ------------------ - Got rid of ixemul. - Got rid of pthreads. - Wrote and implemented naThreads. - ahi_dev now make use of naThreads. - Enabled SDL. - Enabled OpenGL. - Enabled A52. - Now it's much faster, cos real threads. - Switched from usr:local to vlc: 2008.04.14 - beta1 ------------------ - Inital. BUILTIN MODULES --------------- 196 modules ----------- main main program help Help options a52 A/52 parser a52 A/52 audio packetizer a52sys Raw A/52 demuxer a52tofloat32 ATSC A/52 (AC-3) audio decoder a52tofloat32 ATSC A/52 (AC-3) audio decoder a52tospdif Audio filter for A/52->S/PDIF encapsulation access_directory Standard filesystem directory input access_directory Directory EOF access_fake Fake input access_file File input access_filter_dump Dump access_filter_record Record access_filter_timeshift Timeshift access_ftp FTP input access_http HTTP input access_mms Microsoft Media Server (MMS) input access_output_dummy Dummy stream output access_output_file File stream output access_output_http HTTP stream output access_output_shout IceCAST output access_output_udp UDP stream output access_realrtsp Real RTSP access_tcp TCP input access_udp UDP/RTP input adjust Image properties filter adpcm ADPCM audio decoder ahi AHI audio output ahi_dev MorphOS AHI device audio output aiff AIFF demuxer aout_file File audio output aout_sdl Simple DirectMedia Layer audio output araw Raw/Log Audio decoder araw Raw audio encoder asf ASF v1.0 demuxer au AU demuxer audio_format Audio filter for PCM format conversion avi AVI demuxer bandlimited_resampler Audio filter for band-limited interpolation resampling blend Video pictures blending cgx_overlay MorphOS Cybergraphics Overlay video output cgx_tinygl MorphOS OpenGL(MorphOS TinyGL) provider cgx_vmem MorphOS Cybergraphics VMEM video output cgx_wpa MorphOS Cybergraphics WritePixelArray video output cinepak Cinepak video decoder clone Clone video filter cmml CMML annotations decoder cmml CMML annotations decoder crop Crop video filter cvdsub CVD subtitle decoder cvdsub Chaoji VCD subtitle packetizer deinterlace Deinterlacing video filter deinterlace Deinterlacing video filter demuxdump File dumpper distort Distort video filter dolby_surround_decoder Simple decoder for Dolby Surround encoded streams dts DTS parser dts DTS audio packetizer dtssys Raw DTS demuxer dtstospdif Audio filter for DTS->S/PDIF encapsulation dummy Dummy interface function dummy Dummy access function dummy Dummy demux function dummy Dummy decoder function dummy Dummy encoder function dummy Dummy audio output function dummy Dummy video output function dummy Dummy font renderer function dvbsub DVB subtitles decoder dvbsub DVB subtitles encoder dvdnav DVDnav Input equalizer Equalizer with 10 bands export export export M3U playlist exporter export Old playlist exporter export XSPF playlist export faad AAC audio decoder (using libfaad2) fake Fake video decoder ffmpeg FFmpeg audio/video decoder/encoder ((MS)MPEG4,SVQ1,H263,WMV,WMA) ffmpeg FFmpeg chroma conversion ffmpeg FFmpeg audio/video encoder ffmpeg FFmpeg demuxer ffmpeg FFmpeg muxer ffmpeg FFmpeg video filter ffmpeg FFmpeg crop padd filter ffmpeg FFmpeg deinterlace video filter fixed32tofloat32 Audio filter for fixed32<->float32 conversion fixed32tos16 Audio filter for fixed32->s16 conversion flac FLAC demuxer flacdec Flac audio decoder flacdec Flac audio encoder flacdec Flac audio packetizer float32tos16 Audio filter for float32->s16 conversion float32tos8 Audio filter for float32->s8 conversion float32tou16 Audio filter for float32->u16 conversion float32tou8 Audio filter for float32->u8 conversion float32_mixer Float32 audio mixer freetype Freetype2 font renderer gestures Mouse gestures control interface growl Growl Notification Plugin h264 H264 video demuxer headphone_channel_mixer Headphone virtual spatialization effect hotkeys Hotkeys management interface http HTTP remote control interface i420_rgb I420,IYUV,YV12 to RGB2,RV15,RV16,RV24,RV32 conversions i420_ymga Conversions from I420,IYUV,YV12 to YMGA i420_yuy2 Conversions from I420,IYUV,YV12 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211 i422_yuy2 Conversions from I422 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211 id3tag ID3 tags parser image Image video output invert Invert video filter ipv4 UDP/IPv4 network abstraction layer libmpeg2 MPEG I/II video decoder (using libmpeg2) linear_resampler Audio filter for linear interpolation resampling linear_resampler Audio filter for linear interpolation resampling logger File logging logo Logo video filter logo Logo sub filter lpcm Linear PCM audio decoder lpcm Linear PCM audio packetizer m3u Playlist metademux m4a MPEG-4 audio demuxer m4v MPEG-4 video demuxer magnify Magnify/Zoom interactive video filter marq Marquee display memcpy libc memcpy mjpeg M-JPEG camera demuxer mod MOD demuxer (libmodplug) mosaic Mosaic video sub filter motionblur Motion blur filter motiondetect Motion detect video filter mp4 MP4 stream demuxer mpeg_audio MPEG audio layer I/II/III decoder mpeg_audio MPEG audio layer I/II/III packetizer mpga MPEG audio / MP3 demuxer mpgatofixed32 MPEG audio decoder mpgatofixed32 MPEG audio decoder mpgv MPEG-I/II video demuxer mui MorphOS MUI interface mux_asf ASF muxer mux_avi AVI muxer mux_dummy Dummy/Raw muxer mux_mp4 MP4/MOV muxer mux_mpjpeg Multipart JPEG muxer mux_ogg Ogg/OGM muxer mux_ps PS muxer mux_ts TS muxer (libdvbpsi) mux_wav WAV muxer netsync Network synchronisation normvol Volume normalizer nsc Windows Media NSC metademux nsv NullSoft demuxer nuv Nuv demuxer ogg OGG demuxer opengl OpenGL video output osdmenu On Screen Display menu packetizer_copy Copy packetizer packetizer_h264 H.264 video packetizer packetizer_mpeg4audio MPEG4 audio packetizer packetizer_mpeg4video MPEG4 video packetizer packetizer_mpegvideo MPEG-I/II video packetizer param_eq Parametric Equalizer playlist Playlist playlist M3U playlist import playlist PLS playlist import playlist B4S playlist import playlist DVB playlist import playlist Podcast parser playlist XSPF playlist import playlist New winamp 5.2 shoutcast import png PNG video decoder podcast Podcasts ps MPEG-PS demuxer ps MPEG-PS demuxer pva PVA demuxer rawdv DV (Digital Video) demuxer rawvideo Pseudo raw video decoder rawvideo Pseudo raw video packetizer rc Remote control interface real Real demuxer realaudio RealAudio library decoder rss RSS and Atom feed display rv32 RV32 conversion filter s16tofixed32 Audio filter for s16->fixed32 conversion s16tofloat32 Audio filter for s16->float32 conversion s16tofloat32swab Audio filter for s16->float32 with endianness conversion s8tofloat32 Audio filter for s8->float32 conversion sap SAP Announcements sap SDP file parser for UDP scale Video scaling filter screensaver X Screensaver disabler sdl_image SDL_image video decoder sgimb Kasenna MediaBase parser shout Shoutcast radio listings shout Shoutcast TV listings showintf Show interface with mouse simple_channel_mixer Audio filter for simple channel mixing snapshot Snapshot module spdif_mixer Dummy S/PDIF audio mixer speex Speex audio decoder speex Speex audio packetizer speex Speex audio encoder spudec DVD subtitles decoder spudec DVD subtitles packetizer stream_out_bridge Bridge stream output stream_out_bridge Bridge stream output stream_out_bridge Bridge stream output stream_out_description Description stream output stream_out_display Display stream output stream_out_dummy Dummy stream output stream_out_duplicate Duplicate stream output stream_out_es Elementary stream output stream_out_gather Gathering stream output stream_out_mosaic_bridge Mosaic bridge stream output stream_out_rtp RTP stream output stream_out_standard Standard stream output stream_out_switcher MPEG2 video switcher stream output stream_out_transcode Transcode stream output subsdec Text subtitles decoder subtitle Text subtitles parser svcdsub Philips OGT (SVCD subtitle) decoder svcdsub Philips OGT (SVCD subtitle) packetizer telnet VLM remote control interface telx Teletext subtitles decoder theora Theora video decoder theora Theora video packetizer theora Theora video encoder time Time display sub filter transform Video transformation filter trivial_channel_mixer Audio filter for trivial channel mixing trivial_mixer Trivial audio mixer trivial_resampler Audio filter for trivial resampling ts MPEG Transport Stream demuxer tta TTA demuxer ty TY Stream audio/video demux u8tofixed32 Audio filter for u8->fixed32 conversion u8tofloat32 Audio filter for u8->float32 conversion ugly_resampler Audio filter for ugly resampling visual Visualizer filter vobsub Vobsub subtitles parser voc VOC demuxer vod_rtsp RTSP VoD server vorbis Vorbis audio decoder vorbis Vorbis audio packetizer vorbis Vorbis audio encoder vout_sdl Simple DirectMedia Layer video output wall Wall video filter wav WAV demuxer xa XA demuxer xtag Simple XML Parser --------------------------------------------------------------------------------