~vanvugt/ubuntu/oneiric/mediatomb/fix-770964-784431

« back to all changes in this revision

Viewing changes to scripts/js/import.js

  • Committer: Bazaar Package Importer
  • Author(s): Andres Mejia
  • Date: 2009-04-22 21:39:19 UTC
  • mto: (4.2.1 sid)
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: james.westby@ubuntu.com-20090422213919-52m015y6gcpv1m1g
Tags: upstream-0.12.0~svn2018
ImportĀ upstreamĀ versionĀ 0.12.0~svn2018

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
    
8
8
    import.js - this file is part of MediaTomb.
9
9
    
10
 
    Copyright (C) 2006-2008 Gena Batyan <bgeradz@mediatomb.cc>,
 
10
    Copyright (C) 2006-2009 Gena Batyan <bgeradz@mediatomb.cc>,
11
11
                            Sergey 'Jin' Bostandzhyan <jin@mediatomb.cc>,
12
12
                            Leonhard Wimmer <leo@mediatomb.cc>
13
13
    
19
19
    but WITHOUT ANY WARRANTY; without even the implied warranty of
20
20
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21
21
    
22
 
    $Id: import.js 1720 2008-03-01 19:36:53Z jin_eld $
 
22
    $Id: import.js 2010 2009-01-11 19:10:43Z lww $
23
23
*/
24
24
 
25
25
function addAudio(obj)
110
110
 
111
111
    var chain = new Array('Audio', 'All Audio');
112
112
    obj.title = title;
113
 
    addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC);
 
113
    addCdsObject(obj, createContainerChain(chain));
114
114
    
115
115
    chain = new Array('Audio', 'Artists', artist, 'All Songs');
116
 
    addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC);
 
116
    addCdsObject(obj, createContainerChain(chain));
117
117
    
118
118
    chain = new Array('Audio', 'All - full name');
119
119
    var temp = '';
122
122
    
123
123
    if (album_full)
124
124
        temp = temp + ' - ' + album_full + ' - ';
125
 
    
 
125
    else
 
126
        temp = temp + ' - ';
 
127
   
126
128
    obj.title = temp + title;
127
 
    addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC);
 
129
    addCdsObject(obj, createContainerChain(chain));
128
130
    
129
131
    chain = new Array('Audio', 'Artists', artist, 'All - full name');
130
 
    addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC);
 
132
    addCdsObject(obj, createContainerChain(chain));
131
133
    
132
134
    chain = new Array('Audio', 'Artists', artist, album);
133
135
    obj.title = track + title;
141
143
    addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC_GENRE);
142
144
    
143
145
    chain = new Array('Audio', 'Year', date);
144
 
    addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC);
 
146
    addCdsObject(obj, createContainerChain(chain));
145
147
}
146
148
 
147
 
// currently no video metadata supported
148
149
function addVideo(obj)
149
150
{
150
 
    var chain = new Array('Video');
 
151
    var chain = new Array('Video', 'All Video');
151
152
    addCdsObject(obj, createContainerChain(chain));
 
153
 
 
154
    var last_path = getLastPath(obj.location);
 
155
    if (last_path)
 
156
    {
 
157
        chain = new Array('Video', 'Directories', last_path);
 
158
        addCdsObject(obj, createContainerChain(chain));
 
159
    }
 
160
}
 
161
 
 
162
function addWeborama(obj)
 
163
{
 
164
    var req_name = obj.aux[WEBORAMA_AUXDATA_REQUEST_NAME];
 
165
    if (req_name)
 
166
    {
 
167
        var chain = new Array('Online Services', 'Weborama', req_name);
 
168
        addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_PLAYLIST_CONTAINER);
 
169
    }
152
170
}
153
171
 
154
172
function addImage(obj)
162
180
        chain = new Array('Photos', 'Date', date);
163
181
        addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER);
164
182
    }
 
183
 
 
184
    var last_path = getLastPath(obj.location);
 
185
    if (last_path)
 
