예제 #1
0
    public Task SetClipData(bool isLive11, byte[] data)
    {
        var clip = isLive11 ? Decoder.GetSingleLive11Clip(data) : Decoder.GetSingleClip(data);

        Console.WriteLine($"{clip.ClipReference.Track}, {clip.ClipReference.Clip} Incoming clip data");
        CommandHandler.SetClipData(clip);
        return(Task.CompletedTask);
    }
예제 #2
0
    public async Task SetAndEvaluateClipData(bool isLive11, byte[] data)
    {
        var clip = isLive11 ? Decoder.GetSingleLive11Clip(data) : Decoder.GetSingleClip(data);

        Console.WriteLine($"{clip.ClipReference.Track}, {clip.ClipReference.Clip} Incoming clip data to evaluate");
        var result = CommandHandler.SetAndEvaluateClipData(clip);

        PrintErrorsAndWarnings(result);
        if (result.RanToCompletion == false)
        {
            return;
        }

        foreach (var successfulClip in result.SuccessfulClips)
        {
            await Clients.All.SetClipDataOnClient(isLive11,
                                                  isLive11
                                                  ?IOUtilities.GetClipAsBytesLive11(successfulClip).ToArray()
                                                      : IOUtilities.GetClipAsBytesV2(successfulClip).ToArray());
        }
    }