Exemplo n.º 1
0
        private async Task RefreshTreeAsync()
        {
            var current = Cursor.Current;

            Cursor.Current = Cursors.WaitCursor;

            treeView.Nodes.Clear();

            var root = new ResourceItem
            {
                DisplayName = _config.RootFolder,
                FullPath    = OnlinePathBuilder.ConvertPathToFullUri(_config.StorageUri, _config.RootFolder)
            };

            var result = await _client.FetchChildResourcesAsync(root, _cancelToken, 0);

            if (result != ResourceLoadStatus.Ok)
            {
                return;
            }

            var rootNode = new TreeNode
            {
                Text = _config.RootFolder,
                Tag  = null
            };

            PopulateTree(ref rootNode, root.Items);

            treeView.Nodes.Add(rootNode);
            rootNode.Expand();
            Cursor.Current = current;
        }
 protected override void OnInitialized()
 {
     Root = new TreeNode <ResourceItem>
     {
         Item = new ResourceItem
         {
             DisplayName = ConnectionSettings.RootFolder,
             FullPath    = OnlinePathBuilder.Combine(ConnectionSettings.StorageUri, ConnectionSettings.RootFolder)
         }
     };
 }
Exemplo n.º 3
0
        protected override async Task OnInitializedAsync()
        {
            base.OnInitialized();

            _client = Factory.GetClient();

            _player = new Player(_client)
            {
                Log = Log,

                PlayStarted = (selectedIndex, resourceItem) =>
                {
                    Log($"PlayStarted - {resourceItem.DisplayName}");

                    SelectedPlayListItem = PlayListItems[selectedIndex];
                    CurrentTime          = TIME_ZERO;
                    TotalTime            = $@"{_player.TotalTime:hh\:mm\:ss}";

                    SliderMax     = (int)_player.TotalTime.TotalSeconds;
                    SliderEnabled = _player.CanSeek;

                    PlayListItems[selectedIndex].Bitrate = $"{resourceItem.MediaDetails.BitrateKbps}";
                    PlayListItems[selectedIndex].Length  = $@"{_player.TotalTime:hh\:mm\:ss}";
                },
                PlayContinue = resourceItem =>
                {
                    Log($"PlayContinue - {resourceItem.DisplayName}");
                },
                PlayPaused = resourceItem =>
                {
                    Log($"PlayPaused - {resourceItem.DisplayName}");
                },
                PlayStopped = () =>
                {
                    // Log($"PlayStopped");
                    SliderMax     = 1;
                    SliderValue   = 0;
                    SliderEnabled = false;
                    CurrentTime   = TIME_ZERO;
                },
                //DoubleClickFolderAndPlayFirstSong = async resourceItem =>
                //{
                //    Log($"DoubleClickFolderAndPlayFirstSong - {resourceItem.DisplayName}");
                //    //var nodeToDoubleClick = treeView.Nodes.Find(resourceItem.DisplayName, true).FirstOrDefault();
                //    //if (nodeToDoubleClick != null)
                //    //{
                //    //    await FetchChildResourcesAsync(nodeToDoubleClick, resourceItem);
                //    //}
                //}
            };

            Log($"Using : '{_player.SoundOut}-SoundOut'");

            _timer = new Timer(async state => { await InvokeAsync(OnTimerCallback); }, null, 0, 249);

            Root = new TreeNode <ResourceItem>
            {
                Item = new ResourceItem
                {
                    DisplayName = Options.Value.RootFolder,
                    FullPath    = OnlinePathBuilder.Combine(Options.Value.StorageUri, Options.Value.RootFolder)
                }
            };

            await RefreshTreeAsync();
        }