2 Author: Andreas Vogel (andvogel@online.de)
5 support for video (still not included in playAll)
6 server side scripting interface (include converter scripts)
8 Audio and pictures in parallel (YELLOW key)
17 Adding some media player functions to VOMP.
18 This should enable VOMP to:
19 - work as a picture viewer (for digicam pictures)
20 - play audio (at least mp3)
22 It requires some extensions on the server side (of course).
25 plays "well formatted" mpeg2 videos (extension .mpg, .MPG)
26 moving (skip fw,bw, to %) works basing on estimated values
28 currently video is not included in the "playAll"
29 server side conversions
30 on the server side there is an option to include commands that
31 convert media on the fly
32 You will loose navigation on the client in this case (i.e. no fw,bw, jump)
33 CVS Version (delivered 2008/01/02):
34 parallel audio and picture
35 use YELLOW key for audio player in background / toggle audioplayer
36 hierarchical mediaprovider structure
37 version handling at client-server interface
38 enable local mediaprovider (simply reading below /media)
39 have separate names for base directories (beside filenames) in config file
40 include standalone target into the makefile
42 CVS Version (delivered 2007/07/15):
44 browse through media directories
45 select single Media (OK)
46 select all Media from directory (PLAY)
47 change sort order (BLUE) - name, time, random
48 Basic picture viewer functions:
50 auto scale them by 1/1, 1/2, 1/4, 1/8
53 Audio player functions
60 You can add a list of directories to vomp.conf that will be used as base dirs to
62 For each directory you can define a separate name that is displayed.
65 Dir.1=/home/Andreas/pictestA
66 Dir.Name.1=Picture-test
71 You can have up to 50 directories there.
72 The recognition of media types is based on extensions today. In the moment it recognizes:
73 JPEG,jpeg,JPG,jpg as Jpeg
75 mpg,MPG as Mpeg2 video
76 Additionally you can define commands that handle other types of media.
78 Command.Name.1=/home/Andreas/src/vompserver-devenv/test1.sh
79 Command.Extension.1=avi
81 The allowed values for Type are
85 The commands will be called with the following options:
87 at startup to check the command being available, has to return 0
88 play "filename" xsize ysize
89 must send the media stream to stdout
90 The command will be stopped with SIGINT. If this is not successfull, a SIGKILL will follow.
91 An example command file is included (test1.sh).
92 You can define up to 50 commands (1...50).
94 In the vomp main menu a new item is added (5 MediaPlayer).
95 This will open a menu with the configured base dirs (/ if none configured).
96 Additionally this menu will show the media under the client!!! /media directory.
101 You can traverse through the dirs with the normal keys.
102 When pointing to a media file you can activate the viewer/player with
103 [OK] (normal view) or [PLAY] (slide show/play all files from this directory).
104 [BLUE] will toggle the serach order (name->time->random), the status line will display
105 the NEXT sort order that you get with [BLUE].
106 If the audio player is running you can bring it to front (and back) with the YELLOW key.
109 When viewing a picture, this gets loaded from the server (currently still a little bit slow),
110 Currently the scaling depends on the jpeg lib. You can have a scaling within the lib by 1/2,
111 1/4 and 1/8. Additionally you can have an "after scaling" form 1/1...1/5. This anyway slows down.
112 You can select the after scaling in the options (default 1 - no after scaling).
113 There is an alternative Jpeg Lib available (see links) - with this lib you can better scale.
114 Still to be discussed...
115 You can select 3 different modes for the picture - "letter" - always completely on screen,
116 "crop" always cropped by next possible scale and "croppercent" - you can select the Picture Size
117 within the option page from 10%...150% - the picture gets scaled to best fit to the screen within
119 To adapt the colours to you screen there is a colourTuner. You can set factors for R/G/B either
120 in the media options or by pressing the [MENU] key in the pictureViewer. The current picture
121 will not be rendered again when leaving the colour tuner! So changes only wil become effective
122 for the next picture.
123 Keys in the Picture Viewer:
124 With [OK] you can toggle the status line, With [RED] you can rotate the picture clockwise,
125 [GREEN] brings up an info box with some picture data. [PLAY] starts the slideshow, |<- and ->| as
126 well as [UP], [DOWN] travers trough all pictures within the directory.
127 [PAUSE] will pause the slide show and resume it.
128 << and >> will slower/fasten the slide show (time getting displayed in the status line). II will
129 pause the slide show [STOP] will pause and reset time to 5s.
130 [BLUE] rotates through the clipping options (can be seen in the info display).
131 The viewer now handles Exif rotation information if available and rotates the picture accordingly.
132 If the audio player is running you can bring it to front (and back) with the YELLOW key.
135 The audioplayer will play mp3 files and has a similar status display like the recordings player.
136 You can pause with [PAUSE], continue with [PLAY].
137 [STOP] halts and rewinds to the beginning.
138 [1]...[9] will postion to 10%...90% of the length.
139 |<- and ->| will skip each 10s back/ forward.
140 [GREEN] toggles the display of an info window with ID3 info.
141 [OK] toggles the status display.
142 [UP] and [DOWN] will change to the next song when the player was activated with [PLAY].
143 The player window will disappear app. 30s after the last key press.
144 [YELLOW] will put the audioplayer into "background". It will continue playing it's current list while
145 you are able to continue browsing the media files and e.g. start a slideshow.
146 Typical seqeunce (in the moment):
147 Got to a directory containing audio files, select a file, press [PLAY]. The audioplayer comes up
148 and starts playing. Press [YELLOW] (selector comes up) and go to a picture directory. Select a picture
149 file and press [PLAY] - the picture viewer starts a slideshow. At any time you can toggle with the
150 [YELLOW] key to the audioplayer and use [UP]/[DOWN] to change the played song.
151 The players parses ID3V1,V2.2,V2.3 (thanks to Walt for the supported code) and displays selected info.
152 It also parses VBR headers ("Xing") and uses this info for display and movements.
153 If the player cannot parse the files, it tries to play them anyway, it will (for the display) assume
155 Currently the player uses the same media stream like the picture viewer -so no parallel viewing and
156 listening is possible (will be changed soon).
158 all normal keys as for recordings player
163 English and German are there...
166 With make make standalone in the vompserver you can create a standalone
167 vompserver-standalone that does not need vdr to compile or to run. This enables running it on
168 an arbitrary linux box without any VDR. It expects config files in the current directory. Client side
169 is still very simple - all vdr command will lead to connection lost.
172 Implementation aspects:
173 For easy handling there is now a couple of files (data holders) that is used both on the client and server side.
174 Currently those are: vdrcommand.h serialize.* media.* mediaprovider.h mediaplayer.* mediafile.*
175 With the script copyClientFiles.sh you can replace the files in the server dir by symlinks to the
176 client files. This way they can easily be changed during development.
177 With serialize.* and vdrcommands.h I created some infrastructure for interface compatibility handling.
178 At least for the mediaplayer this will be used, maybe we can extend this to the other commands too (will
179 be discussed at the forum).
180 Now I created a hierarchical mediaprovider structure.
181 Both on the client and server side you can add mediaproviders that implement the MediaProvider interface.
184 LocalMediaFile - providing files below the /media directory
185 VDR - forwarding everything to the server
187 ServerMediaFile - provding the well known functions on the server
188 New providers can be easily added, they must be initialized and registered.
189 Client: Ctor of VMedialist (only register them once!)
190 Server: Ctor of MVPclient