コード例 #1
0
        public async Task Handle(TrackAdded message, IMessageHandlerContext context)
        {
            _log.Error($"Received track added in subscriber saga, added = {message.Added} ...");

            Data.IsTrackingAdded = true;
            await sendCompleteResponse(context);
        }
コード例 #2
0
        private void panelTracks_DragDrop(object sender, DragEventArgs e)
        {
            var droppedPETrack = e.GetDropObject <PEMidiTrack>();

            droppedPETrack.IfObjectNotNull(xx =>
            {
                if (droppedPETrack != sender)
                {
                    DoRequestBackup();

                    Track newTrack = null;
                    if (Sequence == null)
                    {
                        var targetType = this.IsPro ? FileType.Pro : FileType.Guitar5;

                        var seq       = new Sequence(targetType, droppedPETrack.Track.Sequence.Division);
                        this.sequence = seq;
                        if (!droppedPETrack.Track.IsTempo())
                        {
                            var tempo = droppedPETrack.Track.Sequence.Tracks.Where(x => x.IsTempo());
                            if (tempo.Any())
                            {
                                seq.AddTempo(tempo.First().ConvertToPro());
                            }
                        }
                        newTrack = droppedPETrack.Track.Clone(seq.FileType);
                        seq.Add(newTrack);
                    }
                    else
                    {
                        if (this.Sequence == droppedPETrack.Track.Sequence)
                        {
                            this.Sequence.MoveTrack(droppedPETrack.Track.GetTrackIndex(), GetInsertAt());
                        }
                        else
                        {
                            newTrack = droppedPETrack.Track.Clone(Sequence.FileType);

                            sequence.Insert(GetInsertAt(), newTrack);

                            if (!sequence.Tracks.Any(x => x.IsTempo()))
                            {
                                var tempo = droppedPETrack.Track.Sequence.Tracks.Where(x => x.IsTempo());
                                if (tempo.Any())
                                {
                                    sequence.AddTempo(tempo.First().ConvertToPro());
                                }
                            }
                        }
                    }

                    CreatePanelTracks(this.sequence);
                    TrackAdded.IfObjectNotNull(tc => tc(this, this.sequence, newTrack, SelectedDifficulty));
                }
            });
            dragItem = null;
        }
コード例 #3
0
        private void RegisterTrackAddedCallback()
        {
            _webRtcTrackAddedCallback = (handle, type, id, _) =>
            {
                Log.Info(WebRTCLog.Tag, $"Track type[{type}], id[{id}]");

                TrackAdded?.Invoke(this, new WebRTCTrackAddedEventArgs(new MediaStreamTrack(this, type, id)));
            };

            NativeWebRTC.SetTrackAddedCb(Handle, _webRtcTrackAddedCallback).
            ThrowIfFailed("Failed to set track added callback.");
        }
コード例 #4
0
        public async Task Handle(AddTrack message, IMessageHandlerContext context)
        {
            log.Error("arrive to tracing the new weight is " + message.Weight);
            var s = await _TrackingService.AddTracking(_Mapper.Map <Tracking.Services.Models.Tracking>(message));

            TrackAdded added = new TrackAdded()
            {
                MeasureId = message.MeasureId,
                Added     = s
            };
            await context.Publish(added).ConfigureAwait(false);

            log.Error("send to subscriber....");
        }
コード例 #5
0
        public void addTrack(String name, Object userObject = null)
        {
            int colorIndex          = tracks.Count % DefaultTrackColors.Length;
            TimelineViewTrack track = new TimelineViewTrack(name, trackY, pixelsPerSecond, duration, DefaultTrackColors[colorIndex], DefaultTrackSelectedColors[colorIndex]);

            track.BottomChanged += new EventHandler(actionViewRow_BottomChanged);
            track.UserObject     = userObject;
            tracks.Add(track);
            namedTracks.Add(name, track);
            trackY = track.Bottom;
            timelineScrollView.CanvasHeight = trackY;
            if (TrackAdded != null)
            {
                TrackAdded.Invoke(track);
            }
        }
コード例 #6
0
ファイル: LibraryAdder.cs プロジェクト: ninjawerk/Safire2
 /// <summary>
 ///     Search from specified folder.
 /// Returns the GUID for this search.
 /// </summary>
 /// <param name="selpath">directory to start searching.</param>
 public Guid FromFolder(string selpath, TrackAdded callback)
 {
     if (cworker.IsBusy)
     {
         return(Guid.Empty);
     }
     ;
     cval      = 0;
     max       = 0;
     operation = "File search in progress...";
     NotifyPropertyChanged("$Progress");
     path = selpath;
     GlobalSearchCancel = false;
     cworker.RunWorkerAsync();
     SearchGuid      = Guid.NewGuid();
     triggerCallback = callback;
     return(SearchGuid);
 }
コード例 #7
0
 public void AddTrack(PlayableBase playable)
 {
     Tracks.Add(playable);
     TrackAdded?.Invoke(this, playable);
 }