Anklang C++ API 0.0.0
Loading...
Searching...
No Matches
Ase Namespace Reference

Namespaces

namespace AnsiColors
namespace Aux
namespace BlepUtils
namespace DBus
namespace FastMemory
namespace Impl
namespace Lib
namespace Loft
namespace MakeIcon
namespace MidiLib
namespace Path
namespace SortingNetworks
namespace Test
namespace Unicode

Classes

struct AlignedPOD
class AsyncBlockingQueue
class AtomicBits
class AtomicIntrusiveStack
struct AtomicStack
class AudioChain
class AudioCombo
class AudioEngine
class AudioEngineThread
struct AudioParams
class AudioProcessor
struct AudioProcessorInfo
struct AudioProcessorRegistry
class AudioPropertyImpl
struct AudioTransport
class AutoSeeder
class Blob
class BlobImpl
struct BusInfo
class ByteBlob
class CallbackList
struct Choice
class ClapAudioProcessor
class ClapDeviceImpl
union ClapEventUnion
class ClapFileHandle
struct ClapParamInfo
struct ClapParamInfoImpl
struct ClapParamUpdate
class ClapPluginDescriptor
class ClapPluginHandle
class ClapPluginHandleImpl
struct ClapPropertyImpl
class Clip
class ClipImpl
struct ClipNote
class CoalesceNotifies
struct ConvertJsTrigger
struct ConvertValue
struct ConvertValueP
struct ConvertValueR
struct ConvertValueRP
struct CPUInfo
class CString
class CStringTable
class CustomDataContainer
class CustomDataKey
struct CustomServerConfig
class Device
class DeviceImpl
struct DeviceInfo
class DispatcherSource
class Driver
struct DriverEntry
struct DriverSet
class Emittable
class EmittableImpl
struct EngineJobImpl
class EngineMidiInput
struct EnumInfo
struct Event
class EventConnection
class EventFd
class EventList
class EventLoop
class EventSource
class FastMemArray
class FileCrawler
class FileStreamWriter
class FlacWriter
union FloatIEEE754
class Gadget
struct GadgetClassMemberList
class GadgetImpl
struct Gtk2DlWrapEntry
struct Gtk2WindowSetup
struct Has_serialize_f
struct Has_serialize_f< T, void_t< decltype(serialize(std::declval< T & >(), std::declval< WritNode & >())) > >
struct IconString
struct Id32
class IniFile
class IniWriter
struct JobQueue
class JsonapiConnection
class JsTrigger
class KeccakCryptoRng
class KeccakFastRng
class KeccakGoodRng
class KeccakRng
struct L2DMatrix
class LadderVCF
class LinearSmooth
struct LocalResourceEntry
struct LoftConfig
struct LoftFree
struct LoftStats
struct LogFormat
struct Logscale
struct LoopState
struct MainApp
struct MainAppImpl
class MainLoop
class Member
class Member< accessor, nullptr >
struct MemberAccessor
struct MemberDetails
class MidiDriver
struct MidiEvent
class MidiEventOutput
class MidiEventReader
struct MidiNote
class Monitor
class MonitorImpl
struct MpmcStack
struct Mutable
class Mwc256
class NativeDevice
class NativeDeviceImpl
struct NoDelete
class NullMidiDriver
class NullPcmDriver
class Object
class ObjectImpl
class OpusWriter
struct OrderedEventList
struct Param
struct Parameter
struct ParameterMap
class ParameterProperty
struct ParamExtraVals
class Pcg32Rng
class PcmDriver
struct PcmDriverConfig
struct PcRe2
class Persistent
struct PollFD
class PollFDSource
class Preference
struct PrefsValue
struct ProbeFeatures
class ProcessorManager
class Project
class ProjectImpl
class Property
class PropertyImpl
struct PwdUser
struct QueueMultiplexer
class QuickArray
struct QuickSourcePArray
class Re
struct RegisteredDriver
struct RegisteredLoader
struct Resource
class ResourceCrawler
struct RtCall
struct RtCallJob
struct RtJobQueue
class SaturationDSP
class ScopedPosixLocale
class ScopedSemaphore
class Serializable
class Server
class ServerImpl
struct SHA3_224
struct SHA3_256
struct SHA3_384
struct SHA3_512
struct SHAKE128
struct SHAKE256
class SHAKE_Base
class SharedBase
class SortedVector
class Stopwatch
class Storage
class StorageReader
class StorageWriter
class StreamReader
class StreamReaderFile
class StreamReaderZipMember
class StreamReaderZStd
class StreamWriter
class StreamWriterZStd
class StringBlob
class Strings
class SubLoop
class TaskRegistry
struct TaskStatus
struct TelemetryField
class TelemetryPlan
struct TelemetrySegment
struct TickSignature
class TimedSource
class Track
class TrackImpl
struct TransportLimits
class UndoScope
struct UserNote
class USignalSource
struct Value
struct ValueField
struct ValueR
struct ValueS
struct VirtualBase
class WaveWriter
class WavWriterImpl
class WebSocketConnection
class WebSocketServer
struct WebSocketServerImpl
class Writ
struct WritConverter
struct WritConverter< T, REQUIRESv< !std::is_base_of< Serializable, T >::value &&!Jsonipc::DerivesVector< T >::value &&!Jsonipc::DerivesSharedPtr< T >::value &&std::is_class< T >::value > >
struct WritConverter< T, REQUIRESv< std::is_base_of< Serializable, T >::value > >
struct WritConverter< T, REQUIRESv< std::is_enum< T >::value > >
struct WritConverter< T, REQUIRESv< std::is_integral< T >::value||std::is_floating_point< T >::value > >
class WritLink
class WritNode

Concepts

concept IsEnum

Typedefs

template<class T >
usingAtomic = boost::atomic< T >
usingAtomicU64 = std::atomic< uint64 >
usingCallbackS = std::vector< std::function< void()> >
usingChoicesFunc = std::function< ChoiceS(const CString &)>
usingClapEventParamS = std::vector< clap_event_param_value >
usingClapEventUnionS = std::vector< ClapEventUnion >
usingClapParamIdValue = std::tuple< clap_id, double >
usingClapParamIdValueS = std::vector< ClapParamIdValue >
usingClapParamInfoMap = std::unordered_map< clap_id, ClapParamInfoImpl * >
usingClapParamInfoS = std::vector< ClapParamInfo >
usingClapParamUpdateS = std::vector< ClapParamUpdate >
usingClapResourceHash = std::tuple< clap_id, String >
usingClapResourceHashS = std::vector< ClapResourceHash >
usingClipImplGeneratorS = std::vector< ClipImpl::Generator >
usingCStringS = std::vector< CString >
usingDCallbackS = std::vector< std::function< void(double)> >
typedef std::shared_ptr< DispatcherSource >DispatcherSourceP
usingDriverP = Driver::DriverP
usingEventConnectionP = std::shared_ptr< EventConnection >
usingEventConnectionW = std::weak_ptr< EventConnection >
usingEventHandler = std::function< void(const Event &)>
typedef std::shared_ptr< EventLoop >EventLoopP
typedef std::shared_ptr< EventSource >EventSourceP
usingFastRng = Mwc256
template<size_t I, size_t J>
usingIDX = typename ::std::enable_if< I==J, bool >::type
usingInstanceP = std::shared_ptr< SharedBase >
typedef int16_tint16
typedef int32_tint32
typedef int64_tint64
typedef int8_tint8
usingJsonapiBinarySender = std::function< bool(const String &)>
usingJsonapiConnectionP = std::shared_ptr< JsonapiConnection >
usingJsonapiConnectionW = std::weak_ptr< JsonapiConnection >
template<typename T >
usingLoftPtr = std::unique_ptr< T, LoftFree >
typedef std::shared_ptr< MainLoop >MainLoopP
usingMidiDriverP = MidiDriver::MidiDriverP
usingMinMaxStep = std::tuple< double, double, double >
usingMonitorImplP = std::shared_ptr< MonitorImpl >
usingObjectImplP = std::shared_ptr< ObjectImpl >
usingParameterC = std::shared_ptr< const Parameter >
usingParamInitialVal = std::variant< bool, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, float, double, const char *, std::string >
usingPcmDriverP = PcmDriver::PcmDriverP
typedef std::shared_ptr< PollFDSource >PollFDSourceP
usingPrefsMap = std::unordered_map< CString, PrefsValue >
usingPrefsValueCallbackList = CallbackList< CString, const Value & >
usingProjectImplP = std::shared_ptr< ProjectImpl >
usingPropertyGetter = std::function< void(Value &)>
usingPropertyLister = std::function< ChoiceS(const ParameterProperty &)>
usingPropertySetter = std::function< bool(const Value &)>
usingRegisteredLoaderFunc = Error(*)()
usingRegisteredLoaderVector = std::vector< RegisteredLoader >
template<bool value>
usingREQUIRES = typename ::std::enable_if< value, bool >::type
template<bool value>
usingREQUIRESv = typename ::std::enable_if< value, void >::type
usingStartQueue = AsyncBlockingQueue< char >
usingString = std::string
usingString3 = std::tuple< String, String, String >
usingStringPair = std::pair< std::string, std::string >
usingStringPairS = std::vector< std::tuple< String, String > >
usingStringS = std::vector< String >
usingThreadId = std::thread::id
typedef std::shared_ptr< TimedSource >TimedSourceP
template<class T , class C >
usingTYP = typename ::std::enable_if< std::is_same< T, C >::value, bool >::type
typedef uint32_tuint
typedef uint16_tuint16
typedef uint32_tuint32
typedef uint64_tuint64
typedef uint8_tuint8
typedef uint32_tunichar
typedef std::shared_ptr< USignalSource >USignalSourceP
usingValueP = std::shared_ptr< Value >
usingValueVariant = std::variant< std::monostate, bool, int64, double, String, ValueS, ValueR, InstanceP >
usingVirtualBaseP = std::shared_ptr< VirtualBase >
usingVoidF = std::function< void()>
usingVoidFunc = std::function< void()>
usingWaveWriterP = std::shared_ptr< WaveWriter >
usingWebSocketConnectionP = std::shared_ptr< WebSocketConnection >
usingWebSocketServerImplP = std::shared_ptr< WebSocketServerImpl >
usingWebSocketServerP = std::shared_ptr< WebSocketServer >
usingWppConnection = WppConnectionP::element_type
usingWppConnectionP = WppServer::connection_ptr
usingWppHdl = websocketpp::connection_hdl
usingWppServer = websocketpp::server< CustomServerConfig >
usingWritNodeS = std::vector< WritNode >
usingWritP = std::shared_ptr< Writ >

Enumerations

enum { WAITING , PREPARED , NEEDS_DISPATCH }
enum CacheType { CACHE_NEVER , CACHE_AUTO , CACHE_BRIEFLY , CACHE_FOREVER }
enum class Error : int32_t {
  NONE , PERMS , IO , NO_MEMORY ,
  NO_SPACE , NO_FILES , MANY_FILES , RETRY ,
  NOT_DIRECTORY , FILE_NOT_FOUND , FILE_IS_DIR , FILE_EXISTS ,
  FILE_BUSY , INTERNAL , UNIMPLEMENTED , FILE_EOF ,
  FILE_OPEN_FAILED , FILE_SEEK_FAILED , FILE_READ_FAILED , FILE_WRITE_FAILED ,
  PARSE_ERROR , NO_HEADER , NO_SEEK_INFO , NO_DATA_AVAILABLE ,
  DATA_CORRUPT , WRONG_N_CHANNELS , FORMAT_INVALID , FORMAT_UNKNOWN ,
  DATA_UNMATCHED , CODEC_FAILURE , BROKEN_ARCHIVE , BAD_PROJECT ,
  NO_PROJECT_DIR , DEVICE_NOT_AVAILABLE , DEVICE_ASYNC , DEVICE_BUSY ,
  DEVICE_FORMAT , DEVICE_BUFFER , DEVICE_LATENCY , DEVICE_CHANNELS ,
  DEVICE_FREQUENCY , DEVICES_MISMATCH , WAVE_NOT_FOUND , INVALID_PROPERTY ,
  INVALID_MIDI_CONTROL , OPERATION_BUSY
}
enum class IBusId : uint16
enum LogFlags { LOG_FILE , LOG_STDERR , LOG_LOCATIONS }
enum class MidiEventType : uint8_t {
  PARAM_VALUE , NOTE_OFF , NOTE_ON , AFTERTOUCH ,
  CONTROL_CHANGE , PROGRAM_CHANGE , CHANNEL_PRESSURE , PITCH_BEND ,
  SYSEX
}
enum class MidiMessage : int32_t {
  NONE , ALL_SOUND_OFF , RESET_ALL_CONTROLLERS , LOCAL_CONTROL ,
  ALL_NOTES_OFF , OMNI_MODE_OFF , OMNI_MODE_ON , MONO_MODE_ON ,
  POLY_MODE_ON , PARAM_VALUE , NOTE_OFF , NOTE_ON ,
  AFTERTOUCH , CONTROL_CHANGE , PROGRAM_CHANGE , CHANNEL_PRESSURE ,
  PITCH_BEND , SYSEX
}
enum class MusicalTuning : uint8 {
  OD_12_TET , OD_7_TET , OD_5_TET , DIATONIC_SCALE ,
  INDIAN_SCALE , PYTHAGOREAN_TUNING , PENTATONIC_5_LIMIT , PENTATONIC_BLUES ,
  PENTATONIC_GOGO , QUARTER_COMMA_MEANTONE , SILBERMANN_SORGE , WERCKMEISTER_3 ,
  WERCKMEISTER_4 , WERCKMEISTER_5 , WERCKMEISTER_6 , KIRNBERGER_3 ,
  YOUNG
}
enum class OBusId : uint16
enum class ParamId : uint32
enum class ResourceType { FOLDER , FILE }
enum class RPath {
  PREFIXDIR , INSTALLDIR , LOCALEDIR , LIBDIR ,
  DEMODIR , LADSPADIRS
}
enum class SpeakerArrangement : uint64_t {
  NONE , FRONT_LEFT , FRONT_RIGHT , FRONT_CENTER ,
  LOW_FREQUENCY , BACK_LEFT , BACK_RIGHT , AUX ,
  MONO , STEREO , STEREO_21 , STEREO_30 ,
  STEREO_31 , SURROUND_50 , SURROUND_51
}

