angular-cli@0: import { BrowserModule } from '@angular/platform-browser'; dev@70: import {NgModule} from '@angular/core'; angular-cli@0: import { FormsModule } from '@angular/forms'; angular-cli@0: import { HttpModule } from '@angular/http'; angular-cli@0: angular-cli@0: import { AppComponent } from './app.component'; dev@31: import { MaterialModule } from "@angular/material"; dev@5: import { WaveformComponent } from './waveform/waveform.component'; dev@13: import { AudioFileOpenComponent } from './audio-file-open/audio-file-open.component'; dev@21: import { PlaybackControlComponent } from './playback-control/playback-control.component'; dev@37: import { AudioPlayerService } from "./services/audio-player/audio-player.service"; dev@40: import { FeatureExtractionService } from "./services/feature-extraction/feature-extraction.service"; dev@44: import { FeatureExtractionMenuComponent } from "./feature-extraction-menu/feature-extraction-menu.component"; dev@31: dev@31: function createAudioContext(): AudioContext { dev@31: return new ( dev@31: (window as any).AudioContext dev@31: || (window as any).webkitAudioContext dev@31: )(); dev@31: } angular-cli@0: angular-cli@0: @NgModule({ angular-cli@0: declarations: [ dev@1: AppComponent, dev@13: WaveformComponent, dev@21: AudioFileOpenComponent, dev@44: PlaybackControlComponent, dev@44: FeatureExtractionMenuComponent angular-cli@0: ], angular-cli@0: imports: [ angular-cli@0: BrowserModule, angular-cli@0: FormsModule, dev@3: HttpModule, dev@3: MaterialModule.forRoot() angular-cli@0: ], dev@1: providers: [ dev@31: {provide: HTMLAudioElement, useValue: new Audio()}, // TODO use something more generic than HTMLAudioElement dev@31: {provide: 'AudioContext', useValue: createAudioContext()}, // use a string token, Safari doesn't seem to like AudioContext dev@40: AudioPlayerService, dev@70: FeatureExtractionService, dev@70: {provide: 'PiperRepoUri', useValue: 'http://localhost:8080'} dev@1: ], angular-cli@0: bootstrap: [AppComponent] angular-cli@0: }) dev@1: export class AppModule { dev@1: dev@1: }