MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Pattern.hpp File Reference
#include "MayaFlux/Core/ProcessingTokens.hpp"
#include "Pattern.inl"
+ Include dependency graph for Pattern.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Kriya::PatternTraits< Generator, Index >
 Types a pattern derives from its generator and index. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kriya
 
namespace  MayaFlux::Vruta
 

Concepts

concept  MayaFlux::Kriya::PatternGenerator
 A callable from a step index to a value.
 
concept  MayaFlux::Kriya::PatternCallback
 A callable that accepts what the generator returns.
 
concept  MayaFlux::Kriya::PatternCondition
 A predicate on the step index.
 
concept  MayaFlux::Kriya::PatternDurationSource
 A callable from a pass number to the array of durations for that pass.
 

Functions

template<std::incrementable Index = uint64_t, typename Generator , typename Callback , typename Condition >
requires PatternGenerator<Generator, Index> && PatternCallback<Callback, typename PatternTraits<Generator, Index>::value_type> && PatternCondition<Condition, Index>
std::shared_ptr< Vruta::Routine > MayaFlux::Kriya::pattern (Generator generator, Callback callback, Condition ready, Vruta::ProcessingToken token=Vruta::ProcessingToken::SAMPLE_ACCURATE)
 Creates a pattern whose next step runs when a condition holds.
 
template<std::incrementable Index = uint64_t, typename Generator , typename Callback , typename Source >
requires PatternGenerator<Generator, Index> && PatternCallback<Callback, typename PatternTraits<Generator, Index>::value_type> && PatternDurationSource<Source>
std::shared_ptr< Vruta::Routine > MayaFlux::Kriya::pattern (Generator generator, Callback callback, Source durations, Vruta::ProcessingToken token=Vruta::ProcessingToken::SAMPLE_ACCURATE)
 Creates a pattern whose durations come from a function that returns an array per pass.
 
template<std::incrementable Index = uint64_t, typename Generator , typename Callback >
requires PatternGenerator<Generator, Index> && PatternCallback<Callback, typename PatternTraits<Generator, Index>::value_type>
std::shared_ptr< Vruta::Routine > MayaFlux::Kriya::pattern (Generator generator, Callback callback, std::vector< double > durations, Vruta::ProcessingToken token=Vruta::ProcessingToken::SAMPLE_ACCURATE)
 Creates a pattern whose steps are spaced by a list of durations.
 
std::shared_ptr< Vruta::Routine > MayaFlux::Kriya::pattern (std::function< std::any(uint64_t)> pattern_func, std::function< void(std::any)> callback, std::function< bool(uint64_t)> ready, Vruta::ProcessingToken token=Vruta::ProcessingToken::SAMPLE_ACCURATE)
 The std::any, uint64_t form of the condition driven pattern.