186
    {
 
187
        chain = new Array('Photos', 'Directories', last_path);
 
188
        addCdsObject(obj, createContainerChain(chain));
 
189
    }
 
190
}
 
191
 
 
192
 
 
193
function addYouTube(obj)
 
194
{
 
195
    var chain;
 
196
 
 
197
    var temp = parseInt(obj.aux[YOUTUBE_AUXDATA_AVG_RATING], 10);
 
198
    if (temp != Number.NaN)
 
199
    {
 
200
        temp = Math.round(temp);
 
201
        if (temp > 3)
 
202
        {
 
203
            chain = new Array('Online Services', 'YouTube', 'Rating', 
 
204
                                  temp.toString());
 
205
            addCdsObject(obj, createContainerChain(chain));
 
206
        }
 
207
    }
 
208
 
 
209
    temp = obj.aux[YOUTUBE_AUXDATA_REQUEST];
 
210
    if (temp)
 
211
    {
 
212
        var subName = (obj.aux[YOUTUBE_AUXDATA_SUBREQUEST_NAME]);
 
213
        var feedName = (obj.aux[YOUTUBE_AUXDATA_FEED]);
 
214
        var region = (obj.aux[YOUTUBE_AUXDATA_REGION]);
 
215
 
 
216
            
 
217
        chain = new Array('Online Services', 'YouTube', temp);
 
218
 
 
219
        if (subName)
 
220
            chain.push(subName);
 
221
 
 
222
        if (feedName)
 
223
            chain.push(feedName);
 
224
 
 
225
        if (region)
 
226
            chain.push(region);
 
227
 
 
228
        addCdsObject(obj, createContainerChain(chain));
 
229
    }
 
230
}
 
231
 
 
232
function addTrailer(obj)
 
233
{
 
234
    var chain;
 
235
 
 
236
    chain = new Array('Online Services', 'Apple Trailers', 'All Trailers');
 
237
    addCdsObject(obj, createContainerChain(chain));
 
238
 
 
239
    var genre = obj.meta[M_GENRE];
 
240
    if (genre)
 
241
    {
 
242
        genres = genre.split(', ');
 
243
        for (var i = 0; i < genres.length; i++)
 
244
        {
 
245
            chain = new Array('Online Services', 'Apple Trailers', 'Genres',
 
246
                              genres[i]);
 
247
            addCdsObject(obj, createContainerChain(chain));
 
248
        }
 
249
    }
 
250
 
 
251
    var reldate = obj.meta[M_DATE];
 
252
    if ((reldate) && (reldate.length >= 7))
 
253
    {
 
254
        chain = new Array('Online Services', 'Apple Trailers', 'Release Date',
 
255
                          reldate.slice(0, 7));
 
256
        addCdsObject(obj, createContainerChain(chain));
 
257
    }
 
258
 
 
259
    var postdate = obj.aux[APPLE_TRAILERS_AUXDATA_POST_DATE];
 
260
    if ((postdate) && (postdate.length >= 7))
 
261
    {
 
262
        chain = new Array('Online Services', 'Apple Trailers', 'Post Date',
 
263
                          postdate.slice(0, 7));
 
264
        addCdsObject(obj, createContainerChain(chain));
 
265
    }
165
266
}
166
267
 
167
268
// main script part
178
279
    
179
280
    if (mime == 'audio')
180
281
    {
181
 
        addAudio(obj);
 
282
        if (obj.onlineservice == ONLINE_SERVICE_WEBORAMA)
 
283
            addWeborama(obj);
 
284
        else
 
285
            addAudio(obj);
182
286
    }
183
287
    
184
288
    if (mime == 'video')
185
289
    {
186
 
        addVideo(obj);
 
290
        if (obj.onlineservice == ONLINE_SERVICE_YOUTUBE)
 
291
            addYouTube(obj);
 
292
        else if (obj.onlineservice == ONLINE_SERVICE_APPLE_TRAILERS)
 
293
            addTrailer(obj);
 
294
        else
 
295
            addVideo(obj);
187
296
    }
188
297
    
189
298
    if (mime == 'image')