예제 #1
0
 public Task SetFormula(byte[] data)
 {
     var(trackNo, clipNo, formula) = Decoder.GetFormula(data);
     Console.WriteLine($"{trackNo}, {clipNo}: Incoming formula {formula}");
     CommandHandler.SetFormula(trackNo, clipNo, formula);
     return(Task.CompletedTask);
 }
예제 #2
0
    public async Task SetAndEvaluateFormula(bool isLive11, byte[] data)
    {
        var(trackNo, clipNo, formula) = Decoder.GetFormula(data);
        Console.WriteLine($"{trackNo}, {clipNo}: Incoming formula {formula}");
        var result = CommandHandler.SetAndEvaluateFormula(formula, trackNo, clipNo);

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

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