Skip to content

Commit

Permalink
Merge branch 'n-air_development' into n-air_unstable
Browse files Browse the repository at this point in the history
  • Loading branch information
berlysia committed Nov 27, 2019
2 parents 71d1e99 + c816a65 commit 20a5fa6
Show file tree
Hide file tree
Showing 62 changed files with 722 additions and 156 deletions.
2 changes: 1 addition & 1 deletion app/components/MixerVolmeter.vue.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Vue from 'vue';
import { Component, Prop } from 'vue-property-decorator';
import { Subscription } from 'rxjs/Subscription';
import { Subscription } from 'rxjs';
import { AudioSource } from 'services/audio';
import { Inject } from 'util/injector';
import { CustomizationService } from 'services/customization';
Expand Down
9 changes: 9 additions & 0 deletions app/components/SceneSelector.vue
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,15 @@
{{ $t('scenes.sceneCollectionSelectionDescription') }}
</div>
</help-tip>

<help-tip :dismissable-key="scenePresetHelpTipDismissable">
<div slot="title">
{{ $t('scenes.scenePreset') }}
</div>
<div slot="content">
{{ $t('scenes.scenePresetDescription') }}
</div>
</help-tip>
</div>
</template>

Expand Down
4 changes: 4 additions & 0 deletions app/components/SceneSelector.vue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -149,4 +149,8 @@ export default class SceneSelector extends Vue {
get helpTipDismissable() {
return EDismissable.SceneCollectionsHelpTip;
}

get scenePresetHelpTipDismissable() {
return EDismissable.ScenePresetHelpTip;
}
}
2 changes: 1 addition & 1 deletion app/components/shared/inputs/ValidatedForm.vue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion app/components/windows/Projector.vue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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: {
Expand Down
2 changes: 1 addition & 1 deletion app/components/windows/Settings.vue.ts
Original file line number Diff line number Diff line change
@@ -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';
Expand Down
2 changes: 1 addition & 1 deletion app/components/windows/SourceProperties.vue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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({
Expand Down
2 changes: 2 additions & 0 deletions app/i18n/en-US/scenes.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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.",
Expand Down
2 changes: 1 addition & 1 deletion app/i18n/en-US/source-props.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 2 additions & 0 deletions app/i18n/ja-JP/scenes.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"defaultTitle": "",
"manageAll": "シーンコレクションの管理",
"sceneCollectionSelectionDescription": "こちらはシーンコレクションがある場所です。 タイトルをクリックすると、表示および管理できるメニューがプルダウン表示されます。",
"scenePresetDescription": "サンプルとなるソースを追加しています。自由に編集して、自分だけの放送をコーディネートしてみましょう!",
"removeSceneCollectionConfirmTitle": "シーンコレクションを削除する",
"removeSceneCollectionConfirm": "本当に%{collectionName}を削除してもよろしいですか?",
"createSceneProjector": "シーンプロジェクターを作成する",
Expand All @@ -24,6 +25,7 @@
"newSceneCollectionName": "シーンコレクション",
"alreadyTakenName": "その名前は既に使用されています。",
"sceneCollections": "シーンコレクション",
"scenePreset": "シーンプリセット",
"sourcesTooltip": "シーンを作成するためのものです。",
"addSourceTooltip": "シーンに新しいソースを追加します。",
"removeSourcesTooltip": "シーンからソースを削除します。",
Expand Down
2 changes: 1 addition & 1 deletion app/i18n/ja-JP/source-props.json
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@
}
},
"dshow_input": {
"name": "映像キャプチャデバイス",
"name": "Webカメラ/映像入力機器",
"description": "シーンに内蔵/外付けのWebカメラやキャプチャーボートを通したゲーム画面などを追加します。",
"activate": {
"name": "無効化"
Expand Down
4 changes: 1 addition & 3 deletions app/services-manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down
3 changes: 1 addition & 2 deletions app/services/audio/audio-api.ts
Original file line number Diff line number Diff line change
@@ -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<IAudioSource>;
Expand Down
4 changes: 1 addition & 3 deletions app/services/audio/audio.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Vue from 'vue';
import { Subject } from 'rxjs/Subject';
import { Subscription } from 'rxjs/Subscription';
import { Subject, Subscription, Observable } from 'rxjs';
import { mutation, StatefulService, ServiceHelper } from 'services/stateful-service';
import { SourcesService, ISource, Source } from 'services/sources';
import { ScenesService } from 'services/scenes';
Expand All @@ -16,7 +15,6 @@ import {
IAudioDevice, IAudioServiceApi, IAudioSource, IAudioSourceApi, IAudioSourcesState, IFader,
IVolmeter
} from './audio-api';
import { Observable } from 'rxjs/Observable';
import { $t } from 'services/i18n';
import uuid from 'uuid/v4';
import { omit } from 'lodash';
Expand Down
2 changes: 1 addition & 1 deletion app/services/crash-reporter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Service } from 'services/service';
import electron from 'electron';
import { StreamingService, EStreamingState } from 'services/streaming';
import { Inject } from 'util/injector';
import { Subscription } from 'rxjs/subscription';
import { Subscription } from 'rxjs';
import path from 'path';
import fs from 'fs';
import { UsageStatisticsService } from 'services/usage-statistics';
Expand Down
2 changes: 1 addition & 1 deletion app/services/customization/customization-api.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Observable } from 'rxjs/Observable';
import { Observable } from 'rxjs';
import { TObsFormData } from 'components/obs/inputs/ObsInput';

export interface ICustomizationServiceState {
Expand Down
2 changes: 1 addition & 1 deletion app/services/customization/customization.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Subject } from 'rxjs/Subject';
import { Subject } from 'rxjs';
import { PersistentStatefulService } from '../persistent-stateful-service';
import { mutation } from '../stateful-service';
import {
Expand Down
23 changes: 20 additions & 3 deletions app/services/dismissables.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,40 @@ import { mutation } from './stateful-service';
import Vue from 'vue';

export enum EDismissable {
SceneCollectionsHelpTip = 'scene_collections_help_tip'
SceneCollectionsHelpTip = 'scene_collections_help_tip',
ScenePresetHelpTip = 'scene_preset_help_tip'
}

const InitiallyDismissed = new Set<EDismissable>([
EDismissable.ScenePresetHelpTip,
]);

interface IDismissablesServiceState {
[key: string]: boolean;
}


/**
* A dismissable is anything that can be dismissed and should
* never show up again, like a help tip.
* A dismissable is anything that is shown by default, can be dismissed and
* show up again if needed, like a help tip.
*/
export class DismissablesService extends PersistentStatefulService<IDismissablesServiceState> {

shouldShow(key: EDismissable): boolean {
if (!(key in this.state)) {
return !InitiallyDismissed.has(key);
}
return !this.state[key];
}

dismiss(key: EDismissable) {
this.DISMISS(key);
}

reset(key: EDismissable) {
this.RESET(key);
}

dismissAll() {
Object.keys(EDismissable).forEach(key => this.dismiss(EDismissable[key]));
}
Expand All @@ -34,4 +46,9 @@ export class DismissablesService extends PersistentStatefulService<IDismissables
Vue.set(this.state, key, true);
}

@mutation()
RESET(key: EDismissable) {
Vue.set(this.state, key, false);
}

}
2 changes: 1 addition & 1 deletion app/services/ipc-server.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Service } from './service';
import { ServicesManager } from '../services-manager';
import electron from 'electron';
import { Subscription } from 'rxjs/Subscription';
import { Subscription } from 'rxjs';
import {
IJsonRpcRequest,
IJsonRpcResponse,
Expand Down
2 changes: 1 addition & 1 deletion app/services/navigation.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { StatefulService, mutation } from './stateful-service';
import { Subject } from 'rxjs/Subject';
import { Subject } from 'rxjs';

type TAppPage =
| 'Studio'
Expand Down
4 changes: 2 additions & 2 deletions app/services/nicolive-program/nicolive-program.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createSetupFunction } from 'util/test-setup';
import { Subject } from 'rxjs';
import { BehaviorSubject } from '../../../node_modules/rxjs/BehaviorSubject';
import { Subject, BehaviorSubject } from 'rxjs';

