@christianriedl/media 1.0.47 → 1.0.48

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.
package/dist/iMedia.d.ts CHANGED
@@ -8,6 +8,20 @@ export declare enum EMediaType {
8
8
  None = 254,
9
9
  Various = 255
10
10
  }
11
+ export declare enum EPictureQuality {
12
+ Full = 0,
13
+ Normal60 = 10060,
14
+ Normal80 = 10080,
15
+ Normal90 = 10090,
16
+ Normal100 = 10100,
17
+ High60 = 20060,
18
+ High80 = 20080,
19
+ High90 = 20090,
20
+ High100 = 20100
21
+ }
22
+ export interface IMediaAppConfig {
23
+ pictureQuality: EPictureQuality;
24
+ }
11
25
  export declare enum EItemType {
12
26
  None = 0,
13
27
  RootLevel = 0,
package/dist/iMedia.js CHANGED
@@ -9,6 +9,18 @@ export var EMediaType;
9
9
  EMediaType[EMediaType["None"] = 254] = "None";
10
10
  EMediaType[EMediaType["Various"] = 255] = "Various";
11
11
  })(EMediaType || (EMediaType = {}));
12
+ export var EPictureQuality;
13
+ (function (EPictureQuality) {
14
+ EPictureQuality[EPictureQuality["Full"] = 0] = "Full";
15
+ EPictureQuality[EPictureQuality["Normal60"] = 10060] = "Normal60";
16
+ EPictureQuality[EPictureQuality["Normal80"] = 10080] = "Normal80";
17
+ EPictureQuality[EPictureQuality["Normal90"] = 10090] = "Normal90";
18
+ EPictureQuality[EPictureQuality["Normal100"] = 10100] = "Normal100";
19
+ EPictureQuality[EPictureQuality["High60"] = 20060] = "High60";
20
+ EPictureQuality[EPictureQuality["High80"] = 20080] = "High80";
21
+ EPictureQuality[EPictureQuality["High90"] = 20090] = "High90";
22
+ EPictureQuality[EPictureQuality["High100"] = 20100] = "High100";
23
+ })(EPictureQuality || (EPictureQuality = {}));
12
24
  export var EItemType;
