annotate src/app/app.module.ts @ 115:c02c76b94148

Basic spinner for indicating loading of files and features - the flag used for tracking state is mostly redundant (it is usually !canExtract... apart from initial state)... but going with this for now.
author Lucas Thompson <dev@lucas.im>
date Tue, 14 Mar 2017 16:11:40 +0000
parents edddb2a5cf10
children 262995cfd3e6
rev   line source
angular-cli@0 1 import { BrowserModule } from '@angular/platform-browser';
dev@70 2 import {NgModule} from '@angular/core';
angular-cli@0 3 import { FormsModule } from '@angular/forms';
angular-cli@0 4 import { HttpModule } from '@angular/http';
angular-cli@0 5
angular-cli@0 6 import { AppComponent } from './app.component';
dev@31 7 import { MaterialModule } from "@angular/material";
dev@5 8 import { WaveformComponent } from './waveform/waveform.component';
dev@13 9 import { AudioFileOpenComponent } from './audio-file-open/audio-file-open.component';
dev@21 10 import { PlaybackControlComponent } from './playback-control/playback-control.component';
dev@37 11 import { AudioPlayerService } from "./services/audio-player/audio-player.service";
dev@40 12 import { FeatureExtractionService } from "./services/feature-extraction/feature-extraction.service";
dev@44 13 import { FeatureExtractionMenuComponent } from "./feature-extraction-menu/feature-extraction-menu.component";
dev@115 14 import { ProgressSpinnerComponent } from "./progress-spinner/progress-spinner.component";
dev@31 15
dev@93 16 export function createAudioContext(): AudioContext {
dev@31 17 return new (
dev@31 18 (window as any).AudioContext
dev@31 19 || (window as any).webkitAudioContext
dev@31 20 )();
dev@31 21 }
angular-cli@0 22
dev@94 23 export function createAudioElement(): HTMLAudioElement {
dev@94 24 return new Audio();
dev@94 25 }
dev@94 26
angular-cli@0 27 @NgModule({
angular-cli@0 28 declarations: [
dev@1 29 AppComponent,
dev@13 30 WaveformComponent,
dev@21 31 AudioFileOpenComponent,
dev@44 32 PlaybackControlComponent,
dev@115 33 FeatureExtractionMenuComponent,
dev@115 34 ProgressSpinnerComponent
angular-cli@0 35 ],
angular-cli@0 36 imports: [
angular-cli@0 37 BrowserModule,
angular-cli@0 38 FormsModule,
dev@3 39 HttpModule,
dev@89 40 MaterialModule
angular-cli@0 41 ],
dev@1 42 providers: [
dev@94 43 {provide: HTMLAudioElement, useFactory: createAudioElement}, // TODO use something more generic than HTMLAudioElement
dev@94 44 {provide: 'AudioContext', useFactory: createAudioContext}, // use a string token, Safari doesn't seem to like AudioContext
dev@40 45 AudioPlayerService,
dev@70 46 FeatureExtractionService,
dev@78 47 {provide: 'PiperRepoUri', useValue: 'assets/remote-plugins.json'}
dev@1 48 ],
angular-cli@0 49 bootstrap: [AppComponent]
angular-cli@0 50 })
dev@1 51 export class AppModule {
dev@1 52
dev@1 53 }