type NicoliveProgramService = import('./nicolive-program').NicoliveProgramService;
type PanelState = import('./nicolive-program').PanelState;

Expand Down
4 changes: 1 addition & 3 deletions app/services/nicolive-program/state.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { PersistentStatefulService } from 'services/persistent-stateful-service';
import { mutation } from '../stateful-service';
import { Subject } from 'rxjs/Subject';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Observable } from 'rxjs/Observable';
import { Subject, BehaviorSubject, Observable } from 'rxjs';

interface IState {
autoExtensionEnabled: boolean;
Expand Down
2 changes: 1 addition & 1 deletion app/services/notifications/notifications-api.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { TIssueCode } from 'services/troubleshooter';
import { IJsonRpcRequest } from 'services/jsonrpc';
import { Observable } from 'rxjs/Observable';
import { Observable } from 'rxjs';
import { TObsFormData } from 'components/obs/inputs/ObsInput';

export enum ENotificationType {
Expand Down
2 changes: 1 addition & 1 deletion app/services/notifications/notifications.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Inject } from '../../util/injector';
import { mutation } from '../stateful-service';
import { PersistentStatefulService } from 'services/persistent-stateful-service';
import { Subject } from 'rxjs/Subject';
import { Subject } from 'rxjs';
import { WindowsService } from 'services/windows';
import { ServicesManager } from '../../services-manager';
import { IObsInput, TObsFormData } from 'components/obs/inputs/ObsInput';
Expand Down
2 changes: 1 addition & 1 deletion app/services/performance-monitor/performance-monitor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Inject } from '../../util/injector';
import { NotificationsService, ENotificationType } from 'services/notifications';
import { ServicesManager } from '../../services-manager';
import { PerformanceService } from 'services/performance';
import { Subscription } from 'rxjs/Subscription';
import { Subscription } from 'rxjs';
import { JsonrpcService } from '../jsonrpc/jsonrpc';
import { TroubleshooterService, TIssueCode } from 'services/troubleshooter';
import { $t } from 'services/i18n';
Expand Down
2 changes: 1 addition & 1 deletion app/services/performance/performance.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Vue from 'vue';
import { Subject } from 'rxjs/Subject';
import { Subject } from 'rxjs';

import { StatefulService, mutation } from 'services/stateful-service';
import { CustomizationService } from 'services/customization';
Expand Down
2 changes: 1 addition & 1 deletion app/services/scene-collections/scene-collections-api.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Observable } from 'rxjs/Observable';
import { Observable } from 'rxjs';

export interface ISceneCollectionsServiceApi {
/**
Expand Down
Loading

0 comments on commit 20a5fa6

Please sign in to comment.