Esempio n. 1
0
        public void SaveProject(string projectFileName, IStorageFolderEx saveToFolder)
        {
            try
            {
                var jsonData = GetProjectAsJson();

                var data = Encoding.UTF8.GetBytes(jsonData);

                IEnumerable <IStorageFileEx> files = Task.Run(async() => await saveToFolder.GetFilesAsync()).Result;

                if (files.Any(ex => ex.Name == projectFileName))
                {
                    projectFileName = projectFileName + "_" +
                                      DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss", CultureInfo.InvariantCulture);
                }

                IStorageFileEx file =
                    Task.Run(
                        async() =>
                        await
                        saveToFolder.CreateFileAsync(projectFileName + ".seqproj",
                                                     CreationCollisionOption.ReplaceExisting)).Result;

                using (Stream s = Task.Run(async() => await file.OpenStreamForWriteAsync()).Result)
                {
                    Task.Run(async() => await s.WriteAsync(data, 0, data.Length)).Wait();
                }
            }
            catch
            {
            }
        }
Esempio n. 2
0
        public static SampleFileDtoV1 FromStorageFileEx(IStorageFileEx storageFileEx)
        {
            var dto = new SampleFileDtoV1
            {
                Checksum = storageFileEx.Checksum,
                FileType = storageFileEx.FileType,
                Path     = storageFileEx.Path
            };

            return(dto);
        }
Esempio n. 3
0
        private async Task SelectedSingleItem(FileExplorerItem selectedItem)
        {
            foreach (FileExplorerItem item in CurrentItems)
            {
                if (item != selectedItem)
                {
                    item.Selected = false;
                }
                else
                {
                    item.Selected = true;

                    if (SelectionMode == SelectionMode.FileWithOpen)
                    {
                        try
                        {
                            IStorageFolderEx folder = FolderTree.First();
                            IStorageFileEx   file   = await folder.GetFileAsync(item.Name);

                            if (_player != null)
                            {
                                _player.Dispose();
                            }

                            if (file != null)
                            {
                                _player = new SamplePlayer();

                                _player.WithVoicePool(AudioDefines.VoicePool)
                                .WithXAudio(AudioDefines.XAudio)
                                .WithWaveFormat(AudioDefines.WaveFormat)
                                .WithChannelVolume(0.8)
                                .WithInput(file)
                                .BuildAsync().ContinueWith(task => task.Result.Play(), TaskScheduler.Default);
                            }
                        }
                        catch (Exception ex)
                        {
                            Debug.WriteLine(ex.Message);
                        }
                    }
                }

                FileExplorerItem targetItem = GetItemFromPath(item.Path);
                if (item.Selected && targetItem == null)
                {
                    SelectedItems.Add(item);
                }
                else if (!item.Selected && targetItem != null)
                {
                    SelectedItems.Remove(GetItemFromPath(item.Path));
                }
            }
        }
        public async Task SelectSampleAsync(IStorageFileEx file)
        {
            try
            {
                await _track.PlayWithSample(file);

                Description = _track.GetDescription();
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Unable to load new sample", ex.Message);
            }
        }
Esempio n. 5
0
        public void SaveProject(IStorageFileEx projectFile)
        {
            try
            {
                var jsonData = GetProjectAsJson();

                var data = Encoding.UTF8.GetBytes(jsonData);

                using (Stream s = Task.Run(async() => await projectFile.OpenStreamForWriteAsync()).Result)
                {
                    Task.Run(async() => await s.WriteAsync(data, 0, data.Length)).Wait();
                }
            }
            catch
            {
            }
        }
Esempio n. 6
0
        public void LoadProject(IStorageFileEx projectFile)
        {
            try
            {
                Stream file = Task.Run(async() => await projectFile.OpenStreamForWriteAsync()).Result;

                using (var streamReader = new StreamReader(file, Encoding.UTF8))
                {
                    var json = streamReader.ReadToEnd();

                    ReadFromJson(json);
                }
            }
            catch
            {
            }
        }
Esempio n. 7
0
        //private async void FileExplorerItemSelect(object sender, GestureEventArgs e)
        //{
        //    var item = ((FrameworkElement) sender).Tag as FileExplorerItem;

        //    if (item == null)
        //    {
        //        return;
        //    }

        //    if (item.IsFolder)
        //    {
        //        GetTreeForFolder(await FolderTree.First()
        //            .GetFolderAsync(item.Name));
        //    }
        //    else
        //    {
        //        if (SelectionMode == SelectionMode.FileWithOpen)
        //        {

        //            SelectedSingleItem(item);
        //        }
        //    }
        //}

        private async void btnOpen_Click(object sender, RoutedEventArgs e)
        {
            var check = sender as CheckBox;

            if (check != null)
            {
                check.IsChecked = false;
            }

            ProcessSelectedItems();

            if (SelectionMode == SelectionMode.FileWithOpen)
            {
                try
                {
                    IStorageFolderEx folder = FolderTree.Pop();

                    if (SelectedItems == null || !SelectedItems.Any())
                    {
                        Dismiss(folder);
                        return;
                    }

                    IStorageFileEx file = await folder.GetFileAsync(SelectedItems.First().Name);

                    if (file != null)
                    {
                        Dismiss(file);
                        return;
                    }

                    Dismiss(folder);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Can't Dismiss", ex.Message);
                }

                Dismiss(null);
            }
            else
            {
                Dismiss(SelectedItems);
            }
        }
Esempio n. 8
0
 public async Task <ISoundPlayerBuilder <IStorageFileEx> > PlayWithSample(IStorageFileEx storedSample)
 {
     return(await SoundBuilder
            .WithInput(storedSample)
            .BuildAsync());
 }