+
+ {{ $t('scenes.scenePreset') }}
+
+
+ {{ $t('scenes.scenePresetDescription') }}
+
+
diff --git a/app/components/SceneSelector.vue.ts b/app/components/SceneSelector.vue.ts
index a7489e6519b2..5f77ff296d92 100644
--- a/app/components/SceneSelector.vue.ts
+++ b/app/components/SceneSelector.vue.ts
@@ -149,4 +149,8 @@ export default class SceneSelector extends Vue {
get helpTipDismissable() {
return EDismissable.SceneCollectionsHelpTip;
}
+
+ get scenePresetHelpTipDismissable() {
+ return EDismissable.ScenePresetHelpTip;
+ }
}
diff --git a/app/components/shared/inputs/ValidatedForm.vue.ts b/app/components/shared/inputs/ValidatedForm.vue.ts
index d2bf23c0f4a6..9facd5041f57 100644
--- a/app/components/shared/inputs/ValidatedForm.vue.ts
+++ b/app/components/shared/inputs/ValidatedForm.vue.ts
@@ -5,7 +5,7 @@ import uuid from 'uuid';
import { ErrorField } from 'vee-validate';
import { BaseInput } from './BaseInput';
import { IInputMetadata } from './index';
-import { Subject } from 'rxjs/Subject';
+import { Subject } from 'rxjs';
/**
* VeeValidate doesn't support slots https://github.com/baianat/vee-validate/issues/325
diff --git a/app/components/windows/Projector.vue.ts b/app/components/windows/Projector.vue.ts
index 9139a0d58ba5..ffc6629b9435 100644
--- a/app/components/windows/Projector.vue.ts
+++ b/app/components/windows/Projector.vue.ts
@@ -8,7 +8,7 @@ import { ISourcesServiceApi } from 'services/sources';
import electron from 'electron';
import Util from 'services/utils';
import { $t } from 'services/i18n';
-import { Subscription } from 'rxjs/subscription';
+import { Subscription } from 'rxjs';
@Component({
components: {
diff --git a/app/components/windows/Settings.vue.ts b/app/components/windows/Settings.vue.ts
index bfd13221f353..fe854b726ea3 100644
--- a/app/components/windows/Settings.vue.ts
+++ b/app/components/windows/Settings.vue.ts
@@ -1,6 +1,6 @@
import Vue from 'vue';
import { Component, Watch } from 'vue-property-decorator';
-import { Subscription } from 'rxjs/Subscription';
+import { Subscription } from 'rxjs';
import { Inject } from '../../util/injector';
import ModalLayout from '../ModalLayout.vue';
import NavMenu from '../shared/NavMenu.vue';
diff --git a/app/components/windows/SourceProperties.vue.ts b/app/components/windows/SourceProperties.vue.ts
index fe40482bf91c..8f2af10d926e 100644
--- a/app/components/windows/SourceProperties.vue.ts
+++ b/app/components/windows/SourceProperties.vue.ts
@@ -9,7 +9,7 @@ import ModalLayout from 'components/ModalLayout.vue';
import Display from 'components/shared/Display.vue';
import GenericForm from 'components/obs/inputs/GenericForm.vue';
import { $t } from 'services/i18n';
-import { Subscription } from 'rxjs/subscription';
+import { Subscription } from 'rxjs';
import electron from 'electron';
@Component({
diff --git a/app/i18n/en-US/scenes.json b/app/i18n/en-US/scenes.json
index 523dc5846da1..b2bc168c2366 100644
--- a/app/i18n/en-US/scenes.json
+++ b/app/i18n/en-US/scenes.json
@@ -12,6 +12,7 @@
"defaultTitle": "Output",
"manageAll": "Manage All",
"sceneCollectionSelectionDescription": "This is where your Scene Collections live. Clicking the title will dropdown a menu where you can view & manage.",
+ "scenePresetDescription": "There are sample sources added. Coordinate your own broadcast by editing them freely!",
"removeSceneCollectionConfirmTitle": "Remove Scene Collection",
"removeSceneCollectionConfirm": "Are you sure you want to remove %{collectionName}?",
"createSceneProjector": "Create Scene Projector",
@@ -24,6 +25,7 @@
"newSceneCollectionName": "New Scene Collection",
"alreadyTakenName": "That name is already taken",
"sceneCollections": "Scene Collections",
+ "scenePreset": "Scene Preset",
"sourcesTooltip": "The building blocks of your scene.",
"addSourceTooltip": "Add a new Source to your Scene.",
"removeSourcesTooltip": "Remove Sources from your Scene.",
diff --git a/app/i18n/en-US/source-props.json b/app/i18n/en-US/source-props.json
index b737eb2a68b1..de5bcd8a4452 100644
--- a/app/i18n/en-US/source-props.json
+++ b/app/i18n/en-US/source-props.json
@@ -276,7 +276,7 @@
}
},
"dshow_input": {
- "name": "Video Capture Device",
+ "name": "WebCam / Video Input",
"description": "Select from your build in USB webcam or an external.",
"activate": {
"name": "Deactivate"
diff --git a/app/i18n/ja-JP/scenes.json b/app/i18n/ja-JP/scenes.json
index 998e001c2731..68f5b5117ef3 100644
--- a/app/i18n/ja-JP/scenes.json
+++ b/app/i18n/ja-JP/scenes.json
@@ -12,6 +12,7 @@
"defaultTitle": "",
"manageAll": "シーンコレクションの管理",
"sceneCollectionSelectionDescription": "こちらはシーンコレクションがある場所です。 タイトルをクリックすると、表示および管理できるメニューがプルダウン表示されます。",
+ "scenePresetDescription": "サンプルとなるソースを追加しています。自由に編集して、自分だけの放送をコーディネートしてみましょう!",
"removeSceneCollectionConfirmTitle": "シーンコレクションを削除する",
"removeSceneCollectionConfirm": "本当に%{collectionName}を削除してもよろしいですか?",
"createSceneProjector": "シーンプロジェクターを作成する",
@@ -24,6 +25,7 @@
"newSceneCollectionName": "シーンコレクション",
"alreadyTakenName": "その名前は既に使用されています。",
"sceneCollections": "シーンコレクション",
+ "scenePreset": "シーンプリセット",
"sourcesTooltip": "シーンを作成するためのものです。",
"addSourceTooltip": "シーンに新しいソースを追加します。",
"removeSourcesTooltip": "シーンからソースを削除します。",
diff --git a/app/i18n/ja-JP/source-props.json b/app/i18n/ja-JP/source-props.json
index 5f9e35bad34a..74d3343941ec 100644
--- a/app/i18n/ja-JP/source-props.json
+++ b/app/i18n/ja-JP/source-props.json
@@ -276,7 +276,7 @@
}
},
"dshow_input": {
- "name": "映像キャプチャデバイス",
+ "name": "Webカメラ/映像入力機器",
"description": "シーンに内蔵/外付けのWebカメラやキャプチャーボートを通したゲーム画面などを追加します。",
"activate": {
"name": "無効化"
diff --git a/app/services-manager.ts b/app/services-manager.ts
index 132d190e97bb..a206fa4d7af0 100644
--- a/app/services-manager.ts
+++ b/app/services-manager.ts
@@ -35,9 +35,7 @@ import Utils from './services/utils';
import { commitMutation } from './store';
import traverse from 'traverse';
import { ObserveList } from './util/service-observer';
-import { Subject } from 'rxjs/Subject';
-import { Subscription } from 'rxjs/Subscription';
-import { Observable } from 'rxjs/Observable';
+import { Subject, Subscription, Observable } from 'rxjs';
import { VideoEncodingOptimizationService } from 'services/video-encoding-optimizations';
import { DismissablesService } from 'services/dismissables';
import { SceneCollectionsService } from 'services/scene-collections';
diff --git a/app/services/audio/audio-api.ts b/app/services/audio/audio-api.ts
index 230eabe7a261..8885d0ae877e 100644
--- a/app/services/audio/audio-api.ts
+++ b/app/services/audio/audio-api.ts
@@ -1,9 +1,8 @@
import * as obs from '../../../obs-api';
-import { Subscription } from 'rxjs/Subscription';
+import { Subscription, Observable } from 'rxjs';
import { TObsFormData } from 'components/obs/inputs/ObsInput';
import { ISource } from '../sources/sources-api';
-import { Observable } from 'rxjs/Observable';
export interface IAudioSourcesState {
audioSources: Dictionary