Mercurial > hg > ugly-duckling
view 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 |
line wrap: on
line source
import { BrowserModule } from '@angular/platform-browser'; import {NgModule} from '@angular/core'; import { FormsModule } from '@angular/forms'; import { HttpModule } from '@angular/http'; import { AppComponent } from './app.component'; import { MaterialModule } from "@angular/material"; import { WaveformComponent } from './waveform/waveform.component'; import { AudioFileOpenComponent } from './audio-file-open/audio-file-open.component'; import { PlaybackControlComponent } from './playback-control/playback-control.component'; import { AudioPlayerService } from "./services/audio-player/audio-player.service"; import { FeatureExtractionService } from "./services/feature-extraction/feature-extraction.service"; import { FeatureExtractionMenuComponent } from "./feature-extraction-menu/feature-extraction-menu.component"; import { ProgressSpinnerComponent } from "./progress-spinner/progress-spinner.component"; export function createAudioContext(): AudioContext { return new ( (window as any).AudioContext || (window as any).webkitAudioContext )(); } export function createAudioElement(): HTMLAudioElement { return new Audio(); } @NgModule({ declarations: [ AppComponent, WaveformComponent, AudioFileOpenComponent, PlaybackControlComponent, FeatureExtractionMenuComponent, ProgressSpinnerComponent ], imports: [ BrowserModule, FormsModule, HttpModule, MaterialModule ], providers: [ {provide: HTMLAudioElement, useFactory: createAudioElement}, // TODO use something more generic than HTMLAudioElement {provide: 'AudioContext', useFactory: createAudioContext}, // use a string token, Safari doesn't seem to like AudioContext AudioPlayerService, FeatureExtractionService, {provide: 'PiperRepoUri', useValue: 'assets/remote-plugins.json'} ], bootstrap: [AppComponent] }) export class AppModule { }