@christianriedl/media 1.0.275 → 1.0.277

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -226,6 +226,8 @@ export class MediaHelper {
226
226
  return idxs;
227
227
  }
228
228
  static async searchPictures(mediaService, titlePattern, searchPerson, searchLocation, rating, maxPictures = 200) {
229
+ if (!titlePattern)
230
+ return [];
229
231
  const regex = new RegExp(`^.*${titlePattern.toLowerCase()}.*$`);
230
232
  const root = await mediaService.getPhotosByCriteria(MediaHelper.getStars(rating), 'ye');
231
233
  const result = [];
@@ -1 +1 @@
1
- {"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { IRest } from '@christianriedl/rest';
2
- import { ILogger, Dictionary, InjectionKey } from '@christianriedl/utils';
2
+ import { ILogger, InjectionKey, Ref } from '@christianriedl/utils';
3
3
  import { EMediaType } from "./iMedia";
4
4
  export declare enum EPlayState {
5
5
  PowerOff = 0,
@@ -32,14 +32,23 @@ export interface IPlayerCommand {
32
32
  cmd: string;
33
33
  value: string;
34
34
  }
35
+ export interface IPlayerConfiguration {
36
+ playerName: string;
37
+ shortName: string;
38
+ sensorName: string;
39
+ online: Ref<boolean>;
40
+ playerState: Ref<IPlayerState | null>;
41
+ }
35
42
  export declare const getPlayerSymbol: InjectionKey<() => PlayerService>;
36
43
  export declare class PlayerService {
37
44
  rest: IRest;
38
45
  mediaUrl: string;
39
46
  log: ILogger;
40
47
  playerNames: string[];
41
- playerStates: Dictionary<IPlayerState>;
42
- constructor(rest: IRest, log: ILogger);
48
+ playerConfigurations: IPlayerConfiguration[];
49
+ currentPlayer?: IPlayerConfiguration;
50
+ getSensorOnline?: (sensorName: string) => boolean | null;
51
+ constructor(rest: IRest, log: ILogger, configs: IPlayerConfiguration[], getSensorOnline?: (sensorName: string) => boolean | null);
43
52
  getPlayers(mediaType?: EMediaType, isReady?: boolean): Promise<string[]>;
44
53
  getPlayerState(playerName: string): Promise<IPlayerState | null>;
45
54
  play(playerRequest: IPlayerRequest): Promise<boolean>;
@@ -48,4 +57,5 @@ export declare class PlayerService {
48
57
  next(playerName: string): Promise<boolean>;
49
58
  previous(playerName: string): Promise<boolean>;
50
59
  command(playerCommand: IPlayerCommand): Promise<boolean>;
60
+ getPlayersOnline(): number;
51
61
  }
@@ -14,11 +14,15 @@ export class PlayerService {
14
14
  mediaUrl;
15
15
  log;
16
16
  playerNames = [];
17
- playerStates = {};
18
- constructor(rest, log) {
17
+ playerConfigurations;
18
+ currentPlayer;
19
+ getSensorOnline;
20
+ constructor(rest, log, configs, getSensorOnline) {
19
21
  this.log = log;
20
22
  this.rest = rest;
21
23
  this.mediaUrl = rest.serviceUrl;
24
+ this.playerConfigurations = configs;
25
+ this.getSensorOnline = getSensorOnline;
22
26
  }
23
27
  async getPlayers(mediaType, isReady) {
24
28
  const query = {};
@@ -28,15 +32,23 @@ export class PlayerService {
28
32
  query.isReady = isReady;
29
33
  const players = await this.rest.getData('apiplayer/players', query);
30
34
  this.playerNames = players.result;
35
+ for (let i = 0; i < this.playerConfigurations.length; i++) {
36
+ const config = this.playerConfigurations[i];
37
+ config.online.value = this.playerNames.includes(config.playerName);
38
+ }
31
39
  return this.playerNames;
32
40
  }
33
41
  async getPlayerState(playerName) {
34
42
  const result = await this.rest.getData('apiplayer/playstate', { playerName: playerName });
43
+ const config = this.playerConfigurations.find(c => c.playerName === playerName);
35
44
  if (result.ok) {
36
45
  const playerState = result.result;
37
- this.playerStates[playerName] = playerState;
46
+ config.playerState.value = playerState;
47
+ config.online.value = !!playerState.state;
38
48
  return playerState;
39
49
  }
50
+ config.online.value = false;
51
+ config.playerState.value = null;
40
52
  return null;
41
53
  }
42
54
  async play(playerRequest) {
@@ -63,5 +75,18 @@ export class PlayerService {
63
75
  const result = await this.rest.postData('apiplayer/playcommand', playerCommand);
64
76
  return result.ok;
65
77
  }
78
+ getPlayersOnline() {
79
+ let count = 0;
80
+ for (let i = 0; i < this.playerConfigurations.length; i++) {
81
+ const config = this.playerConfigurations[i];
82
+ if (config.sensorName && this.getSensorOnline)
83
+ config.online.value = this.getSensorOnline(config.sensorName);
84
+ else
85
+ config.online.value = null;
86
+ if (config.online.value)
87
+ count++;
88
+ }
89
+ return count;
90
+ }
66
91
  }
67
92
  //# sourceMappingURL=playerService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"playerService.js","sourceRoot":"","sources":["../src/playerService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playerService.js","sourceRoot":"","sources":["../src/playerService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/media",
3
- "version": "1.0.275",
3
+ "version": "1.0.277",
4
4
  "description": "RIC media interfaces",
5
5
 
6
6
  "main": "dist/index.js",
@@ -5,7 +5,7 @@
5
5
  import { getOpenAISymbol, IOpenAIServiceWithVectorStore } from '@christianriedl/utils';
6
6
  import { getMediaBinSymbol, getMediaInstanceSymbol, IDocumentInfo, IMediaAppConfig } from '@christianriedl/media';
7
7
  import FileUpload from '../components/FileUpload.vue';
8
- import Mail from '@christianriedl/office/src/components/Mail.vue'
8
+ import Mail from '@christianriedl/office/src/components/Mail.vue';
9
9
 
10
10
  interface IID {
11
11
  fileId: string;
@@ -128,7 +128,7 @@
128
128
  if (!info)
129
129
  window.alert("Not found: " + fullPath);
130
130
  else {
131
- attachment.value = fullPath;
131
+ attachment.value = info.name;
132
132
  showSendMail.value = true;
133
133
  }
134
134
  }
@@ -271,8 +271,8 @@
271
271
  </v-btn>
272
272
  </v-card-actions>
273
273
  </v-card>
274
- <v-dialog v-model="showSendMail" width="60%" :fullscreen="appState.isMobile">
275
- <mail :attachment="attachment!" @close="showSendMail = false"></mail>
274
+ <v-dialog v-model="showSendMail" :width="appState.isMobile ? '80%' : '60%'">
275
+ <mail :attachment="attachment" @close="showSendMail = false"></mail>
276
276
  </v-dialog>
277
277
  </template>
278
278
 
@@ -5,11 +5,12 @@
5
5
  import { IAppState, IAppConfig, EDevice, EDirection, Dictionary, appStateSymbol, appConfigSymbol } from '@christianriedl/utils';
6
6
  import {
7
7
  EMediaType, EPictureFlags, IPictureFile, IMediaFolder, IMediaService, IMediaAppConfig, EPictureQuality,
8
- MediaHelper, getMediaBinSymbol
8
+ MediaHelper, getMediaBinSymbol, getPlayerSymbol
9
9
  } from '@christianriedl/media';
10
10
 
11
11
  import PhotoMetaData from '../components/PhotoMetaData.vue';
12
12
  import PhotoMap from '../components/PhotoMap.vue';
13
+ import Mail from '@christianriedl/office/src/components/Mail.vue';
13
14
 
14
15
  const router = useRouter();
15
16
  const route = useRoute();
@@ -18,6 +19,8 @@
18
19
  const mediaAppConfig = appConfig as unknown as IMediaAppConfig;
19
20
  const getMediaService = inject(getMediaBinSymbol)!;
20
21
  const mediaService = getMediaService();
22
+ const getPlayerService = inject(getPlayerSymbol)!;
23
+ const playerService = getPlayerService();
21
24
  const heightStyle = computed<StyleValue>(() => { return { height: appState.bodyHeight.value + 'px', overflowY: 'hidden' } });
22
25
  const isMobile = appState.isMobile;
23
26
  const headerText = ref("");
@@ -36,6 +39,9 @@
36
39
  const itemName = ref("");
37
40
  const showAllMetaData = ref(false);
38
41
  const splitXmlMetaData = ref(false);
42
+ const showSendMail = ref(false);
43
+ const attachment = ref("");
44
+ const smallAttachment = ref("");
39
45
  const zoom = 14;
40
46
  let album: IMediaFolder;
41
47
  let origUrl = "";
@@ -311,6 +317,17 @@
311
317
  document.body.removeChild(anchor);
312
318
  showInfo.value = false;
313
319
  }
320
+ async function onSendEmail() {
321
+ const item = items[index.value];
322
+ smallAttachment.value = getUrl(item);
323
+ const info = await mediaService.getMediaInfo(item.dlnaParentId, item.dlnaid);
324
+ if (!info)
325
+ window.alert("Not found: " + item.url);
326
+ else {
327
+ attachment.value = info.name;
328
+ showSendMail.value = true;
329
+ }
330
+ }
314
331
  function clearName() { // also called by VImg::loadstart
315
332
  showName.value = false;
316
333
  itemName.value = "";
@@ -351,6 +368,16 @@
351
368
  itemName.value = item.title;
352
369
  nameTimer = window.setTimeout(() => { clearName(); }, mediaAppConfig.nameDurationMS);
353
370
  }
371
+ if (playerService.currentConfig) {
372
+ const request = {
373
+ playerName: playerService.currentConfig.playerName,
374
+ folderId: item.dlnaParentId,
375
+ mediaId: item.dlnaid,
376
+ trackNo: -1,
377
+ withStreamTitle: false
378
+ };
379
+ const rc = playerService!.play(request).then(() => );
380
+ }
354
381
  }
355
382
  function createBlob(item: IPictureFile) {
356
383
  item.blob = appConfig.urlPrefix + "img/Wait.png";
@@ -365,80 +392,86 @@
365
392
 
366
393
  <template>
367
394
  <v-container fluid :style="heightStyle" class="bg-grey-darken-3 pa-0">
368
- <v-carousel ref="carousel" hide-delimiters :show-arrows="false" v-model="index"
369
- :width="width" :height="height" :cycle="cycle" :interval="interval"
370
- @click="onClick" @mousedown="onMouseDown" @update:modelValue="onUpdate">
371
- <v-carousel-item v-for="item in items" :key="item.dlnaid" :src="item.blob" :alt="item.name" :width="getWidth(item)" :height="getHeight(item)"
372
- @load="onLoad(item)" @loadstart="clearName()">
373
- <h2 v-if="showName" class="imgtext">{{itemName}}</h2>
374
- </v-carousel-item>
375
- </v-carousel>
376
- <v-dialog v-model="showInfo" :fullscreen="isMobile" width="70%" >
377
- <v-card v-if="showInfo" >
378
- <v-card-title class="headline">{{headerText}}</v-card-title>
379
- <v-card-text>
380
- <photo-meta-data :file="items[index]" :all="showAllMetaData" :splitxmp="splitXmlMetaData"></photo-meta-data>
381
- </v-card-text>
395
+ <v-carousel ref="carousel" hide-delimiters :show-arrows="false" v-model="index"
396
+ :width="width" :height="height" :cycle="cycle" :interval="interval"
397
+ @click="onClick" @mousedown="onMouseDown" @update:modelValue="onUpdate">
398
+ <v-carousel-item v-for="item in items" :key="item.dlnaid" :src="item.blob" :alt="item.name" :width="getWidth(item)" :height="getHeight(item)"
399
+ @load="onLoad(item)" @loadstart="clearName()">
400
+ <h2 v-if="showName" class="imgtext">{{itemName}}</h2>
401
+ </v-carousel-item>
402
+ </v-carousel>
403
+ <v-dialog v-model="showInfo" :fullscreen="isMobile" width="70%">
404
+ <v-card v-if="showInfo">
405
+ <v-card-title class="headline">{{headerText}}</v-card-title>
406
+ <v-card-text>
407
+ <photo-meta-data :file="items[index]" :all="showAllMetaData" :splitxmp="splitXmlMetaData"></photo-meta-data>
408
+ </v-card-text>
382
409
  <v-card-actions>
383
410
  <v-btn @click="showInfo = false">
384
411
  <v-icon size="large" icon="$back" />
385
412
  </v-btn>
386
- <v-btn @click="showAllMetaData = !showAllMetaData">{{showAllMetaData ? "SHOW IMPORTANT" : "SHOW ALL"}}</v-btn>
413
+ <v-btn @click="showAllMetaData = !showAllMetaData">{{showAllMetaData ? "IMPORTANT" : "ALL"}}</v-btn>
387
414
  <v-btn v-if="showAllMetaData" @click="splitXmlMetaData = !splitXmlMetaData">{{splitXmlMetaData ? "NO SPLIT" : "SPLIT"}}</v-btn>
388
415
  <v-btn v-if="hasCoordinates" @click="onShowMap">
389
416
  <v-icon size="large" icon="$gps" />
390
417
  </v-btn>
418
+ <v-btn @click="onSendEmail">
419
+ <v-icon size="large" icon="$send" />
420
+ </v-btn>
391
421
  <v-btn @click="onDownload">
392
422
  <v-icon size="large" icon="$download" />
393
423
  </v-btn>
394
424
  </v-card-actions>
395
- </v-card>
396
- </v-dialog>
397
- <v-dialog v-model="showKeys" :fullscreen="isMobile" width="50%" >
398
- <v-card v-if="showKeys" >
399
- <v-card-text>
400
- <v-container>
401
- <v-row dense>
402
- <v-col cols="4"><v-btn @click="onKeyClick('Escape')">Back</v-btn></v-col>
403
- <v-col cols="4"><v-btn @click="onKeyClick('Digit0')">Pause</v-btn></v-col>
404
- <v-col cols="4"><v-btn @click="onKeyClick('KeyC')">Cont</v-btn></v-col>
405
- </v-row>
406
- <v-row dense>
407
- <v-col cols="4"><v-btn @click="onKeyClick('Digit1')">1</v-btn></v-col>
408
- <v-col cols="4"><v-btn @click="onKeyClick('Digit2')">2</v-btn></v-col>
409
- <v-col cols="4"><v-btn @click="onKeyClick('Digit3')">3</v-btn></v-col>
410
- </v-row>
411
- <v-row dense>
412
- <v-col cols="4"><v-btn @click="onKeyClick('Digit4')">4</v-btn></v-col>
413
- <v-col cols="4"><v-btn @click="onKeyClick('Digit5')">5</v-btn></v-col>
414
- <v-col cols="4"><v-btn @click="onKeyClick('Digit6')">6</v-btn></v-col>
415
- </v-row>
416
- <v-row dense>
417
- <v-col cols="4"><v-btn @click="onKeyClick('Digit7')">7</v-btn></v-col>
418
- <v-col cols="4"><v-btn @click="onKeyClick('Digit8')">8</v-btn></v-col>
419
- <v-col cols="4"><v-btn @click="onKeyClick('Digit9')">9</v-btn></v-col>
420
- </v-row>
421
- <v-row dense>
422
- <v-col cols="4"><v-btn @click="onKeyClick('KeyF')">Full</v-btn></v-col>
423
- <v-col cols="4"><v-btn @click="onKeyClick('KeyI')">Info</v-btn></v-col>
424
- <v-col cols="4"><v-btn @click="onKeyClick('close')">Close</v-btn></v-col>
425
- </v-row>
426
- </v-container>
427
- </v-card-text>
428
- </v-card>
429
- </v-dialog>
430
- <v-dialog v-model="showMap" :fullscreen="isMobile" width="50%">
431
- <v-card>
432
- <v-card-text>
433
- <photo-map :location="location" :zoom="zoom" ></photo-map>
434
- </v-card-text>
435
- <v-card-actions>
436
- <v-btn size="large" @click="showMap = false">
437
- <v-icon icon="$back"></v-icon>
438
- </v-btn>
439
- </v-card-actions>
440
- </v-card>
441
- </v-dialog>
425
+ </v-card>
426
+ </v-dialog>
427
+ <v-dialog v-model="showKeys" :fullscreen="isMobile" width="50%">
428
+ <v-card v-if="showKeys">
429
+ <v-card-text>
430
+ <v-container>
431
+ <v-row dense>
432
+ <v-col cols="4"><v-btn @click="onKeyClick('Escape')">Back</v-btn></v-col>
433
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit0')">Pause</v-btn></v-col>
434
+ <v-col cols="4"><v-btn @click="onKeyClick('KeyC')">Cont</v-btn></v-col>
435
+ </v-row>
436
+ <v-row dense>
437
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit1')">1</v-btn></v-col>
438
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit2')">2</v-btn></v-col>
439
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit3')">3</v-btn></v-col>
440
+ </v-row>
441
+ <v-row dense>
442
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit4')">4</v-btn></v-col>
443
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit5')">5</v-btn></v-col>
444
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit6')">6</v-btn></v-col>
445
+ </v-row>
446
+ <v-row dense>
447
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit7')">7</v-btn></v-col>
448
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit8')">8</v-btn></v-col>
449
+ <v-col cols="4"><v-btn @click="onKeyClick('Digit9')">9</v-btn></v-col>
450
+ </v-row>
451
+ <v-row dense>
452
+ <v-col cols="4"><v-btn @click="onKeyClick('KeyF')">Full</v-btn></v-col>
453
+ <v-col cols="4"><v-btn @click="onKeyClick('KeyI')">Info</v-btn></v-col>
454
+ <v-col cols="4"><v-btn @click="onKeyClick('close')">Close</v-btn></v-col>
455
+ </v-row>
456
+ </v-container>
457
+ </v-card-text>
458
+ </v-card>
459
+ </v-dialog>
460
+ <v-dialog v-model="showMap" :fullscreen="isMobile" width="50%">
461
+ <v-card>
462
+ <v-card-text>
463
+ <photo-map :location="location" :zoom="zoom"></photo-map>
464
+ </v-card-text>
465
+ <v-card-actions>
466
+ <v-btn size="large" @click="showMap = false">
467
+ <v-icon icon="$back"></v-icon>
468
+ </v-btn>
469
+ </v-card-actions>
470
+ </v-card>
471
+ </v-dialog>
472
+ <v-dialog v-model="showSendMail" :width="appState.isMobile ? '80%' : '60%'" >
473
+ <mail :attachment="attachment" :smallattachment="smallAttachment" @close="showSendMail = false"></mail>
474
+ </v-dialog>
442
475
  </v-container>
443
476
  </template>
444
477
 
@@ -2,19 +2,24 @@
2
2
  import { inject, ref, reactive, computed, onMounted, onUnmounted, nextTick, watch, StyleValue } from 'vue';
3
3
  import type { ComponentPublicInstance } from 'vue';
4
4
  import { useRouter, useRoute } from 'vue-router';
5
- import { IAppState, IAppConfig, EDevice, EBrowser, appStateSymbol, appConfigSymbol, Helper } from '@christianriedl/utils';
5
+ import { IAppState, IAppConfig, EDevice, EBrowser, appStateSymbol, appConfigSymbol, authorizeSymbol, Helper, EScope } from '@christianriedl/utils';
6
6
  import { IRestResult, IValueResult } from '@christianriedl/rest';
7
- import { EItemType, EMediaType, IMediaFolder, IMediaItem, IPhotoSelection, IMediaService,
8
- getMediaBinSymbol, IMediaAppConfig, MediaHelper, LocationHelper
7
+ import { EItemType, EMediaType, IMediaFolder, IMediaItem, IPhotoSelection, IMediaService, getMediaBinSymbol,
8
+ IPlayerConfiguration, getPlayerSymbol, IMediaAppConfig, MediaHelper, LocationHelper
9
9
  } from '@christianriedl/media';
10
10
  import FileUpload from '../components/FileUpload.vue';
11
11
  import PhotoDownload from '../components/PhotoDownload.vue';
12
12
 
13
13
  const appState = inject(appStateSymbol)!;
14
14
  const appConfig = inject(appConfigSymbol)!;
15
+ const authorize = inject(authorizeSymbol)!;
15
16
  const mediaAppConfig = appConfig as unknown as IMediaAppConfig;
16
17
  const getMediaService = inject(getMediaBinSymbol)!;
17
- const mediaService = getMediaService() ;
18
+ const mediaService = getMediaService();
19
+ const getPlayerService = inject(getPlayerSymbol)!;
20
+ const playerService = getPlayerService();
21
+ const supportsLocalMedia = authorize.checkScope(EScope.Media);
22
+
18
23
  //const heightStyle = computed<StyleValue>(() => { return { height: appState.bodyHeight.value + 'px', overflowY: 'auto' } });
19
24
  const isMobile = appState.isMobile && (appState.device != EDevice.iPad);
20
25
  const router = useRouter();
@@ -51,6 +56,15 @@
51
56
  })
52
57
  async function start() {
53
58
  let root: IMediaFolder;
59
+ if (supportsLocalMedia) {
60
+ playerService.getPlayersOnline();
61
+ for (let i = 0; i < playerService.playerConfigurations.length; i++) {
62
+ const config = playerService.playerConfigurations.length;
63
+ if (!config.playerState) {
64
+ playerService.getPlayerState(config.playerName);
65
+ }
66
+ }
67
+ }
54
68
  if (route.query && route.query.id) {
55
69
  const id = decodeURIComponent(route.query.id.toString());
56
70
  root = mediaService.getFolder(id);
@@ -174,6 +188,9 @@
174
188
  async function onSearch() {
175
189
  router.push({ path: 'photothumbnails' });
176
190
  }
191
+ function playTV(config: IPlayerConfiguration) {
192
+ playerService.currentPlayer = config;
193
+ }
177
194
  async function initialize(selectedName?: string) {
178
195
  let root = await mediaService.getPhotosByCriteria(stars(), selected.criteria);
179
196
  if (selected.criteria != 'ye' && selectedName) {
@@ -218,23 +235,28 @@
218
235
  <template>
219
236
  <v-card ref="listhead" class="bg-media_head" density="compact">
220
237
  <v-card-title>{{selectedFolder.name}}</v-card-title>
221
- <v-card-actions>
222
- <v-btn v-if="backVisible" @click="goBack">
223
- <v-icon icon="$back" />
224
- </v-btn>
225
- <v-rating clearable length="2" v-model="selected.rating" @update:modelValue="onRating" />
226
- <v-select v-model="root" :items="roots" density="compact" persistent-hint
227
- @update:modelValue="onRootChange" hide-details single-line>
228
- </v-select>
229
- <v-btn v-if="!backVisible" @click="onSearch">
230
- {{ isMobile ? "" : "SEARCH" }}
231
- <v-icon icon="$search" />
232
- </v-btn>
233
- <v-btn v-if="!isMobile" @click="uploadVisible = !uploadVisible">
234
- UPLOAD
235
- <v-icon icon="$upload" />
236
- </v-btn>
237
- </v-card-actions>
238
+ <v-card-actions>
239
+ <v-btn v-if="backVisible" @click="goBack">
240
+ <v-icon icon="$back" />
241
+ </v-btn>
242
+ <v-rating clearable length="2" v-model="selected.rating" @update:modelValue="onRating" />
243
+ <v-select v-model="root" :items="roots" density="compact" persistent-hint
244
+ @update:modelValue="onRootChange" hide-details single-line>
245
+ </v-select>
246
+ <template v-for="player in playerService.playerConfigurations" :key="player.shortName">
247
+ <v-btn v-if="player.online" @click.stop="playTV(player)" :active="!!player.playerState">
248
+ {{player.shortName}}
249
+ </v-btn>
250
+ </template>
251
+ <v-btn v-if="!backVisible" @click="onSearch">
252
+ {{ isMobile ? "" : "SEARCH" }}
253
+ <v-icon icon="$search" />
254
+ </v-btn>
255
+ <v-btn v-if="!isMobile" @click="uploadVisible = !uploadVisible">
256
+ UPLOAD
257
+ <v-icon icon="$upload" />
258
+ </v-btn>
259
+ </v-card-actions>
238
260
  </v-card>
239
261
  <file-upload v-if="uploadVisible" accept="image/jpeg"></file-upload>
240
262
  <v-card :height="listHeight" class="overflow-y-auto bg-media" >
@@ -5,21 +5,17 @@
5
5
  import { IAppState, EDevice, EScope, appStateSymbol, appConfigSymbol, IValueText } from '@christianriedl/utils';
6
6
  import { Authorize, authorizeSymbol } from '@christianriedl/rest';
7
7
  import { EItemType, EMediaType, IMediaFolder, IMediaItem, IVideoFile, IMediaService, MediaHelper,
8
- getMediaBinSymbol, getPlayerSymbol, IMediaAppConfig, ITranscodeParams
8
+ getMediaBinSymbol, getPlayerSymbol, IMediaAppConfig, ITranscodeParams, IPlayerConfiguration
9
9
  } from '@christianriedl/media';
10
- import { ISensorsState, sensorsStateSymbol } from '@christianriedl/smarthome';
11
10
  import FileUpload from '../components/FileUpload.vue';
12
11
 
13
12
  const appState = inject(appStateSymbol)!;
14
- const sensors = inject(sensorsStateSymbol)!;
15
13
  const authorize = inject(authorizeSymbol)!;
16
14
  const mediaAppConfig = inject(appConfigSymbol)! as unknown as IMediaAppConfig;
17
15
  const getMediaService = inject(getMediaBinSymbol)!;
18
16
  const mediaService = getMediaService() ;
19
17
  const getPlayerService = inject(getPlayerSymbol)!;
20
18
  const playerService = getPlayerService();
21
- const rendererName = "[TV] Samsung Q9 Series (75)";
22
- const showRenderer = ref(false);
23
19
  const supportsLocalMedia = authorize.checkScope(EScope.Media);
24
20
 
25
21
  const heightStyle = computed<StyleValue>(() => { return { height: appState.bodyHeight.value + 'px', overflowY: 'auto' } });
@@ -105,9 +101,10 @@
105
101
  }
106
102
  router.push({ path: 'video', query: { url: url, media: parSet ? selected.value.url : "" } });
107
103
  }
108
- async function playTV() {
104
+ async function playTV(config: IPlayerConfiguration) {
105
+ playerService.currentPlayer = config;
109
106
  const request = {
110
- playerName: rendererName,
107
+ playerName: config.playerName,
111
108
  folderId: selected.value.dlnaParentId,
112
109
  mediaId: selected.value.dlnaid,
113
110
  trackNo: 0,
@@ -187,21 +184,15 @@
187
184
  }
188
185
  return "";
189
186
  }
190
- function getPlayer() {
191
- if (supportsLocalMedia) {
192
- const samsungTV = sensors.sensors['HomeNetwork.SamsungTV'];
193
- if (samsungTV && samsungTV.values["Online"].value) {
194
- if (!showRenderer.value) {
195
- playerService.getPlayerState(rendererName)
196
- .then((playerState) => {
197
- if (playerState)
198
- showRenderer.value = true;
199
- });
200
- }
201
- }
202
- else {
203
- showRenderer.value = false;
204
- }
187
+ async function getPlayer() {
188
+ if (supportsLocalMedia) {
189
+ playerService.getPlayersOnline();
190
+ for (let i = 0; i < playerService.playerConfigurations.length; i++) {
191
+ const config = playerService.playerConfigurations.length;
192
+ if (!config.playerState) {
193
+ await playerService.getPlayerState(config.playerName);
194
+ }
195
+ }
205
196
  }
206
197
  }
207
198
  async function onShare(item: IMediaItem) {
@@ -304,9 +295,10 @@
304
295
  <v-btn v-if="playVisible" @click.stop="play">
305
296
  <v-icon size="x-large" icon="$play" />
306
297
  </v-btn>
307
- <v-btn v-if="showRenderer && playVisible" @click.stop="playTV">
308
- <v-icon size="x-large" icon="$tv" />
309
- </v-btn>
298
+ <template v-if="playVisible" v-for="player in playerService.playerConfigurations" :key="player.shortName">
299
+ <v-btn v-if="player.online" @click.stop="playTV(player)" :active="!!player.playerState" >{{player.shortName}}
300
+ </v-btn>
301
+ </template>
310
302
  <v-btn v-if="recordedVisible" @click.stop="recorded">
311
303
  <v-icon size="x-large" icon="$recorded" />
312
304
  </v-btn>