private static async Task <MusicMetadata> LoadMetadata(string fileName, Task runningTranscodingTask)
        {
            if (runningTranscodingTask != null)
            {
                await runningTranscodingTask.ConfigureAwait(false);
            }

            var file = await StorageFile.GetFileFromPathAsync(fileName).AsTask().ConfigureAwait(false);

            MusicProperties musicProperties = await file.Properties.GetMusicPropertiesAsync().AsTask().ConfigureAwait(false);

            var readMetadata = SupportedFileTypes.GetReadMetadata(file.FileType);

            return(await readMetadata.CreateMusicMetadata(musicProperties, CancellationToken.None));
        }
        public Task SaveChangesAsync(MusicFile musicFile)
        {
            var saveMetadata = SupportedFileTypes.GetSaveMetadata(Path.GetExtension(musicFile.FileName));

            return(saveMetadata.SaveChangesAsync(musicFile));
        }