13
25
  (function (EItemType) {
14
26
  EItemType[EItemType["None"] = 0] = "None";
@@ -1 +1 @@
1
- {"version":3,"file":"iMedia.js","sourceRoot":"","sources":["../src/iMedia.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IAClB,6CAAS,CAAA;IACT,6CAAS,CAAA;IACT,iDAAW,CAAA;IACX,4CAAS,CAAA;IACT,0DAAgB,CAAA;IAChB,iDAAa,CAAA;IACb,6CAAW,CAAA;IACX,mDAAc,CAAA;AAClB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AACD,MAAM,CAAN,IAAY,SAoDX;AApDD,WAAY,SAAS;IACjB,yCAAQ,CAAA;IACR,mDAAa,CAAA;IACb,uDAAe,CAAA;IACf,uDAAe,CAAA;IACf,6DAAkB,CAAA;IAClB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,mDAAgB,CAAA;IAChB,6CAAa,CAAA;IACb,4CAAY,CAAA;IACZ,4CAAY,CAAA;IACZ,gDAAc,CAAA;IACd,6DAAoB,CAAA;IACpB,qDAAgB,CAAA;IAChB,yCAAa,CAAA;IACb,mDAA6C,CAAA;IAC7C,oDAA0B,CAAA;IAC1B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAqC,CAAA;IACrC,sDAAiC,CAAA;IACjC,wDAAkC,CAAA;IAClC,sDAAiC,CAAA;IACjC,0DAAmC,CAAA;IACnC,uEAA0C,CAAA;IAC1C,2EAA8C,CAAA;IAC9C,sDAAkB,CAAA;IAClB,+DAAkC,CAAA;IAClC,oDAA0B,CAAA;IAC1B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAqC,CAAA;IACrC,4DAAoC,CAAA;IACpC,uEAA0C,CAAA;IAC1C,2EAA8C,CAAA;IAC9C,yEAA+C,CAAA;IAC/C,oDAAiB,CAAA;IACjB,+DAAkC,CAAA;IAClC,wDAA8B,CAAA;IAC9B,4DAAsC,CAAA;IACtC,4DAAsC,CAAA;IACtC,kEAAyC,CAAA;IACzC,gEAAwC,CAAA;IACxC,wDAAoC,CAAA;IACpC,0DAAqC,CAAA;IACrC,wDAAqB,CAAA;IACrB,uDAA+C,CAAA;IAC/C,qDAAgB,CAAA;IAChB,yCAAU,CAAA;AACd,CAAC,EApDW,SAAS,KAAT,SAAS,QAoDpB;AACD,MAAM,CAAN,IAAY,MAUX;AAVD,WAAY,MAAM;IACd,mCAAQ,CAAA;IACR,yDAAsB,CAAA;IACtB,2CAAe,CAAA;IACf,+CAAiB,CAAA;IACjB,qDAAoB,CAAA;IACpB,kDAAkB,CAAA;IAClB,sDAAoB,CAAA;IACpB,0DAAsB,CAAA;IACtB,+DAAwB,CAAA;AAC5B,CAAC,EAVW,MAAM,KAAN,MAAM,QAUjB;AA+CD,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IAEpB,+CAAQ,CAAA;IACR,qDAAW,CAAA;IACX,6DAAe,CAAA;IACf,uDAAY,CAAA;IACZ,2DAAc,CAAA;IACd,yDAAa,CAAA;AACjB,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB"}
1
+ {"version":3,"file":"iMedia.js","sourceRoot":"","sources":["../src/iMedia.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IAClB,6CAAS,CAAA;IACT,6CAAS,CAAA;IACT,iDAAW,CAAA;IACX,4CAAS,CAAA;IACT,0DAAgB,CAAA;IAChB,iDAAa,CAAA;IACb,6CAAW,CAAA;IACX,mDAAc,CAAA;AAClB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AACD,MAAM,CAAN,IAAY,eAUX;AAVD,WAAY,eAAe;IACvB,qDAAiB,CAAA;IACjB,iEAAqB,CAAA;IACrB,iEAAqB,CAAA;IACrB,iEAAqB,CAAA;IACrB,mEAAqB,CAAA;IACrB,6DAAqB,CAAA;IACrB,6DAAqB,CAAA;IACrB,6DAAqB,CAAA;IACrB,+DAAqB,CAAA;AACzB,CAAC,EAVW,eAAe,KAAf,eAAe,QAU1B;AAID,MAAM,CAAN,IAAY,SAoDX;AApDD,WAAY,SAAS;IACjB,yCAAQ,CAAA;IACR,mDAAa,CAAA;IACb,uDAAe,CAAA;IACf,uDAAe,CAAA;IACf,6DAAkB,CAAA;IAClB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,mDAAgB,CAAA;IAChB,6CAAa,CAAA;IACb,4CAAY,CAAA;IACZ,4CAAY,CAAA;IACZ,gDAAc,CAAA;IACd,6DAAoB,CAAA;IACpB,qDAAgB,CAAA;IAChB,yCAAa,CAAA;IACb,mDAA6C,CAAA;IAC7C,oDAA0B,CAAA;IAC1B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAqC,CAAA;IACrC,sDAAiC,CAAA;IACjC,wDAAkC,CAAA;IAClC,sDAAiC,CAAA;IACjC,0DAAmC,CAAA;IACnC,uEAA0C,CAAA;IAC1C,2EAA8C,CAAA;IAC9C,sDAAkB,CAAA;IAClB,+DAAkC,CAAA;IAClC,oDAA0B,CAAA;IAC1B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAqC,CAAA;IACrC,4DAAoC,CAAA;IACpC,uEAA0C,CAAA;IAC1C,2EAA8C,CAAA;IAC9C,yEAA+C,CAAA;IAC/C,oDAAiB,CAAA;IACjB,+DAAkC,CAAA;IAClC,wDAA8B,CAAA;IAC9B,4DAAsC,CAAA;IACtC,4DAAsC,CAAA;IACtC,kEAAyC,CAAA;IACzC,gEAAwC,CAAA;IACxC,wDAAoC,CAAA;IACpC,0DAAqC,CAAA;IACrC,wDAAqB,CAAA;IACrB,uDAA+C,CAAA;IAC/C,qDAAgB,CAAA;IAChB,yCAAU,CAAA;AACd,CAAC,EApDW,SAAS,KAAT,SAAS,QAoDpB;AACD,MAAM,CAAN,IAAY,MAUX;AAVD,WAAY,MAAM;IACd,mCAAQ,CAAA;IACR,yDAAsB,CAAA;IACtB,2CAAe,CAAA;IACf,+CAAiB,CAAA;IACjB,qDAAoB,CAAA;IACpB,kDAAkB,CAAA;IAClB,sDAAoB,CAAA;IACpB,0DAAsB,CAAA;IACtB,+DAAwB,CAAA;AAC5B,CAAC,EAVW,MAAM,KAAN,MAAM,QAUjB;AA+CD,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IAEpB,+CAAQ,CAAA;IACR,qDAAW,CAAA;IACX,6DAAe,CAAA;IACf,uDAAY,CAAA;IACZ,2DAAc,CAAA;IACd,yDAAa,CAAA;AACjB,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/media",
3
- "version": "1.0.47",
3
+ "version": "1.0.48",
4
4
  "description": "RIC media interfaces",
5
5
 
6
6
  "main": "dist/index.js",
@@ -18,7 +18,7 @@
18
18
  "author": "Christian Riedl",
19
19
  "license": "ISC",
20
20
  "dependencies": {
21
- "@christianriedl/utils": "^1.0.75",
21
+ "@christianriedl/utils": "^1.0.76",
22
22
  "@christianriedl/rest": "^1.0.47",
23
23
  "@christianriedl/epg": "^1.0.26"
24
24
  },
@@ -2,12 +2,13 @@
2
2
  import { inject, ref, reactive, computed, onMounted, onBeforeMount, onUnmounted, nextTick, watch } from 'vue';
3
3
  import { useRouter, useRoute } from 'vue-router';
4
4
  import { IAppState, IAppConfig, Dictionary, Helper, appStateSymbol, appConfigSymbol } from '@christianriedl/utils';
5
- import { EMediaType, IPictureFile, MediaService, getMediaSymbol } from '@christianriedl/media';
5
+ import { EMediaType, IPictureFile, MediaService, IMediaAppConfig, EPictureQuality, getMediaSymbol } from '@christianriedl/media';
6
6
 
7
7
  const router = useRouter();
8
8
  const route = useRoute();
9
9
  const appState = inject(appStateSymbol)!;
10
10
  const appConfig = inject(appConfigSymbol)!;
11
+ const mediaAppConfig = appConfig as IMediaAppConfig;
11
12
  const getMediaService = inject(getMediaSymbol)!;
12
13
  const mediaService = getMediaService();
13
14
  const heightStyle = computed(() => { return { height: appState.bodyHeight.value + 'px', overflowY: 'hidden' } });
@@ -84,10 +85,15 @@
84
85
  }
85
86
  }
86
87
  function getUrl(item: IPictureFile) {
88
+ const pictureQuality = mediaAppConfig.pictureQuality;
89
+ const quality = pictureQuality % 1000;
90
+ let factor = Math.floor(pictureQuality / 1000);
91
+ if (factor > 1 && appState.pixelRatio > 1)
92
+ factor = appState.pixelRatio;
87
93
  if (landscape.value)
88
- return mediaService.getPhotoUrl(url.value, item.Url, `${0}x${height.value}x${item.Orientation}`);
94
+ return mediaService.getPhotoUrl(url.value, item.Url, `${0}x${height.value * factor}x${item.Orientation}x${quality}`);
89
95
  else
90
- return mediaService.getPhotoUrl(url.value, item.Url, `${width.value}x${0}x${item.Orientation}`);
96
+ return mediaService.getPhotoUrl(url.value, item.Url, `${width.value * factor}x${0}x${item.Orientation}x${quality}`);
91
97
  }
92
98
  function showMap(ev: Event) {
93
99
  const current = items[index.value];
@@ -125,15 +131,24 @@
125
131
  if (index.value < items.length - 1)
126
132
  index.value++;
127
133
  break;
128
- case "KeyI":
134
+ case "KeyI": // Info
129
135
  const item = items[index.value];
130
136
  const exif = await mediaService.getExifInfo(item.DLNAParentID, item.DLNAID);
131
137
  setMetaData(exif, item);
132
138
  infoDialog.value = true;
133
139
  break;
134
- case "KeyC":
140
+ case "KeyC": // Continue
135
141
  cycle.value = true;
136
142
  break;
143
+ case "KeyF": // Fullscreen
144
+ if (window.document.fullscreen) {
145
+ await window.document.exitFullscreen();
146
+ }
147
+ else {
148
+ const mainEle = window.document.getElementsByTagName('main')[0];
149
+ mainEle.requestFullscreen();
150
+ }
151
+ break;
137
152
  case "KeyP":
138
153
  case "Digit0":
139
154
  cycle.value = false;
@@ -184,6 +199,7 @@
184
199
  function setMetaData(exif: Dictionary<any>, file: IPictureFile) {
185
200
  origUrl = mediaService.getPhotoUrl(url.value, file.Url, '0x0x0');
186
201
  metadata['Name'] = file.Name;
202
+ metadata['Url'] = file.Url;
187
203
  if (exif) {
188
204
  if (exif.Model)
189
205
  metadata['Kamera'] = exif.Model;
@@ -332,6 +348,7 @@
332
348
  <v-col cols="4"><v-btn @click="onKeyClick('Digit9')">9</v-btn></v-col>
333
349
  </v-row>
334
350
  <v-row dense>
351
+ <v-col cols="4"><v-btn @click="onKeyClick('KeyF')">Full</v-btn></v-col>
335
352
  <v-col cols="4"><v-btn @click="onKeyClick('KeyI')">Info</v-btn></v-col>
336
353
  <v-col cols="4"><v-btn @click="onKeyClick('close')">Close</v-btn></v-col>
337
354
  </v-row>