comparison src/app/app.module.ts @ 40:f7244f2155a3

Setup some scaffolding for bootstrapping a worker and loading into a service, providing a mechanism for implementing most of the logic which runs inside the worker in TypeScript.
author Lucas Thompson <dev@lucas.im>
date Thu, 01 Dec 2016 15:46:33 +0000
parents f6e58c2accb0
children 13f5f228ed98
comparison
equal deleted inserted replaced
39:e6eb133fa47c 40:f7244f2155a3
7 import { MaterialModule } from "@angular/material"; 7 import { MaterialModule } from "@angular/material";
8 import { WaveformComponent } from './waveform/waveform.component'; 8 import { WaveformComponent } from './waveform/waveform.component';
9 import { AudioFileOpenComponent } from './audio-file-open/audio-file-open.component'; 9 import { AudioFileOpenComponent } from './audio-file-open/audio-file-open.component';
10 import { PlaybackControlComponent } from './playback-control/playback-control.component'; 10 import { PlaybackControlComponent } from './playback-control/playback-control.component';
11 import { AudioPlayerService } from "./services/audio-player/audio-player.service"; 11 import { AudioPlayerService } from "./services/audio-player/audio-player.service";
12 import { FeatureExtractionService } from "./services/feature-extraction/feature-extraction.service";
12 13
13 function createAudioContext(): AudioContext { 14 function createAudioContext(): AudioContext {
14 return new ( 15 return new (
15 (window as any).AudioContext 16 (window as any).AudioContext
16 || (window as any).webkitAudioContext 17 || (window as any).webkitAudioContext
31 MaterialModule.forRoot() 32 MaterialModule.forRoot()
32 ], 33 ],
33 providers: [ 34 providers: [
34 {provide: HTMLAudioElement, useValue: new Audio()}, // TODO use something more generic than HTMLAudioElement 35 {provide: HTMLAudioElement, useValue: new Audio()}, // TODO use something more generic than HTMLAudioElement
35 {provide: 'AudioContext', useValue: createAudioContext()}, // use a string token, Safari doesn't seem to like AudioContext 36 {provide: 'AudioContext', useValue: createAudioContext()}, // use a string token, Safari doesn't seem to like AudioContext
36 AudioPlayerService 37 AudioPlayerService,
38 FeatureExtractionService
37 ], 39 ],
38 bootstrap: [AppComponent] 40 bootstrap: [AppComponent]
39 }) 41 })
40 export class AppModule { 42 export class AppModule {
41 43