Functions

const char *()_ (const char *string)
const char *()_ (const char *string, const char *plural, int64_t n)
std::string()_ (const std::string &string)
std::string()_ (const std::string &string, const std::string &plural, int64_t n)
const char *()__format_arg__ (2)))
voidanklang_cachedir_clean_stale ()
voidanklang_cachedir_cleanup (const String &cachedir)
Stringanklang_cachedir_create ()
Stringanklang_home_dir (const String &subdir)
std::stringanklang_runpath (RPath rpath, const String &segment)
Stringapplication_name ()
voidapplication_name_init (String desktopname)
const char *ase_build_id ()
const char *ase_error_blurb (Error error)
Errorase_error_from_errno (int sys_errno, Error fallback=Error::IO)
template<class A0 , class... Ar>
const char *ase_gettext (const char *format, const A0 &a0, const Ar &...restargs)
const char *ase_gettext (const String &untranslated)
const char *ase_version ()
voidassertion_failed (const char *msg, const char *file, int line, const char *func) noexcept
voidassertion_fatal (const char *msg, const char *file, int line, const char *func) noexcept
voidatquit_add (std::function< void()> *func)
voidatquit_del (std::function< void()> *func)
voidatquit_run (int exitcode)
boolatquit_triggered ()
std::stringbacktrace_command ()
Stringblake3_hash_file (const String &filename)
Stringblake3_hash_string (const String &input)
voidbreakpoint ()
template<class T >
voidcall_delete (T *o)
DeviceInfoclap_device_info (const ClapPluginDescriptor &descriptor)
Stringclap_event_to_string (const clap_event_note_t *enote)
const char *clap_event_type_string (int etype)
voidcollect_runtime_entropy (uint64 *data, size_t n)
voidcollect_system_entropy (uint64 *data, size_t n)
constexpr boolconstexpr_equals (const char *a, const char *b, size_t n)
template<>
voidconvert_clip_samples (size_t n, const float *src, int16_t *dst, uint16 byte_order)
template<class S , class D >
voidconvert_clip_samples (size_t n, S *src, D *dst, uint16 byte_order)
template<>
voidconvert_samples (size_t n, const int16_t *src, float *dst, uint16 byte_order)
template<class S , class D >
voidconvert_samples (size_t n, S *src, D *dst, uint16 byte_order)
std::stringcpu_arch ()
Stringcpu_info ()
DevicePcreate_processor_device (AudioEngine &engine, const String &uri, bool engineproducer)
boolcstring_to_bool (const char *string, bool fallback)
StringScstrings_to_vector (const char *s,...)
long doublecurrent_locale_strtold (const char *nptr, char **endptr)
floatdamerau_levenshtein_distance (const std::string &source, const std::string &target, const float ci, const float cd, const float cs, const float ct)
floatdamerau_levenshtein_restricted (const std::string &source, const std::string &target, const float ci, const float cd, const float cs, const float ct)
template<typename Float >
Floatdb2voltage (Float x)
template<typename Float >
Floatdb_changed (Float a, Float b)
template<class ... A>
voiddebug (const char *cond, const char *format, const A &...args)
template<class ... Args>
voiddebug (const char *cond, const char *format, const Args &...args)
booldebug_enabled ()
booldebug_key_enabled (const ::std::string &conditional)
booldebug_key_enabled (const char *conditional)
booldebug_key_enabled (const std::string &conditional) ASE_PURE
::std::stringdebug_key_value (const char *conditional)
voiddebug_message (const char *cond, const std::string &message)
std::stringdecodefs (const std::string &utf8str)
voiddiag_flush (uint8 code, const String &txt)
Stringdiag_prefix (uint8 code)
std::stringdisplayfs (const std::string &utf8str)
std::stringencodefs (const std::string &fschars)
template<typename Enum >
requires IsEnum<Enum>
ChoiceSenum_lister (const ParameterProperty &)
std::stringexecutable_name () ASE_PURE
std::stringexecutable_path ()
voidfast_copy (size_t n, float *d, const float *s)
voidfast_copy (size_t n, uint32_t *d, const uint32_t *s)
floatfast_db2voltage (float x)
floatfast_exp2 (float x)
floatfast_hz2voltage (float x)
floatfast_log2 (float x)
void *fast_mem_alloc (size_t size)
voidfast_mem_free (void *mem)
floatfast_voltage2db (float x)
floatfast_voltage2hz (float x)
template<class ... A>
voidfatal_error (const char *format, const A &...args) ASE_NORETURN
template<class ... Args>
void ASE_NORETURNfatal_error (const char *format, const Args &...args)
voidfatal_system_error (const char *file, uint line, const char *format,...) __attribute__((__format__(printf
template<typename E >
std::pair< std::shared_ptr< E >, ssize_t >find_shared_by_ref (const std::vector< std::shared_ptr< E > > &v, const E &e)
template<class RandomIt , class Compare >
voidfixed_sort (RandomIt first, RandomIt last, Compare comp=std::less< typename std::iterator_traits< RandomIt >::value_type >())
voidfloatfill (float *dst, float f, size_t n)
doubleforce_double (double d)
floatforce_float (float f)
floathz2value (float x)
template<typename Float >
Floathz2voltage (Float x)
template<typename Float >
Floathz_changed (Float a, Float b)
intirintf (float f)
boolis_aiff (const String &input)
boolis_arj (const String &input)
boolis_avi (const String &input)
boolis_compressed (const String &input)
boolis_gz (const String &input)
boolis_isz (const String &input)
boolis_jpg (const String &input)
boolis_lz4 (const String &input)
boolis_midi (const String &input)
boolis_ogg (const String &input)
boolis_pdf (const String &input)
boolis_png (const String &input)
boolis_wav (const String &input)
boolis_xz (const String &input)
boolis_zip (const String &input)
boolis_zstd (const String &input)
template<class T >
Tjson_parse (const String &jsonstring)
template<class T >
booljson_parse (const String &jsonstring, T &target)
template<class T >
Stringjson_stringify (const T &source, Writ::Flags flags=Writ::Flags(0))
CustomDataContainer *jsonapi_connection_data ()
JsonapiBinarySenderjsonapi_connection_sender ()
WebSocketConnectionPjsonapi_make_connection (WebSocketConnection::Internals &internals, int logflags)
voidjsonapi_require_auth (const String &subprotocol)
Stringkvpair_key (const String &key_value_pair)
Stringkvpair_value (const String &key_value_pair)
boolkvpairs_assign (StringS &kvs, const String &key_value_pair, bool casesensitive)
Stringkvpairs_fetch (const StringS &kvs, const String &key, bool casesensitive)
ssize_tkvpairs_search (const StringS &kvs, const String &k, const bool casesensitive)
StringSlist_clap_files ()
voidload_registered_drivers ()
template<class T , class ... Args>
LoftPtr< T >loft_make_unique (Args &&...args)
template<class... A>
voidlog (const LogFormat &format, const A &...args)
LogFlagslog_setup (int *logfd)
voidlogmsg (const std::string &msg, const char *const filename, const uint64_t columnline, const char *const function_name)
voidmain_loop_autostop_mt ()
voidmain_loop_wakeup ()
MidiEventmake_aftertouch (uint16 chnl, uint8 mkey, float velo, float tune, uint nid)
AudioEngine &make_audio_engine (const VoidF &owner_wakeup, uint sample_rate, SpeakerArrangement speakerarrangement)
MidiEventmake_control (uint16 chnl, uint prm, float val)
MidiEventmake_control8 (uint16 chnl, uint prm, uint8 cval)
template<typename Enum >
std::function< void(Value &)>make_enum_getter (Enum *v)
template<typename Enum >
std::function< bool(const Value &)>make_enum_setter (Enum *v)
MidiEventmake_note_off (uint16 chnl, uint8 mkey, float velo, float tune, uint nid)
MidiEventmake_note_on (uint16 chnl, uint8 mkey, float velo, float tune, uint nid)
MidiEventmake_param_value (uint param, double pvalue)
MidiEventmake_pitch_bend (uint16 chnl, float val)
MidiEventmake_pressure (uint16 chnl, float velo)
MidiEventmake_program (uint16 chnl, uint prgrm)
voidmemset4 (uint32 *mem, uint32 filler, uint length)
uint64monotonic_counter ()
Stringnow_strftime (const String &format)
constexpr booloperator! (Error error)
ChoiceS &operator+= (ChoiceS &choices, Choice &&newchoice)
booloperator== (const std::vector< ValueP > &v1, const std::vector< ValueP > &v2)
constexpr Re::Flagsoperator| (Re::Flags a, Re::Flags b)
Stringparameter_guess_nick (const String &parameter_label)
long doubleposix_locale_strtold (const char *nptr, char **endptr)
template<class... A>
void voidprinterr (const char *format, const A &...args) ASE_PRINTF(1
template<class... Args>
voidprinterr (const char *format, const Args &...args)
template<class... A>
voidprintout (const char *format, const A &...args) ASE_PRINTF(1
template<class... Args>
voidprintout (const char *format, const Args &...args)
Stringprogram_alias ()
voidprogram_alias_init (String customname)
Stringprogram_cwd ()
intQueueMultiplexer_priority (const MidiEvent &e)
doublerandom_float ()
doublerandom_frange (double begin, double end)
uint64_trandom_int64 ()
int64_trandom_irange (int64_t begin, int64_t end)
uint64_trandom_nonce ()
voidrandom_secret (uint64_t *secret_var)
template<typename T >
CStringregister_audio_processor (const char *aseid=nullptr)
bool *register_driver_loader (const char *staticwhat, Error(*loader)())
boolsched_fast_priority (int tid)
intsched_get_priority (int tid)
boolsched_set_priority (int tid, int nicelevel)
voidsha3_224_hash (const void *data, size_t data_length, uint8_t hashvalue[28])
voidsha3_256_hash (const void *data, size_t data_length, uint8_t hashvalue[32])
voidsha3_384_hash (const void *data, size_t data_length, uint8_t hashvalue[48])
voidsha3_512_hash (const void *data, size_t data_length, uint8_t hashvalue[64])
voidshake128_hash (const void *data, size_t data_length, uint8_t *hashvalues, size_t n)
voidshake256_hash (const void *data, size_t data_length, uint8_t *hashvalues, size_t n)
template<class Target , class Source >
const std::shared_ptr< typename std::remove_pointer< Target >::type >shared_ptr_cast (const Source *object)
template<class Target , class Source >
const std::shared_ptr< typename std::remove_pointer< Target >::type >shared_ptr_cast (const std::shared_ptr< Source > &sptr)
template<class Target , class Source >
std::shared_ptr< typename std::remove_pointer< Target >::type >shared_ptr_cast (Source *object)
template<class Target , class Source >
std::shared_ptr< typename std::remove_pointer< Target >::type >shared_ptr_cast (std::shared_ptr< Source > &sptr)
template<class Source >
std::shared_ptr< typename std::remove_pointer< Source >::type >shared_ptr_from (Source *object)
const char *speaker_arrangement_bit_name (SpeakerArrangement spa)
SpeakerArrangementspeaker_arrangement_channels (SpeakerArrangement spa)
uint8speaker_arrangement_count_channels (SpeakerArrangement spa)
std::stringspeaker_arrangement_desc (SpeakerArrangement spa)
boolspeaker_arrangement_is_aux (SpeakerArrangement spa)
floatsquare_max (uint n_values, const float *ivalues)
floatsquare_sum (uint n_values, const float *ivalues)
StreamReaderPstream_reader_from_file (const String &file)
StreamReaderPstream_reader_zip_member (const String &archive, const String &member, Storage::StorageFlags f)
StreamReaderPstream_reader_zstd (StreamReaderP &istream)
StreamWriterPstream_writer_create_file (const String &filename, int mode)
StreamWriterPstream_writer_zstd (const StreamWriterP &ostream, int level)
const char *strerror ()
const char *strerror (int errno_num)
Stringstring_canonify (const String &string, const String &valid_chars, const String &substitute)
Stringstring_capitalize (const String &str, size_t maxn, bool rest_tolower)
intstring_casecmp (const String &s1, const String &s2)
Stringstring_casefold (const String &src)
intstring_cmp (const String &s1, const String &s2)
intstring_cmp_uuid (const String &uuid_string1, const String &uuid_string2)
const char *string_demangle_cxx (const char *mangled_identifier) noexcept
boolstring_endswith (const String &string, const String &fragment)
boolstring_endswith (const String &string, const StringS &fragments)
const char *string_find_word (const char *haystack, const char *word)
template<class ... Args>
std::stringstring_format (const char *format, const Args &...args) __attribute__((__format__(__printf__
Stringstring_from_bool (bool value)
Stringstring_from_cquote (const String &input)
Stringstring_from_double (double value)
Stringstring_from_double_vector (const std::vector< double > &dvec, const String &delim)
Stringstring_from_errno (int errno_val)
Stringstring_from_float (double value)
Stringstring_from_float (float value)
Stringstring_from_int (int64 value)
Stringstring_from_long_double (long double value)
Stringstring_from_pretty_function_name (const char *cxx_pretty_function)
template<typename Type >
Stringstring_from_type (Type value)
template<>
Stringstring_from_type< bool > (bool value)
template<>
Stringstring_from_type< double > (double value)
template<>
Stringstring_from_type< float > (float value)
template<>
Stringstring_from_type< int > (int value)
template<>
Stringstring_from_type< int16 > (int16 value)
template<>
Stringstring_from_type< int64 > (int64 value)
template<>
Stringstring_from_type< long double > (long double value)
template<>
Stringstring_from_type< String > (String value)
template<>
Stringstring_from_type< uint > (uint value)
template<>
Stringstring_from_type< uint16 > (uint16 value)
template<>
Stringstring_from_type< uint64 > (uint64 value)
Stringstring_from_uint (uint64 value)
boolstring_has_int (const String &string)
Stringstring_hexdump (const void *addr, size_t length, size_t initial_offset)
boolstring_is_ascii_alnum (const String &str)
boolstring_is_canonified (const String &string, const String &valid_chars)
boolstring_is_ncname (const String &input)
boolstring_is_uuid (const String &uuid_string)
boolstring_islower (const String &str)
boolstring_isupper (const String &str)
Stringstring_join (const String &junctor, const StringS &strvec)
Stringstring_locale_vprintf (const char *format, va_list vargs)
Stringstring_lstrip (const String &input)
boolstring_match_identifier (const String &ident1, const String &ident2)
boolstring_match_identifier_tail (const String &ident, const String &tail)
Stringstring_multiply (const String &s, uint64 count)
Stringstring_normalize_nfc (const String &src)
Stringstring_normalize_nfd (const String &src)
Stringstring_normalize_nfkc (const String &src)
Stringstring_normalize_nfkd (const String &src)
boolstring_option_check (const String &optionlist, const String &feature)
Stringstring_option_find (const String &optionlist, const String &feature, const String &fallback)
std::string_viewstring_option_find_value (const char *string, const char *feature, const String &fallback, const String &denied, bool matchallnone)
Stringstring_replace (const String &input, const String &marker, const String &replacement, size_t maxn)
Stringstring_rstrip (const String &input)
const String &string_set_a2z ()
const String &string_set_A2Z ()
const String &string_set_ascii_alnum ()
StringSstring_split (const String &string, const String &splitter, size_t maxn)
StringSstring_split_any (const String &string, const String &splitchars, size_t maxn)
boolstring_startswith (const String &string, const String &fragment)
boolstring_startswith (const String &string, const StringS &fragments)
Stringstring_strip (const String &input)
Stringstring_substitute_char (const String &input, const char match, const char subst)
boolstring_to_bool (const String &string, bool fallback)
Stringstring_to_cescape (const String &str)
Stringstring_to_cquote (const String &str)
doublestring_to_double (const char *dblstring, const char **endptr)
doublestring_to_double (const String &string)
std::vector< double >string_to_double_vector (const String &string)
doublestring_to_float (const String &string)
Stringstring_to_hex (const String &input)
Stringstring_to_identifier (const String &input)
int64string_to_int (const String &string, size_t *consumed, uint base)
long doublestring_to_long_double (const char *dblstring, const char **endptr)
long doublestring_to_long_double (const String &string)
Stringstring_to_ncname (const String &input, uint32_t substitute)
doublestring_to_seconds (const String &string, double fallback)
template<typename Type >
Typestring_to_type (const String &string)
template<>
boolstring_to_type< bool > (const String &string)
template<>
doublestring_to_type< double > (const String &string)
template<>
floatstring_to_type< float > (const String &string)
template<>
intstring_to_type< int > (const String &string)
template<>
int16string_to_type< int16 > (const String &string)
template<>
int64string_to_type< int64 > (const String &string)
template<>
long doublestring_to_type< long double > (const String &string)
template<>
Stringstring_to_type< String > (const String &string)
template<>
uintstring_to_type< uint > (const String &string)
template<>
uint16string_to_type< uint16 > (const String &string)
template<>
uint64string_to_type< uint64 > (const String &string)
uint64string_to_uint (const String &string, size_t *consumed, uint base)
Stringstring_tolower (const String &str)
Stringstring_totitle (const String &str)
Stringstring_toupper (const String &str)
Stringstring_url_decode (const String &urlstr, const bool form_url_encoded)
Stringstring_url_encode (const String &rawstr, const bool form_url_encoded)
voidstring_vector_erase_empty (StringS &svector)
Stringstring_vector_find (const StringS &svector, const String &prefix, const String &fallback)
Stringstring_vector_find_value (const StringS &svector, const String &prefix, const String &fallback)
voidstring_vector_lstrip (StringS &svector)
voidstring_vector_rstrip (StringS &svector)
voidstring_vector_strip (StringS &svector)
Stringstring_vprintf (const char *format, va_list vargs)
Stringstringify_clip_note (const ClipNote &n)
StringSstrings_version_sort (const StringS &strings, bool reverse)
voidstrings_version_sort (StringS *strings, bool reverse)
const char *strrstr (const char *haystack, const char *needle)
template<class T >
TelemetryFieldtelemetry_field (const String &name, const T *field)
booltext_convert (const String &to_charset, String &output_string, const String &from_charset, const String &input_string, const String &fallback_charset, const String &output_mark)
Stringthis_thread_get_name ()
intthis_thread_getpid ()
intthis_thread_gettid ()
boolthis_thread_is_ase ()
intthis_thread_online_cpus ()
ThreadIdthis_thread_self ()
voidthis_thread_set_name (const String &name16chars)
uint64timestamp_benchmark ()
Stringtimestamp_format (uint64 stamp, uint maxlength)
uint64_ttimestamp_now ()
uint64timestamp_realtime ()
uint64timestamp_resolution ()
uint64timestamp_startup ()
constexpr uint16_tuint16_swap_le_be (uint16_t v)
constexpr uint32_tuint32_swap_le_be (uint32_t v)
constexpr uint64_tuint64_swap_le_be (uint64_t v)
constexpr boolunicode_is_assigned (uint32_t u)
constexpr boolunicode_is_character (uint32_t u)
constexpr boolunicode_is_control_code (uint32_t u)
constexpr boolunicode_is_noncharacter (uint32_t u)
constexpr boolunicode_is_private (uint32_t u)
constexpr boolunicode_is_valid (uint32_t u)
intuser_id ()
Stringuser_name ()
Stringuser_real_name ()
size_tutf8_to_unicode (const char *str, uint32_t *codepoints)
size_tutf8_to_unicode (const std::string &str, std::vector< uint32_t > &codepoints)
std::vector< uint32_t >utf8decode (const std::string &utf8str)
std::stringutf8encode (const std::vector< uint32_t > &codepoints)
std::stringutf8encode (const uint32_t *codepoints, size_t n_codepoints)
size_tutf8len (const char *str)
size_tutf8len (const std::string &str)
floatvalue2hz (float x)
template<typename Float >
Floatvoltage2db (Float x)
template<typename Float >
Floatvoltage2hz (Float x)
template<typename Float >
Floatvoltage_changed (Float a, Float b)
template<class ... A>
voidwarning (const char *format, const A &...args)
template<class ... Args>
voidwarning (const char *format, const Args &...args)
WaveWriterPwave_writer_create_flac (int rate, int channels, const String &filename, int mode, int compresion)
WaveWriterPwave_writer_create_opus (int rate, int channels, const String &filename, int mode, int complexity, float bitrate)
WaveWriterPwave_writer_create_wav (int rate, int channels, const String &filename, int mode, uint8_t n_bits)
Stringwave_writer_flac_version ()
Stringwave_writer_opus_version ()
template<class C >
std::shared_ptr< C >weak_ptr_fetch_or_create (std::weak_ptr< C > &wptr, const std::function< std::shared_ptr< C >()> &ctor)
uint8 *zintern_decompress (unsigned int decompressed_size, const unsigned char *cdata, unsigned int cdata_size)
voidzintern_free (uint8 *dc_data)
Stringzstd_compress (const String &input, int level)
Stringzstd_compress (const void *src, size_t src_size, int level)
ssize_tzstd_target_size (const String &input)
Stringzstd_uncompress (const String &input)
ssize_tzstd_uncompress (const String &input, void *dst, size_t dst_size)

Variables

constexpr const bool__DEV__
void__noreturn__
const MainApp &App
Ts &&args
boolase_debugging_enabled
boolase_fatal_warnings
const char *constase_gettext_domain
const intase_major_version
const intase_micro_version
const intase_minor_version
const char *constase_sharedir
const char *constase_version_long
const char *constase_version_short
boolassertion_failed_fatal
constexpr const uintAUDIO_BLOCK_FLOAT_ZEROS_SIZE
uint64_tcached_hash_secret
const float *constcent_table
uint64_tcolumnline
floatconst_float_zeros [AUDIO_BLOCK_FLOAT_ZEROS_SIZE]
constexpr const doubleDOUBLE_EPSILON
static bool const char *fileglob
constexpr const uintFIXED_N_CHANNELS
constexpr const uintFIXED_N_MIDI_DRIVERS
constexpr const uintFIXED_SAMPLE_RATE
uint64_t const char const char *format
uint64_t const char *func
constexpr const charGUIONLY []
constexpr doubleINVERSE_SEMIQUAVER
MainAppImplmain_app
JobQueuemain_jobs (call_main_loop)
MainLoopPmain_loop
RtJobQueuemain_rt_jobs
constexpr const int64MAX_BPM
constexpr const int64MAX_SAMPLERATE
static bool const char const size_tmaxbytes
constexpr const uintMIDI_NOTE_ID_FIRST
constexpr const uintMIDI_NOTE_ID_LAST
constexpr const int64MIN_BPM
constexpr const int64MIN_SAMPLERATE
constexpr const int64SEMIQUAVER_TICKS
const float *constsemitone_tables_265 [17]
ServerImpl *SERVER
constexpr SpeakerArrangementspeaker_arrangement_channels_mask
constexpr const charSTANDARD []
constexpr const charSTORAGE []
constexpr const int64TRANSPORT_PPQN
constexpr uint32_tunicode_last_codepoint

Detailed Description

The Anklang C++ API namespace.

@TODO:

  • StringFormatter: support directives: %n %S %ls
  • StringFormatter: support directive flags: I

Typedef Documentation

Atomic

template<class T >
using Atomic = boost::atomic<T>

Substitute for std::atomic<> with fixes for GCC.

AtomicU64

using AtomicU64 = std::atomic<uint64>

ClapEventParamS

using ClapEventParamS = std::vector<clap_event_param_value>

ClapEventUnionS

using ClapEventUnionS = std::vector<ClapEventUnion>

ClapResourceHash

using ClapResourceHash = std::tuple<clap_id,String>

ClapResourceHashS

using ClapResourceHashS = std::vector<ClapResourceHash>

ClapParamIdValue

using ClapParamIdValue = std::tuple<clap_id,double>

ClapParamIdValueS

using ClapParamIdValueS = std::vector<ClapParamIdValue>

ClapParamInfoMap

using ClapParamInfoMap = std::unordered_map<clap_id,ClapParamInfoImpl*>

ClapParamUpdateS

using ClapParamUpdateS = std::vector<ClapParamUpdate>

ClapParamInfoS

using ClapParamInfoS = std::vector<ClapParamInfo>

ClipImplGeneratorS

uint

typedef uint32_t uint

Provide 'uint' as convenience type.

uint8

typedef uint8_t uint8

An 8-bit unsigned integer.

uint16

typedef uint16_t uint16

A 16-bit unsigned integer.

uint32

typedef uint32_t uint32

A 32-bit unsigned integer.

uint64

typedef uint64_t uint64

A 64-bit unsigned integer, use PRI*64 in format strings.

int8

typedef int8_t int8

An 8-bit signed integer.

int16

typedef int16_t int16

A 16-bit signed integer.

int32

typedef int32_t int32

A 32-bit signed integer.

int64

typedef int64_t int64

A 64-bit unsigned integer, use PRI*64 in format strings.

unichar

typedef uint32_t unichar

A 32-bit unsigned integer used for Unicode characters.

String

typedef std::string String

Convenience alias for std::string.

StringS

using StringS = std::vector<String>

Convenience alias for a std::vector<std::string>.

StringPair

using StringPair = std::pair<std::string, std::string>

VoidF

using VoidF = std::function<void()>

VirtualBaseP

using VirtualBaseP = std::shared_ptr<VirtualBase>

REQUIRES

template<bool value>
using REQUIRES = typename ::std::enable_if<value, bool>::type

REQUIRES<value> - Simplified version of std::enable_if<cond,bool>::type to use SFINAE in function templates.

REQUIRESv

template<bool value>
using REQUIRESv = typename ::std::enable_if<value, void>::type

REQUIRESv<value> - Simplified version of std::enable_if<cond,void>::type to use SFINAE in struct templates.

CallbackS

using CallbackS = std::vector<std::function<void()> >

DCallbackS

using DCallbackS = std::vector<std::function<void(double)> >

EventConnectionW

using EventConnectionW = std::weak_ptr<EventConnection>

EventConnectionP

using EventConnectionP = std::shared_ptr<EventConnection>

EventHandler

using EventHandler = std::function<void (const Event&)>

InstanceP

using InstanceP = std::shared_ptr<SharedBase>

ValueP

using ValueP = std::shared_ptr<Value>

WritNodeS

using WritNodeS = std::vector<WritNode>

RegisteredLoaderFunc

using RegisteredLoaderFunc = Error (*) ()

RegisteredLoaderVector

DriverP

MidiDriverP

PcmDriverP

VoidFunc

using VoidFunc = std::function<void()>

StartQueue

JsonapiConnectionP

using JsonapiConnectionP = std::shared_ptr<JsonapiConnection>

JsonapiConnectionW

using JsonapiConnectionW = std::weak_ptr<JsonapiConnection>

JsonapiBinarySender

using JsonapiBinarySender = std::function<bool(const String&)>

LoftPtr

template<typename T >
using LoftPtr = std::unique_ptr<T,LoftFree>

A std::unique_ptr<> for Loft allocations.

EventSourceP

typedef std::shared_ptr<EventSource> EventSourceP

TimedSourceP

typedef std::shared_ptr<TimedSource> TimedSourceP

PollFDSourceP

typedef std::shared_ptr<PollFDSource> PollFDSourceP

DispatcherSourceP

typedef std::shared_ptr<DispatcherSource> DispatcherSourceP

USignalSourceP

typedef std::shared_ptr<USignalSource> USignalSourceP

EventLoopP

typedef std::shared_ptr<EventLoop> EventLoopP

MainLoopP

typedef std::shared_ptr<MainLoop> MainLoopP

CStringS

using CStringS = std::vector<CString>

MonitorImplP

using MonitorImplP = std::shared_ptr<MonitorImpl>

ObjectImplP

using ObjectImplP = std::shared_ptr<ObjectImpl>

String3

using String3 = std::tuple<String,String,String>

MinMaxStep

using MinMaxStep = std::tuple<double,double,double>

Min, max, stepping for double ranges.

ChoicesFunc

using ChoicesFunc = std::function<ChoiceS(const CString&)>

Handler to generate all possible parameter choices dynamically.

ParamInitialVal

using ParamInitialVal = std::variant<bool,int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,int64_t,uint64_t,float,double,const char*,std::string>

Initial value for parameters.

ParameterC

using ParameterC = std::shared_ptr<const Parameter>

ThreadId

using ThreadId = std::thread::id

StringPairS

using StringPairS = std::vector<std::tuple<String,String> >

ProjectImplP

using ProjectImplP = std::shared_ptr<ProjectImpl>

PrefsValueCallbackList

PrefsMap

using PrefsMap = std::unordered_map<CString,PrefsValue>

PropertyGetter

using PropertyGetter = std::function<void (Value&)>

Function type for Property value getters.

PropertySetter

using PropertySetter = std::function<bool (const Value&)>

Function type for Property value setters.

PropertyLister

using PropertyLister = std::function<ChoiceS (const ParameterProperty&)>

Function type to list Choice Property values.

FastRng

using FastRng = Mwc256

WritP

using WritP = std::shared_ptr<Writ>

ValueVariant

using ValueVariant = std::variant<std::monostate,bool,int64,double,String,ValueS,ValueR,InstanceP>

Variant type to hold different types of values.

IDX

template<size_t I, size_t J>
using IDX = typename ::std::enable_if<I == J, bool>::type

TYP

template<class T , class C >
using TYP = typename ::std::enable_if<std::is_same<T, C>::value, bool>::type

WaveWriterP

using WaveWriterP = std::shared_ptr<WaveWriter>

WebSocketServerImplP

using WebSocketServerImplP = std::shared_ptr<WebSocketServerImpl>

WppServer

using WppServer = websocketpp::server<CustomServerConfig>

WppConnectionP

using WppConnectionP = WppServer::connection_ptr

WppConnection

using WppConnection = WppConnectionP::element_type

WppHdl

using WppHdl = websocketpp::connection_hdl

WebSocketServerP

using WebSocketServerP = std::shared_ptr<WebSocketServer>

WebSocketConnectionP

using WebSocketConnectionP = std::shared_ptr<WebSocketConnection>

Enumeration Type Documentation

Error

enum class Error : int32_t
strong

Enum representing Error states.

Enumerator
NONE
PERMS
IO
NO_MEMORY
NO_SPACE
NO_FILES
MANY_FILES
RETRY
NOT_DIRECTORY
FILE_NOT_FOUND
FILE_IS_DIR
FILE_EXISTS
FILE_BUSY
INTERNAL
UNIMPLEMENTED
FILE_EOF
FILE_OPEN_FAILED
FILE_SEEK_FAILED
FILE_READ_FAILED
FILE_WRITE_FAILED
PARSE_ERROR
NO_HEADER
NO_SEEK_INFO
NO_DATA_AVAILABLE
DATA_CORRUPT
WRONG_N_CHANNELS
FORMAT_INVALID
FORMAT_UNKNOWN
DATA_UNMATCHED
CODEC_FAILURE
BROKEN_ARCHIVE
BAD_PROJECT
NO_PROJECT_DIR
DEVICE_NOT_AVAILABLE
DEVICE_ASYNC
DEVICE_BUSY
DEVICE_FORMAT
DEVICE_BUFFER
DEVICE_LATENCY
DEVICE_CHANNELS
DEVICE_FREQUENCY
DEVICES_MISMATCH
WAVE_NOT_FOUND
INVALID_PROPERTY
INVALID_MIDI_CONTROL
OPERATION_BUSY

MusicalTuning

enum class MusicalTuning : uint8
strong

Musical tunings, see: http://en.wikipedia.org/wiki/Musical_tuning.

Enumerator
OD_12_TET
OD_7_TET
OD_5_TET
DIATONIC_SCALE
INDIAN_SCALE
PYTHAGOREAN_TUNING
PENTATONIC_5_LIMIT
PENTATONIC_BLUES
PENTATONIC_GOGO
QUARTER_COMMA_MEANTONE
SILBERMANN_SORGE
WERCKMEISTER_3
WERCKMEISTER_4
WERCKMEISTER_5
WERCKMEISTER_6
KIRNBERGER_3
YOUNG

ResourceType

enum class ResourceType
strong
Enumerator
FOLDER
FILE

LogFlags

enum LogFlags

Flags to configure logging behaviour.

Enumerator
LOG_FILE
LOG_STDERR
LOG_LOCATIONS

anonymous enum

anonymous enum
Enumerator
WAITING
PREPARED
NEEDS_DISPATCH

MidiEventType

enum class MidiEventType : uint8_t
strong

Type of MIDI Events.

Enumerator
PARAM_VALUE
NOTE_OFF

Ase internal Parameter update.

NOTE_ON
AFTERTOUCH

Key Pressure, polyphonic aftertouch.

CONTROL_CHANGE

Control Change.

PROGRAM_CHANGE
CHANNEL_PRESSURE

Channel Aftertouch.

PITCH_BEND
SYSEX

MidiMessage

enum class MidiMessage : int32_t
strong

Extended type information for MidiEvent.

Enumerator
NONE
ALL_SOUND_OFF
RESET_ALL_CONTROLLERS
LOCAL_CONTROL
ALL_NOTES_OFF
OMNI_MODE_OFF
OMNI_MODE_ON
MONO_MODE_ON
POLY_MODE_ON
PARAM_VALUE
NOTE_OFF
NOTE_ON
AFTERTOUCH
CONTROL_CHANGE
PROGRAM_CHANGE
CHANNEL_PRESSURE
PITCH_BEND
SYSEX

RPath

enum class RPath
strong
Enumerator
PREFIXDIR
INSTALLDIR
LOCALEDIR
LIBDIR
DEMODIR
LADSPADIRS

ParamId

enum class ParamId : uint32
strong

ID type for AudioProcessor parameters, the ID numbers are user assignable.

IBusId

enum class IBusId : uint16
strong

ID type for AudioProcessor input buses, buses are numbered with increasing index.

OBusId

enum class OBusId : uint16
strong

ID type for AudioProcessor output buses, buses are numbered with increasing index.

SpeakerArrangement

enum class SpeakerArrangement : uint64_t
strong

Flags to indicate channel arrangements of a bus. See also: https://en.wikipedia.org/wiki/Surround_sound

Enumerator
NONE
FRONT_LEFT

Stereo Left (FL)

FRONT_RIGHT

Stereo Right (FR)

FRONT_CENTER

(FC)

LOW_FREQUENCY

Low Frequency Effects (LFE)

BACK_LEFT

(BL)

BACK_RIGHT

(BR)

AUX

Flag for side chain uses.

MONO

Single Channel (M)

STEREO
STEREO_21
STEREO_30
STEREO_31
SURROUND_50
SURROUND_51

CacheType

enum CacheType
Enumerator
CACHE_NEVER
CACHE_AUTO
CACHE_BRIEFLY
CACHE_FOREVER

Function Documentation

operator!()

constexpr bool operator! ( Error error)
constexpr

ase_error_blurb()

const char * ase_error_blurb ( Error error)

Describe Error condition.

ase_error_from_errno()

Error ase_error_from_errno ( int sys_errno,
Error fallback = Error::IO
)

operator+=()

ChoiceS & operator+= ( ChoiceS & choices,
Choice && newchoice
)

Convenience ChoiceS construction helper.

zintern_free()

void zintern_free ( uint8 * dc_data)

Free data returned from zintern_decompress().

zintern_decompress()

uint8 * zintern_decompress ( unsigned int decompressed_size,
const unsigned char * cdata,
unsigned int cdata_size
)

Decompress data via zlib.

Parameters
decompressed_sizeexact size of the decompressed data to be returned
cdatacompressed data block
cdata_sizeexact size of the compressed data block
Returns
decompressed data block or NULL in low memory situations

Decompress the data from cdata of length cdata_size into a newly allocated block of size decompressed_size which is returned. The returned block needs to be released with zintern_free(). This function is intended to decompress data which has been compressed with the packres.py utility, so no errors should occour during decompression. Consequently, if any error occours during decompression or if the resulting data block is of a size other than decompressed_size, the program will abort with an appropriate error message. If not enough memory could be allocated for decompression, NULL is returned.

list_clap_files()

StringS list_clap_files ( )

clap_event_type_string()

const char * clap_event_type_string ( int etype)

clap_event_to_string()

String clap_event_to_string ( const clap_event_note_t * enote)

clap_device_info()

DeviceInfo clap_device_info ( const ClapPluginDescriptor & descriptor)

stringify_clip_note()

String stringify_clip_note ( const ClipNote & n)

is_aiff()

bool is_aiff ( const String & input)

is_wav()

bool is_wav ( const String & input)

is_midi()

bool is_midi ( const String & input)

is_pdf()

bool is_pdf ( const String & input)

zstd_compress() [1/2]

String zstd_compress ( const String & input,
int level
)

zstd_compress() [2/2]

String zstd_compress ( const void * src,
size_t src_size,
int level
)

zstd_target_size()

ssize_t zstd_target_size ( const String & input)

zstd_uncompress() [1/2]

ssize_t zstd_uncompress ( const String & input,
void * dst,
size_t dst_size
)

zstd_uncompress() [2/2]

String zstd_uncompress ( const String & input)

is_zstd()

bool is_zstd ( const String & input)

is_lz4()

bool is_lz4 ( const String & input)

is_zip()

bool is_zip ( const String & input)

is_arj()

bool is_arj ( const String & input)

is_isz()

bool is_isz ( const String & input)

is_ogg()

bool is_ogg ( const String & input)

is_avi()

bool is_avi ( const String & input)

is_gz()

bool is_gz ( const String & input)

is_xz()

bool is_xz ( const String & input)

is_png()

bool is_png ( const String & input)

is_jpg()

bool is_jpg ( const String & input)

is_compressed()

bool is_compressed ( const String & input)

stream_reader_zstd()

StreamReaderP stream_reader_zstd ( StreamReaderP & istream)

stream_writer_zstd()

StreamWriterP stream_writer_zstd ( const StreamWriterP & ostream,
int level
)

blake3_hash_string()

String blake3_hash_string ( const String & input)

blake3_hash_file()

String blake3_hash_file ( const String & filename)

string_demangle_cxx()

const char * string_demangle_cxx ( const char * mangled_identifier)
noexcept

Demangle identifier via libcc.

Demangle a std::typeinfo.name() string into a proper C++ type name. This function uses abi::__cxa_demangle() from <cxxabi.h> to demangle C++ type names, which works for g++, libstdc++, clang++, libc++.

backtrace_command()

std::string backtrace_command ( )

Find GDB and construct command line.

Command to start external debugger for a backtrace.

assertion_fatal()

void assertion_fatal ( const char * msg,
const char * file,
int line,
const char * func
)
noexcept

Print a debug message via assertion_failed() and abort the program.

assertion_failed()

void assertion_failed ( const char * msg,
const char * file,
int line,
const char * func
)
noexcept

Print instructive message, handle "breakpoint", "backtrace" and "fatal-warnings" in $ASE_DEBUG.

Issue a warning about an assertion error.

constexpr_equals()

constexpr bool constexpr_equals ( const char * a,
const char * b,
size_t n
)
externconstexpr

Test string equality at compile time.

call_delete()

template<class T >
void call_delete ( T * o)

Simple way to create a standalone callback to delete an object of type `T`.

shared_ptr_cast() [1/4]

template<class Target , class Source >
std::shared_ptr< typename std::remove_pointer< Target >::type > shared_ptr_cast ( Source * object)

Shorthand for std::dynamic_pointer_cast<>(shared_from_this()). A shared_ptr_cast() takes a std::shared_ptr or a pointer to an object that supports std::enable_shared_from_this::shared_from_this(). Using std::dynamic_pointer_cast(), the shared_ptr passed in (or retrieved via calling shared_from_this()) is cast into a std::shared_ptr<Target>, possibly resulting in an empty (NULL) std::shared_ptr if the underlying dynamic_cast() was not successful or if a NULL object was passed in. Note that shared_from_this() can throw a std::bad_weak_ptr exception if the object has no associated std::shared_ptr (usually during ctor and dtor), in which case the exception will also be thrown from shared_ptr_cast<Target>(). However a shared_ptr_cast<Target*>() call will not throw and yield an empty (NULL) std::shared_ptr<Target>. This is analogous to dynamic_cast<T@amp> which throws, versus dynamic_cast<T*> which yields NULL.

Returns
A std::shared_ptr<Target> storing a pointer to object or NULL.
Exceptions
std::bad_weak_ptrif shared_from_this() throws, unless the Target* form is used.

shared_ptr_cast() [2/4]

template<class Target , class Source >
const std::shared_ptr< typename std::remove_pointer< Target >::type > shared_ptr_cast ( const Source * object)

shared_ptr_cast() [3/4]

template<class Target , class Source >
std::shared_ptr< typename std::remove_pointer< Target >::type > shared_ptr_cast ( std::shared_ptr< Source > & sptr)

shared_ptr_cast() [4/4]

template<class Target , class Source >
const std::shared_ptr< typename std::remove_pointer< Target >::type > shared_ptr_cast ( const std::shared_ptr< Source > & sptr)

shared_ptr_from()

template<class Source >
std::shared_ptr< typename std::remove_pointer< Source >::type > shared_ptr_from ( Source * object)

Use `shared_ptr_cast<>()` to convert an object pointer into a `shared_ptr<>`.

weak_ptr_fetch_or_create()

template<class C >
std::shared_ptr< C > weak_ptr_fetch_or_create ( std::weak_ptr< C > & wptr,
const std::function< std::shared_ptr< C >()> & ctor
)

Fetch `shared_ptr` from `wptr` and create `C` with `ctor` if needed.

square_sum()

float square_sum ( uint n_values,
const float * ivalues
)

Calculate suqare sum of a block of floats.

square_max()

float square_max ( uint n_values,
const float * ivalues
)

Find the maximum suqared value in a block of floats.

convert_samples() [1/2]

template<class S , class D >
void convert_samples ( size_t n,
S * src,
D * dst,
uint16 byte_order
)

convert_clip_samples() [1/2]

template<class S , class D >
void convert_clip_samples ( size_t n,
S * src,
D * dst,
uint16 byte_order
)

floatfill()

void floatfill ( float * dst,
float f,
size_t n
)
extern

Fill `n` values of `dst` with `f`.

fast_copy() [1/2]

void fast_copy ( size_t n,
float * d,
const float * s
)
extern

Copy a block of floats.

fast_copy() [2/2]

void fast_copy ( size_t n,
uint32_t * d,
const uint32_t * s
)
extern

Copy a block of integers.

convert_samples() [2/2]

template<>
void convert_samples ( size_t n,
const int16_t * src,
float * dst,
uint16 byte_order
)

convert_clip_samples() [2/2]

template<>
void convert_clip_samples ( size_t n,
const float * src,
int16_t * dst,
uint16 byte_order
)

find_shared_by_ref()

template<typename E >
std::pair< std::shared_ptr< E >, ssize_t > find_shared_by_ref ( const std::vector< std::shared_ptr< E > > & v,
const E & e
)

register_driver_loader()

bool * register_driver_loader ( const char * staticwhat,
Error(*)() loader
)

Register loader callbacks at static constructor time.

load_registered_drivers()

void load_registered_drivers ( )

Load all registered drivers.

make_audio_engine()

AudioEngine & make_audio_engine ( const VoidF & owner_wakeup,
uint sample_rate,
SpeakerArrangement speakerarrangement
)

collect_runtime_entropy()

void collect_runtime_entropy ( uint64 * data,
size_t n
)

Collect entropy from the current process, usually quicker than collect_system_entropy().

To provide good quality random number seeds, this function gathers entropy from a variety of process specific sources. Under Linux, this includes the CPU counters, clocks and random devices. In combination with well established techniques like syscall timings (see Entropics13 [Entropics13]) and a SHA3 algorithm derived random number generator for the mixing, the entropy collection is designed to be fast and good enough for all non-cryptographic uses. On an Intel Core i7, this function takes around 25µs.

collect_system_entropy()

void collect_system_entropy ( uint64 * data,
size_t n
)

Collect entropy from system devices, like interrupt counters, clocks and random devices.

This function adds to collect_runtime_entropy() by collecting entropy from aditional but potentially slower system sources, such as interrupt counters, disk + network statistics, system load, execution + pipelining + scheduling latencies and device MACs. The function is designed to yield random number seeds good enough to generate cryptographic tokens like session keys. On an Intel Core i7, this function takes around 2ms, so it's roughly 80 times slower than collect_runtime_entropy().

string_format()

template<class ... Args>
std::string string_format ( const char * format,
const Args &... args
)

Format a string similar to sprintf(3) with support for std::string and std::ostringstream convertible objects.

jsonapi_require_auth()

void jsonapi_require_auth ( const String & subprotocol)

jsonapi_make_connection()

WebSocketConnectionP jsonapi_make_connection ( WebSocketConnection::Internals & internals,
int logflags
)

jsonapi_connection_data()

CustomDataContainer * jsonapi_connection_data ( )

jsonapi_connection_sender()

JsonapiBinarySender jsonapi_connection_sender ( )

damerau_levenshtein_restricted()

float damerau_levenshtein_restricted ( const std::string & source,
const std::string & target,
const float ci,
const float cd,
const float cs,
const float ct
)

Damerau-Levenshtein Distance with restricted transposition. Calculate the restricted Damerau-Levenshtein string distance with quadratic time complexity and linear memory requirement. Memory: 12 * max(|source|,|target|) + constant.

damerau_levenshtein_distance()

float damerau_levenshtein_distance ( const std::string & source,
const std::string & target,
const float ci,
const float cd,
const float cs,
const float ct
)

Damerau-Levenshtein Distance with unrestricted transpositions. Calculate the unrestricted Damerau-Levenshtein string distance with quadratic time complexity and quadratic memory requirement. Memory: 4 * |source|*|target| + constant.

loft_make_unique()

template<class T , class ... Args>
LoftPtr< T > loft_make_unique ( Args &&... args)

Construct an object `T` from Loft memory, wrapped in a unique_ptr.

log_setup()

LogFlags log_setup ( int * logfd)

Configurable handler to open log files.

timestamp_now()

uint64_t timestamp_now ( )

Current time in µseconds.

logmsg()

void logmsg ( const std::string & msg,
const char *const filename,
const uint64_t columnline,
const char *const function_name
)

log()

template<class... A>
void log ( const LogFormat & format,
const A &... args
)

Write a log message to the log file (or possibly stderr), using the POSIX/C locale.

main_loop_wakeup()

void main_loop_wakeup ( )

main_loop_autostop_mt()

void main_loop_autostop_mt ( )

irintf()

int irintf ( float f)
extern

Round float to int, using round-to-nearest Fast version of `f < 0 ? int (f - 0.5) : int (f + 0.5)`.

force_double()

double force_double ( double d)
extern

Force number into double precision floating point format, even with `-ffast-math`.

force_float()

float force_float ( float f)
extern

Force number into single precision floating point format, even with `-ffast-math`.

fast_exp2()

float fast_exp2 ( float x)
extern

Fast approximation of 2 raised to the power of `x`. The parameter `x` is the exponent within `[-127.0…+127.0]`. Within `-1…+1`, the error stays below 4e-7 which corresponds to a sample precision of 21 bit. For integer values of `x` (i.e. `x - floor (x) -> 0`), the error approaches zero. With FMA instructions and `-ffast-math` enabled, execution times should be below 10ns on 3GHz machines.

fast_log2()

float fast_log2 ( float x)
extern

Fast approximation of logarithm to base 2. The parameter `x` is the exponent within `[1.1e-38…2^127]`. Within `1e-7…+1`, the error stays below 3.8e-6 which corresponds to a sample precision of 18 bit. When `x` is an exact power of 2, the error approaches zero. With FMA instructions and `-ffast-math enabled`, execution times should be below 10ns on 3GHz machines.

value2hz()

float value2hz ( float x)
extern

Convert synthesizer value (Voltage) to Hertz.

hz2value()

float hz2value ( float x)
extern

Convert Hertz to synthesizer value (Voltage).

fast_mem_alloc()

void * fast_mem_alloc ( size_t size)

fast_mem_free()

void fast_mem_free ( void * mem)

make_note_on()

MidiEvent make_note_on ( uint16 chnl,
uint8 mkey,
float velo,
float tune,
uint nid
)

make_note_off()

MidiEvent make_note_off ( uint16 chnl,
uint8 mkey,
float velo,
float tune,
uint nid
)

make_aftertouch()

MidiEvent make_aftertouch ( uint16 chnl,
uint8 mkey,
float velo,
float tune,
uint nid
)

make_pressure()

MidiEvent make_pressure ( uint16 chnl,
float velo
)

make_control()

MidiEvent make_control ( uint16 chnl,
uint prm,
float val
)

make_control8()

MidiEvent make_control8 ( uint16 chnl,
uint prm,
uint8 cval
)

make_program()

MidiEvent make_program ( uint16 chnl,
uint prgrm
)

make_pitch_bend()

MidiEvent make_pitch_bend ( uint16 chnl,
float val
)

make_param_value()

MidiEvent make_param_value ( uint param,
double pvalue
)

QueueMultiplexer_priority()

int QueueMultiplexer_priority ( const MidiEvent & e)

create_processor_device()

DeviceP create_processor_device ( AudioEngine & engine,
const String & uri,
bool engineproducer
)

parameter_guess_nick()

String parameter_guess_nick ( const String & parameter_label)

Create a few letter nick name from a multi word parameter label.

Find a suitable 3-letter abbreviation for a Parameter without nick.

anklang_home_dir()

String anklang_home_dir ( const String & subdir)

Get Anklang home dir, possibly adding `subdir`.

anklang_runpath()

std::string anklang_runpath ( RPath rpath,
const String & segment
)

Retrieve various resource paths at runtime.

_() [1/4]

const char *() _ ( const char * string)

Translate message strings in the Anklang/ASE text domain.

_() [2/4]

std::string() _ ( const std::string & string)

Translate message strings in the Anklang/ASE text domain.

_() [3/4]

const char *() _ ( const char * string,
const char * plural,
int64_t n
)

Translate message strings in the Anklang/ASE text domain, use @plural forms if
!= 1.

_() [4/4]

std::string() _ ( const std::string & string,
const std::string & plural,
int64_t n
)

Translate message strings in the Anklang/ASE text domain, use @plural forms if
!= 1.

cpu_arch()

std::string cpu_arch ( )

Retrieve string identifying the CPU architecture.

cpu_info()

std::string cpu_info ( )

Retrieve string identifying the runtime CPU type.

The returned string contains: number of online CPUs, a string describing the CPU architecture, the vendor and finally a number of flag words describing CPU features plus a trailing space. This allows checks for CPU features via a simple string search for " FEATURE ".

Returns
Example: "4 AMD64 GenuineIntel FPU TSC HTT CMPXCHG16B MMX MMXEXT SSESYS SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 "

timestamp_startup()

uint64 timestamp_startup ( )

Provides the timestamp_realtime() value from program startup.

timestamp_realtime()

uint64 timestamp_realtime ( )

Return the current time as uint64 in µseconds.

timestamp_resolution()

uint64 timestamp_resolution ( )

Provide resolution of timestamp_benchmark() in nano-seconds.

timestamp_benchmark()

uint64 timestamp_benchmark ( )

Returns benchmark timestamp in nano-seconds, clock starts around program startup.

timestamp_format()

String timestamp_format ( uint64 stamp,
uint maxlength
)

Convert stamp into a string, adding µsecond fractions if space permits.

monotonic_counter()

uint64 monotonic_counter ( )

A monotonically increasing counter, increments are atomic and visible in all threads.

executable_path()

std::string executable_path ( )

Retrieve the path to the currently running executable.

executable_name()

std::string executable_name ( )

Retrieve the name part of executable_path().

fatal_system_error()

void fatal_system_error ( const char * file,
uint line,
const char * format,
...
)

ase_version()

const char * ase_version ( )

Provide a string containing the package version.

ase_build_id()

const char * ase_build_id ( )

Provide a string containing the ASE library build id.

program_alias()

String program_alias ( )

Retrieve the program name as used for logging or debug messages.

program_alias_init()

void program_alias_init ( String customname)

Set program_alias to a non-localized alias other than program_argv0 if desired.

application_name()

String application_name ( )

Retrieve the localized program name intended for user display.

application_name_init()

void application_name_init ( String desktopname)

Set the application_name to a name other than program_alias if desired.

program_cwd()

String program_cwd ( )

The current working directory during startup.

sched_get_priority()

int sched_get_priority ( int tid)

Retrieve the nice level of process or thread `tid`.

sched_set_priority()

bool sched_set_priority ( int tid,
int nicelevel
)

Try to set the nice level of process or thread `tid` to `nicelevel`.

sched_fast_priority()

bool sched_fast_priority ( int tid)

Try to acquire low latency scheduling priority, returns true if nice level is < 0.

this_thread_self()

ThreadId this_thread_self ( )

this_thread_set_name()

void this_thread_set_name ( const String & name16chars)

this_thread_get_name()

String this_thread_get_name ( )

this_thread_getpid()

int this_thread_getpid ( )

this_thread_gettid()

int this_thread_gettid ( )

this_thread_online_cpus()

int this_thread_online_cpus ( )

user_id()

int user_id ( )

user_name()

String user_name ( )

user_real_name()

String user_real_name ( )

__format_arg__()

const char *() __format_arg__ ( 2 )

this_thread_is_ase()

bool this_thread_is_ase ( )

breakpoint()

void breakpoint ( )
extern

Cause a debugging breakpoint, for development only.

register_audio_processor()

template<typename T >
CString register_audio_processor ( const char * aseid = nullptr)

Add an AudioProcessor derived type to the audio processor registry.

make_enum_getter()

template<typename Enum >
std::function< void(Value &)> make_enum_getter ( Enum * v)

Value getter for enumeration types.

make_enum_setter()

template<typename Enum >
std::function< bool(const Value &)> make_enum_setter ( Enum * v)

Value setter for enumeration types.

enum_lister()

template<typename Enum >
requires IsEnum<Enum>
ChoiceS enum_lister ( const ParameterProperty & )

Helper to list Jsonipc::Enum<> type values as Choice.

sha3_224_hash()

void sha3_224_hash ( const void * data,
size_t data_length,
uint8_t hashvalue[28]
)

Calculate 224 bit SHA3 digest from data, see also class SHA3_224.

sha3_256_hash()

void sha3_256_hash ( const void * data,
size_t data_length,
uint8_t hashvalue[32]
)

Calculate 256 bit SHA3 digest from data, see also class SHA3_256.

sha3_384_hash()

void sha3_384_hash ( const void * data,
size_t data_length,
uint8_t hashvalue[48]
)

Calculate 384 bit SHA3 digest from data, see also class SHA3_384.

sha3_512_hash()

void sha3_512_hash ( const void * data,
size_t data_length,
uint8_t hashvalue[64]
)

Calculate 512 bit SHA3 digest from data, see also class SHA3_512.

shake128_hash()

void shake128_hash ( const void * data,
size_t data_length,
uint8_t * hashvalues,
size_t n
)

Calculate SHA3 extendable output digest for 128 bit security strength, see also class SHAKE128.

shake256_hash()

void shake256_hash ( const void * data,
size_t data_length,
uint8_t * hashvalues,
size_t n
)

Calculate SHA3 extendable output digest for 256 bit security strength, see also class SHAKE256.

random_int64()

uint64_t random_int64 ( )

Generate a non-deterministic, uniformly distributed 64 bit pseudo-random number. This function generates pseudo-random numbers using the system state as entropy and class KeccakRng for the mixing. No seeding is required.

random_irange()

int64_t random_irange ( int64_t begin,
int64_t end
)

Generate uniformly distributed pseudo-random integer within range. This function generates a pseudo-random number like random_int64(), constrained to the range: begin <= number < end.

random_float()

double random_float ( )

Generate uniformly distributed pseudo-random floating point number. This function generates a pseudo-random number like random_int64(), constrained to the range: 0.0 <= number < 1.0.

random_frange()

double random_frange ( double begin,
double end
)

Generate uniformly distributed pseudo-random floating point number within a range. This function generates a pseudo-random number like random_float(), constrained to the range: begin <= number < end.

random_nonce()

uint64_t random_nonce ( )

Provide a unique 64 bit identifier that is not 0, see also random_int64().

random_secret()

void random_secret ( uint64_t * secret_var)

Generate a secret non-zero nonce in secret_var, unless it has already been assigned.

operator|()

constexpr Re::Flags operator| ( Re::Flags a,
Re::Flags b
)
externconstexpr

json_stringify()

template<class T >
String json_stringify ( const T & source,
Writ::Flags flags = Writ::Flags (0)
)

Create JSON string from `source`.

json_parse() [1/2]

template<class T >
bool json_parse ( const String & jsonstring,
T & target
)

Parse a well formed JSON string and assign contents to `target`.

json_parse() [2/2]

template<class T >
T json_parse ( const String & jsonstring)

Parse a well formed JSON string and return the resulting value.

telemetry_field()

template<class T >
TelemetryField telemetry_field ( const String & name,
const T * field
)

hz_changed()

template<typename Float >
Float hz_changed ( Float a,
Float b
)

Determine a significant frequency change (audible Hertz).

voltage2hz()

template<typename Float >
Float voltage2hz ( Float x)

Convert synthesizer value (Voltage) to Hertz.

fast_voltage2hz()

float fast_voltage2hz ( float x)

Float precision variant of voltage2hz using fast_exp2().

hz2voltage()

template<typename Float >
Float hz2voltage ( Float x)

Convert Hertz to synthesizer value (Voltage).

fast_hz2voltage()

float fast_hz2voltage ( float x)

Float precision variant of hz2voltage using fast_log2().

db_changed()

template<typename Float >
Float db_changed ( Float a,
Float b
)

Determine a significant Decibel change.

voltage2db()

template<typename Float >
Float voltage2db ( Float x)

Convert synthesizer value (Voltage) to Decibel.

fast_voltage2db()

float fast_voltage2db ( float x)

Float precision variant of voltage2db using fast_log2().

db2voltage()

template<typename Float >
Float db2voltage ( Float x)

Convert Decibel to synthesizer value (Voltage).

fast_db2voltage()

float fast_db2voltage ( float x)

Float precision variant of db2voltage using fast_exp2().

voltage_changed()

template<typename Float >
Float voltage_changed ( Float a,
Float b
)

Determine a significant synthesizer value (Voltage) change.

fixed_sort()

template<class RandomIt , class Compare >
void fixed_sort ( RandomIt first,
RandomIt last,
Compare comp = std::less<typename std::iterator_traits<RandomIt>::value_type>()
)

Use sorting networks to sort containers <= 16 elements without allocations.

anklang_cachedir_create()

String anklang_cachedir_create ( )

Create exclusive cache directory for this process' runtime.

anklang_cachedir_cleanup()

void anklang_cachedir_cleanup ( const String & cachedir)

Cleanup a cachedir previously created with anklang_cachedir_create().

anklang_cachedir_clean_stale()

void anklang_cachedir_clean_stale ( )

Clean stale cache directories from past runtimes, may be called from any thread.

stream_reader_from_file()

StreamReaderP stream_reader_from_file ( const String & file)

stream_reader_zip_member()

StreamReaderP stream_reader_zip_member ( const String & archive,
const String & member,
Storage::StorageFlags f
)

stream_writer_create_file()

StreamWriterP stream_writer_create_file ( const String & filename,
int mode
)

string_multiply()

String string_multiply ( const String & s,
uint64 count
)

Reproduce a string s for count times.

string_to_identifier()

String string_to_identifier ( const String & input)

Force lower case, alphanumerics + underscore and non-digit start.

string_canonify()

String string_canonify ( const String & string,
const String & valid_chars,
const String & substitute
)

Enforce a canonical charset for a string. Convert all chars in `string` that are not listed as `valid_chars` with substitute.

string_is_canonified()

bool string_is_canonified ( const String & string,
const String & valid_chars
)

Check if string_canonify() would modify string.

string_set_a2z()

const String & string_set_a2z ( )

Returns a string containing all of a-z.

string_set_A2Z()

const String & string_set_A2Z ( )

Returns a string containing all of A-Z.

string_set_ascii_alnum()

const String & string_set_ascii_alnum ( )

Returns a string containing all of 0-9, A-Z and a-z.

string_is_ascii_alnum()

bool string_is_ascii_alnum ( const String & str)

string_tolower()

String string_tolower ( const String & str)

Convert all string characters into Unicode lower case characters.

string_islower()

bool string_islower ( const String & str)

Check if all string characters are Unicode lower case characters.

string_toupper()

String string_toupper ( const String & str)

Convert all string characters into Unicode upper case characters.

string_isupper()

bool string_isupper ( const String & str)

Check if all string characters are Unicode upper case characters.

string_totitle()

String string_totitle ( const String & str)

Convert all string characters into Unicode title characters.

string_capitalize()

String string_capitalize ( const String & str,
size_t maxn,
bool rest_tolower
)

Capitalize words, so the first letter is upper case, the rest lower case.

string_normalize_nfc()

String string_normalize_nfc ( const String & src)

Yield normalized composed UTF-8 string.

string_normalize_nfd()

String string_normalize_nfd ( const String & src)

Yield normalized decomposed UTF-8 string.

string_normalize_nfkc()

String string_normalize_nfkc ( const String & src)

Formatting stripped normalized composed UTF-8 string.

string_normalize_nfkd()

String string_normalize_nfkd ( const String & src)

Formatting stripped normalized decomposed UTF-8 string.

string_casefold()

String string_casefold ( const String & src)

Yield UTF-8 string useful for case insensitive comparisons.

string_cmp()

int string_cmp ( const String & s1,
const String & s2
)

Like strcmp(3) for UTF-8 strings.

string_casecmp()

int string_casecmp ( const String & s1,
const String & s2
)

Like strcasecmp(3) for UTF-8 strings.

string_vprintf()

String string_vprintf ( const char * format,
va_list vargs
)

Formatted printing ala vprintf() into a String, using the POSIX/C locale.

string_locale_vprintf()

String string_locale_vprintf ( const char * format,
va_list vargs
)

Formatted printing like string_vprintf using the current locale.

string_split()

StringS string_split ( const String & string,
const String & splitter,
size_t maxn
)

Split a string, using splitter as delimiter. Passing "" as splitter will split the string at whitespace positions.

string_split_any()

StringS string_split_any ( const String & string,
const String & splitchars,
size_t maxn
)

Split a string, using any of the splitchars as delimiter. Passing "" as splitter will split the string between all position.

strings_version_sort() [1/2]

StringS strings_version_sort ( const StringS & strings,
bool reverse
)

strings_version_sort() [2/2]

void strings_version_sort ( StringS * strings,
bool reverse
)

string_vector_erase_empty()

void string_vector_erase_empty ( StringS & svector)

Remove empty elements from a string vector.

string_vector_lstrip()

void string_vector_lstrip ( StringS & svector)

Left-strip all elements of a string vector, see string_lstrip().

string_vector_rstrip()

void string_vector_rstrip ( StringS & svector)

Right-strip all elements of a string vector, see string_rstrip().

string_vector_strip()

void string_vector_strip ( StringS & svector)

Strip all elements of a string vector, see string_strip().

string_join()

String string_join ( const String & junctor,
const StringS & strvec
)

Join a number of strings. Join a string vector into a single string, using junctor inbetween each pair of strings.

string_to_bool()

bool string_to_bool ( const String & string,
bool fallback
)

Interpret a string as boolean value. Interpret the string as number, "ON"/"OFF" or distinguish "false"/"true" or "yes"/"no" by starting letter. For empty strings, fallback is returned.

cstring_to_bool()

bool cstring_to_bool ( const char * string,
bool fallback
)

strrstr()

const char * strrstr ( const char * haystack,
const char * needle
)

string_find_word()

const char * string_find_word ( const char * haystack,
const char * word
)

Find occurance of `word` in `haystack`.

string_from_bool()

String string_from_bool ( bool value)

Convert a boolean value into a string.

string_to_uint()

uint64 string_to_uint ( const String & string,
size_t * consumed,
uint base
)

Parse a string into a 64bit unsigned integer, optionally specifying the expected number base.

string_from_uint()

String string_from_uint ( uint64 value)

Convert a 64bit unsigned integer into a string.

string_has_int()

bool string_has_int ( const String & string)

Checks if a string contains a digit, optionally preceeded by whitespaces.

string_to_int()

int64 string_to_int ( const String & string,
size_t * consumed,
uint base
)

Parse a string into a 64bit integer, optionally specifying the expected number base.

string_from_int()

String string_from_int ( int64 value)

Convert a 64bit signed integer into a string.

posix_locale_strtold()

long double posix_locale_strtold ( const char * nptr,
char ** endptr
)

Parse a double from a string ala strtod(), trying locale specific characters and POSIX/C formatting.

current_locale_strtold()

long double current_locale_strtold ( const char * nptr,
char ** endptr
)

Parse a double from a string ala strtod(), trying locale specific characters and POSIX/C formatting.

string_to_long_double() [1/2]

long double string_to_long_double ( const String & string)

Parse a long double from a string, trying locale specific characters and POSIX/C formatting.

string_to_long_double() [2/2]

long double string_to_long_double ( const char * dblstring,
const char ** endptr
)

Similar to string_to_long_double(const String&), but returns the first failing character position in endptr.

string_to_double() [1/2]

double string_to_double ( const String & string)

Parse a double from a string, trying locale specific characters and POSIX/C formatting.

string_to_double() [2/2]

double string_to_double ( const char * dblstring,
const char ** endptr
)

Similar to string_to_double(const String&), but returns the first failing character position in endptr.

string_from_float() [1/2]

String string_from_float ( float value)

Convert a float into a string, using the POSIX/C locale.

string_from_double()

String string_from_double ( double value)

Convert a double into a string, using the POSIX/C locale.

string_from_long_double()

String string_from_long_double ( long double value)

Convert a long double into a string, using the POSIX/C locale.

string_to_double_vector()

std::vector< double > string_to_double_vector ( const String & string)

Parse a string into a list of doubles, expects ';' as delimiter.

string_from_double_vector()

String string_from_double_vector ( const std::vector< double > & dvec,
const String & delim
)

Construct a string out of all double values passed in dvec, separated by delim.

string_to_seconds()

double string_to_seconds ( const String & string,
double fallback
)

Parse string into seconds.

string_from_errno()

String string_from_errno ( int errno_val)

Returns a String describing the passed in errno value, similar to strerror().

string_is_uuid()

bool string_is_uuid ( const String & uuid_string)

Returns whether uuid_string contains a properly formatted UUID string.

string_cmp_uuid()

int string_cmp_uuid ( const String & uuid_string1,
const String & uuid_string2
)

Returns whether uuid_string1 compares smaller (-1), equal (0) or greater (+1) to uuid_string2.

string_startswith() [1/2]

bool string_startswith ( const String & string,
const String & fragment
)

Returns whether `string` starts with `fragment`.

string_startswith() [2/2]

bool string_startswith ( const String & string,
const StringS & fragments
)

Returns whether string starts with any element of `fragments`.

string_endswith() [1/2]

bool string_endswith ( const String & string,
const String & fragment
)

Returns whether `string` ends with `fragment`.

string_endswith() [2/2]

bool string_endswith ( const String & string,
const StringS & fragments
)

Returns whether string ends with any element of `fragments`.

string_match_identifier_tail()

bool string_match_identifier_tail ( const String & ident,
const String & tail
)

Variant of string_match_identifier() that matches tail against ident at word boundary.

string_match_identifier()

bool string_match_identifier ( const String & ident1,
const String & ident2
)

Check equality of strings canonicalized to "[0-9a-z_]+".

string_from_pretty_function_name()

String string_from_pretty_function_name ( const char * cxx_pretty_function)

Extract the full function name from __PRETTY_FUNCTION__. See also ASE_SIMPLE_FUNCTION.

string_url_decode()

String string_url_decode ( const String & urlstr,
const bool form_url_encoded
)

Decode URL %-sequences in a string, decode '+' if `form_url_encoded`.

string_url_encode()

String string_url_encode ( const String & rawstr,
const bool form_url_encoded
)

Encode special characters to URL %-sequences, encode space as '+' if `form_url_encoded`.

string_to_cescape()

String string_to_cescape ( const String & str)

Escape text like a C string. Returns a string that escapes all characters with a backslash '\' that need escaping in C language string syntax.

string_to_cquote()

String string_to_cquote ( const String & str)

Returns a string as C string including double quotes.

string_from_cquote()

String string_from_cquote ( const String & input)

Parse a possibly quoted C string into regular string.

string_lstrip()

String string_lstrip ( const String & input)

Strip whitespaces from the left of a string.

string_rstrip()

String string_rstrip ( const String & input)

Strip whitespaces from the right of a string.

string_strip()

String string_strip ( const String & input)

Strip whitespaces from the left and right of a string.

string_replace()

String string_replace ( const String & input,
const String & marker,
const String & replacement,
size_t maxn
)

Replace substring marker in input with replacement, at most maxn times.

string_substitute_char()

String string_substitute_char ( const String & input,
const char match,
const char subst
)

Replace all occouranes of match in input with subst.

string_to_hex()

String string_to_hex ( const String & input)

Convert bytes in string `input` to hexadecimal numbers.

string_hexdump()

String string_hexdump ( const void * addr,
size_t length,
size_t initial_offset
)

Produce hexdump of a memory region. Each output line consists of its hexadecimal offset, 16 hexadecimal bytes and the ASCII representation of the same 16 bytes.

memset4()

void memset4 ( uint32 * mem,
uint32 filler,
uint length
)

Fill a memory area with a 32-bit quantitiy.

string_vector_find()

String string_vector_find ( const StringS & svector,
const String & prefix,
const String & fallback
)

Search for prefix in svector and return the matching element. If multiple matches are possible, the last one is returned.

Returns
fallback if no match was found.

string_vector_find_value()

String string_vector_find_value ( const StringS & svector,
const String & prefix,
const String & fallback
)

Search for prefix in svector and return reminder of the matching string. If multiple matches are possible, the last one is returned.

Returns
fallback if no match was found.

cstrings_to_vector()

StringS cstrings_to_vector ( const char * s,
...
)

Construct a StringS from a NULL terminated list of string arguments.

kvpair_key()

String kvpair_key ( const String & key_value_pair)

kvpair_value()

String kvpair_value ( const String & key_value_pair)

kvpairs_fetch()

String kvpairs_fetch ( const StringS & kvs,
const String & key,
bool casesensitive
)

kvpairs_search()

ssize_t kvpairs_search ( const StringS & kvs,
const String & k,
const bool casesensitive
)

kvpairs_assign()

bool kvpairs_assign ( StringS & kvs,
const String & key_value_pair,
bool casesensitive
)

string_option_find_value()

std::string_view string_option_find_value ( const char * string,
const char * feature,
const String & fallback,
const String & denied,
bool matchallnone
)

Low level option search, avoids dynamic allocations.

string_option_find()

String string_option_find ( const String & optionlist,
const String & feature,
const String & fallback
)

Retrieve the option value from an options list separated by ':' or ';' or `fallback`.

string_option_check()

bool string_option_check ( const String & optionlist,
const String & feature
)

Check if an option is set/unset in an options list string.

text_convert()

bool text_convert ( const String & to_charset,
String & output_string,
const String & from_charset,
const String & input_string,
const String & fallback_charset,
const String & output_mark
)

Convert a string from one encoding to another. Convert input_string from encoding from_charset to to_charset, returning output_string. Interpret unknown characters according to fallback_charset. Use output_mark in place of unconvertible characters. Returns whether the conversion was successful.

strerror() [1/2]

const char * strerror ( int errno_num)

Get POSIX locale strerror.

strerror() [2/2]

const char * strerror ( )

string_from_float() [2/2]

String string_from_float ( double value)

string_to_float()

double string_to_float ( const String & string)

string_to_type()

template<typename Type >
Type string_to_type ( const String & string)

Convert a string to template argument type, such as bool, int, double.

string_from_type()

template<typename Type >
String string_from_type ( Type value)

Create a string from a templated argument value, such as bool, int, double.

string_to_type< long double >()

template<>
long double string_to_type< long double > ( const String & string)

string_from_type< long double >()

template<>
String string_from_type< long double > ( long double value)

string_to_type< double >()

template<>
double string_to_type< double > ( const String & string)

string_from_type< double >()

template<>
String string_from_type< double > ( double value)

string_to_type< float >()

template<>
float string_to_type< float > ( const String & string)

string_from_type< float >()

template<>
String string_from_type< float > ( float value)

string_to_type< bool >()

template<>
bool string_to_type< bool > ( const String & string)

string_from_type< bool >()

template<>
String string_from_type< bool > ( bool value)

string_to_type< int16 >()

template<>
int16 string_to_type< int16 > ( const String & string)

string_from_type< int16 >()

template<>
String string_from_type< int16 > ( int16 value)

string_to_type< uint16 >()

template<>
uint16 string_to_type< uint16 > ( const String & string)

string_from_type< uint16 >()

template<>
String string_from_type< uint16 > ( uint16 value)

string_to_type< int >()

template<>
int string_to_type< int > ( const String & string)

string_from_type< int >()

template<>
String string_from_type< int > ( int value)

string_to_type< uint >()

template<>
uint string_to_type< uint > ( const String & string)

string_from_type< uint >()

template<>
String string_from_type< uint > ( uint value)

string_to_type< int64 >()

template<>
int64 string_to_type< int64 > ( const String & string)

string_from_type< int64 >()

template<>
String string_from_type< int64 > ( int64 value)

string_to_type< uint64 >()

template<>
uint64 string_to_type< uint64 > ( const String & string)

string_from_type< uint64 >()

template<>
String string_from_type< uint64 > ( uint64 value)

string_to_type< String >()

template<>
String string_to_type< String > ( const String & string)

string_from_type< String >()

template<>
String string_from_type< String > ( String value)

speaker_arrangement_count_channels()

uint8 speaker_arrangement_count_channels ( SpeakerArrangement spa)

speaker_arrangement_is_aux()

bool speaker_arrangement_is_aux ( SpeakerArrangement spa)

speaker_arrangement_channels()

SpeakerArrangement speaker_arrangement_channels ( SpeakerArrangement spa)

speaker_arrangement_bit_name()

const char * speaker_arrangement_bit_name ( SpeakerArrangement spa)

speaker_arrangement_desc()

std::string speaker_arrangement_desc ( SpeakerArrangement spa)

encodefs()

std::string encodefs ( const std::string & fschars)

Encode a file system path consisting of bytes into UTF-8, using surrogate code points to store non UTF-8 bytes.

decodefs()

std::string decodefs ( const std::string & utf8str)

Decode UTF-8 string back into file system path representation, extracting surrogate code points as bytes.

displayfs()

std::string displayfs ( const std::string & utf8str)

Convert UTF-8 encoded file system path into human readable display format, the conversion is lossy but readable.

utf8len() [1/2]

size_t utf8len ( const char * str)

Count valid UTF-8 sequences, invalid sequences are counted as Latin-1 characters.

utf8len() [2/2]

size_t utf8len ( const std::string & str)

Count valid UTF-8 sequences, invalid sequences are counted as Latin-1 characters.

utf8decode()

std::vector< uint32_t > utf8decode ( const std::string & utf8str)

Convert valid UTF-8 sequences to Unicode codepoints, invalid sequences are treated as Latin-1 characters.

utf8_to_unicode() [1/2]

size_t utf8_to_unicode ( const char * str,
uint32_t * codepoints
)

Convert valid UTF-8 sequences to Unicode codepoints, invalid sequences are treated as Latin-1 characters. The array codepoints must be able to hold at least as many elements as are characters stored in str. Returns the number of codepoints stored in codepoints.

utf8_to_unicode() [2/2]

size_t utf8_to_unicode ( const std::string & str,
std::vector< uint32_t > & codepoints
)

Convert valid UTF-8 sequences to Unicode codepoints, invalid sequences are treated as Latin-1 characters. Returns the number of codepoints newly stored in codepoints.

utf8encode() [1/2]

std::string utf8encode ( const uint32_t * codepoints,
size_t n_codepoints
)

Convert codepoints into an UTF-8 string, using the shortest possible encoding.

utf8encode() [2/2]

std::string utf8encode ( const std::vector< uint32_t > & codepoints)

Convert codepoints into an UTF-8 string, using the shortest possible encoding.

string_is_ncname()

bool string_is_ncname ( const String & input)

Check `input` to be a NCName, according to the QName EBNF. See https://en.wikipedia.org/wiki/QName

string_to_ncname()

String string_to_ncname ( const String & input,
uint32_t substitute
)

Convert `input` to a NCName, according to the QName EBNF. See https://en.wikipedia.org/wiki/QName

unicode_is_valid()

constexpr bool unicode_is_valid ( uint32_t u)
constexpr

Return whether u is an allowed Unicode codepoint within 0x10FFFF and not part of a UTF-16 surrogate pair.

unicode_is_assigned()

constexpr bool unicode_is_assigned ( uint32_t u)
constexpr

Return whether u matches any of the assigned Unicode planes.

unicode_is_noncharacter()

constexpr bool unicode_is_noncharacter ( uint32_t u)
constexpr

Return whether u is one of the 66 Unicode noncharacters.

unicode_is_character()

constexpr bool unicode_is_character ( uint32_t u)
constexpr

Return whether u is not one of the 66 Unicode noncharacters.

unicode_is_control_code()

constexpr bool unicode_is_control_code ( uint32_t u)
constexpr

Return whether u is one of the 65 Unicode control codes.

unicode_is_private()

constexpr bool unicode_is_private ( uint32_t u)
constexpr

Return whether u is in one of the 3 private use areas of Unicode.

debug_key_enabled() [1/3]

bool debug_key_enabled ( const char * conditional)

Check if `conditional` is enabled by $ASE_DEBUG.

debug_key_enabled() [2/3]

bool debug_key_enabled ( const ::std::string & conditional)

Check if `conditional` is enabled by $ASE_DEBUG.

debug_key_value()

std::string debug_key_value ( const char * conditional)

Retrieve the value assigned to debug key `conditional` in $ASE_DEBUG.

debug_message()

void debug_message ( const char * cond,
const std::string & message
)

Print a debug message, called from Ase::debug().

diag_flush()

void diag_flush ( uint8 code,
const String & txt
)

Handle stdout and stderr printing with flushing.

diag_prefix()

String diag_prefix ( uint8 code)

Create prefix for warnings and errors.

ase_gettext() [1/2]

void void const char * ase_gettext ( const String & untranslated)

atquit_add()

const char void atquit_add ( std::function< void()> * func)

atquit_del()

void atquit_del ( std::function< void()> * func)

atquit_run()

void atquit_run ( int exitcode)

atquit_triggered()

bool atquit_triggered ( )

now_strftime()

String now_strftime ( const String & format)

debug_enabled()

bool ASE_PURE debug_enabled ( )

Check if any kind of debugging is enabled by $ASE_DEBUG.

debug_key_enabled() [3/3]

bool debug_key_enabled ( const std::string & conditional)

debug() [1/2]

template<class ... A>
void debug ( const char * cond,
const char * format,
const A &... args
)

fatal_error() [1/2]

template<class ... A>
void fatal_error ( const char * format,
const A &... args
)

warning() [1/2]

template<class ... A>
void warning ( const char * format,
const A &... args
)

printout() [1/2]

template<class... A>
void printout ( const char * format,
const A &... args
)

printerr() [1/2]

template<class... A>
void void printerr ( const char * format,
const A &... args
)

ase_gettext() [2/2]

template<class A0 , class... Ar>
const char * ase_gettext ( const char * format,
const A0 & a0,
const Ar &... restargs
)

Translate a string, using the ASE locale.

uint16_swap_le_be()

constexpr uint16_t uint16_swap_le_be ( uint16_t v)
constexpr

Swap 16-Bit integers between __BIG_ENDIAN and __LITTLE_ENDIAN systems.

uint32_swap_le_be()

constexpr uint32_t uint32_swap_le_be ( uint32_t v)
constexpr

Swap 32-Bit integers between __BIG_ENDIAN and __LITTLE_ENDIAN systems.

uint64_swap_le_be()

constexpr uint64_t uint64_swap_le_be ( uint64_t v)
constexpr

Swap 64-Bit integers between __BIG_ENDIAN and __LITTLE_ENDIAN systems.

debug() [2/2]

template<class ... Args>
void debug ( const char * cond,
const char * format,
const Args &... args
)

Issue a printf-like debugging message if `cond` is enabled by $ASE_DEBUG.

fatal_error() [2/2]

template<class ... Args>
void ASE_NORETURN fatal_error ( const char * format,
const Args &... args
)

Issue a printf-like message and abort the program, this function will not return. Avoid using this in library code, aborting may take precious user data with it, library code should instead use warning(), info() or assert_return().

warning() [2/2]

template<class ... Args>
void warning ( const char * format,
const Args &... args
)

Issue a printf-like warning message.

printout() [2/2]

template<class... Args>
void printout ( const char * format,
const Args &... args
)

Print a message on stdout (and flush stdout) ala printf(), using the POSIX/C locale.

printerr() [2/2]

template<class... Args>
void printerr ( const char * format,
const Args &... args
)

Print a message on stderr (and flush stderr) ala printf(), using the POSIX/C locale.

operator==()

bool operator== ( const std::vector< ValueP > & v1,
const std::vector< ValueP > & v2
)

wave_writer_create_wav()

WaveWriterP wave_writer_create_wav ( int rate,
int channels,
const String & filename,
int mode,
uint8_t n_bits
)

wave_writer_opus_version()

String wave_writer_opus_version ( )

wave_writer_create_opus()

WaveWriterP wave_writer_create_opus ( int rate,
int channels,
const String & filename,
int mode,
int complexity,
float bitrate
)

wave_writer_flac_version()

String wave_writer_flac_version ( )

wave_writer_create_flac()

WaveWriterP wave_writer_create_flac ( int rate,
int channels,
const String & filename,
int mode,
int compresion
)

Variable Documentation

GUIONLY

constexpr const char GUIONLY[]
constexpr

GUI READABLE WRITABLE.

STORAGE

constexpr const char STORAGE[]
constexpr

STORAGE READABLE WRITABLE.

STANDARD

constexpr const char STANDARD[]
constexpr

STORAGE GUI READABLE WRITABLE.

MIDI_NOTE_ID_FIRST

constexpr const uint MIDI_NOTE_ID_FIRST
constexpr

First (internal) MIDI note event ID (lower IDs are reserved for external notes).

MIDI_NOTE_ID_LAST

constexpr const uint MIDI_NOTE_ID_LAST
constexpr

Last valid (internal) MIDI note event ID.

level

size_t level

size

size_t size

assertion_failed_fatal

bool assertion_failed_fatal

Global flag to force aborting on assertion warnings.

args

const A & args

const_float_zeros

float const_float_zeros

Block of const floats allof value 0.

AUDIO_BLOCK_FLOAT_ZEROS_SIZE

constexpr const uint AUDIO_BLOCK_FLOAT_ZEROS_SIZE
constexpr

Maximum number of values in the const_float_zeros block.

FIXED_N_CHANNELS

constexpr const uint FIXED_N_CHANNELS
constexpr

FIXED_SAMPLE_RATE

constexpr const uint FIXED_SAMPLE_RATE
constexpr

FIXED_N_MIDI_DRIVERS

constexpr const uint FIXED_N_MIDI_DRIVERS
constexpr

fileglob

bool const char* fileglob

maxbytes

bool const char const size_t maxbytes

__DEV__

constexpr const bool __DEV__
constexpr

columnline

uint64_t columnline

func

uint64_t const char* func

format

uint64_t const char const char* format

main_app

MainAppImpl main_app

App

const MainApp & App

main_loop

MainLoopP main_loop

main_jobs

JobQueue main_jobs ( call_main_loop )

Execute a job callback in the Ase main loop.

main_rt_jobs

RtJobQueue main_rt_jobs

Queue a callback for the `main_loop` without invoking malloc(), addition is obstruction free.

cent_table

const float *const cent_table

Finetune factor table with 201 entries for `-100…0…+100` cent.

semitone_tables_265

const float *const semitone_tables_265

Musical Tuning Tables, to be indexed by `MusicalTuning`.

DOUBLE_EPSILON

constexpr const double DOUBLE_EPSILON
constexpr

Double round-off error at 1.0, equals 2^-53.

__noreturn__

void __noreturn__

ase_major_version

const int ase_major_version
extern

ase_minor_version

const int ase_minor_version
extern

ase_micro_version

const int ase_micro_version
extern

ase_version_long

const char* const ase_version_long
extern

ase_version_short

const char* const ase_version_short
extern

ase_gettext_domain

const char* const ase_gettext_domain
extern

ase_sharedir

const char* const ase_sharedir
extern

cached_hash_secret

uint64_t cached_hash_secret

Use hash_secret() for access.

SERVER

ServerImpl * SERVER

INVERSE_SEMIQUAVER

constexpr double INVERSE_SEMIQUAVER
constexpr

speaker_arrangement_channels_mask

constexpr SpeakerArrangement speaker_arrangement_channels_mask
constexpr

TRANSPORT_PPQN

constexpr const int64 TRANSPORT_PPQN
constexpr

Maximum number of sample frames to calculate in Processor::render().

SEMIQUAVER_TICKS

constexpr const int64 SEMIQUAVER_TICKS
constexpr

MIN_BPM

constexpr const int64 MIN_BPM
constexpr

MAX_BPM

constexpr const int64 MAX_BPM
constexpr

MIN_SAMPLERATE

constexpr const int64 MIN_SAMPLERATE
constexpr

MAX_SAMPLERATE

constexpr const int64 MAX_SAMPLERATE
constexpr

unicode_last_codepoint

constexpr uint32_t unicode_last_codepoint
constexpr

ase_debugging_enabled

bool ase_debugging_enabled

Global boolean to reduce debugging penalty where possible.

ase_fatal_warnings

bool ase_fatal_warnings

Global boolean to cause the program to abort on warnings.