public static async Task <Song> LoadAsync(Uri uri, SongUriResolver resolver, ISongReader reader, CancellationToken cancellation = default(CancellationToken)) { var song = new Song(); song.Uri = uri; song.uriResolver = resolver; if (reader.NeedsTemplate) { song.LoadClearTemplate(); } using (Stream stream = await song.uriResolver.GetAsync(uri, cancellation)) { cancellation.ThrowIfCancellationRequested(); reader.Read(song, stream); } if (!(reader is PowerpraiseSongReader)) { song.IsImported = true; } return(song); }
public Song(Uri uri, SongUriResolver resolver, ISongReader reader) : this() { this.Uri = uri; this.uriResolver = resolver; if (reader.NeedsTemplate) { LoadClearTemplate(); } using (Stream stream = uriResolver.Get(uri)) { reader.Read(this, stream); } if (!(reader is PowerpraiseSongReader)) { IsImported = true; } }
public static async Task<Song> LoadAsync(Uri uri, SongUriResolver resolver, ISongReader reader, CancellationToken cancellation = default(CancellationToken)) { var song = new Song(); song.Uri = uri; song.uriResolver = resolver; if (reader.NeedsTemplate) { song.LoadClearTemplate(); } using (Stream stream = await song.uriResolver.GetAsync(uri, cancellation)) { cancellation.ThrowIfCancellationRequested(); reader.Read(song, stream); } if (!(reader is PowerpraiseSongReader)) { song.IsImported = true; } return song; }
public static Task<Song> LoadAsync(Uri uri, ISongReader reader, CancellationToken cancellation = default(CancellationToken)) { return LoadAsync(uri, SongUriResolver.Default, reader, cancellation); }
public Song(Uri uri, ISongReader reader) : this(uri, SongUriResolver.Default, reader) { }
public static Task <Song> LoadAsync(Uri uri, ISongReader reader, CancellationToken cancellation = default(CancellationToken)) { return(LoadAsync(uri, SongUriResolver.Default, reader, cancellation)); }