From 8c2572282c258570ec080c85c0160395526d073a Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <MichielCottaar@protonmail.com>
Date: Fri, 20 Sep 2024 13:04:07 +0100
Subject: [PATCH] Use `base.length` rather than N to determine length

Allows for sequences with unknown length
---
 src/containers/base_sequences.jl | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/containers/base_sequences.jl b/src/containers/base_sequences.jl
index c18316a..47d9f81 100644
--- a/src/containers/base_sequences.jl
+++ b/src/containers/base_sequences.jl
@@ -55,7 +55,8 @@ Base.length(bs::BaseSequence{N}) where {N} = iszero(nrepeat(bs)) ? N : (nrepeat(
 Base.eltype(::Type{<:BaseSequence}) = ContainerBlock
 Base.keys(seq::BaseSequence{N}) where {N} = 1:N
 
-function start_time(bs::BaseSequence{N}, index::Integer) where {N}
+function start_time(bs::BaseSequence, index::Integer)
+    N = length(bs)
     nTR = div(index-1, N, RoundDown)
     if 0 < nrepeat(bs) <= nTR
         throw(BoundsError(bs, index))
@@ -208,7 +209,7 @@ Converst object into something that can be included in the sequence:
 to_block(cb::ContainerBlock) = cb
 to_block(s::Symbol) = to_block(Val(s))
 to_block(s::Union{VariableType, Nothing, Val{:min}, Val{:max}}) = Wait(s)
-to_block(ec::EventComponent) = BuildingBlock([NoGradient(variables.duration(ec)), (0., ec)])
+to_block(ec::EventComponent) = BuildingBlock(ec)
 
 
 function make_generic(seq::BaseSequence)
-- 
GitLab