Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
types.h File Reference

Custom types. More...

#include <cstdint>
#include "gtk_wrapper.h"
#include <cinttypes>
#include <magic_enum_all.hpp>
Include dependency graph for types.h:

Go to the source code of this file.

Data Structures

struct  EngineProcessTimeInfo
 Common struct to pass around during processing to avoid repeating the data in function arguments. More...
 

Macros

#define TYPEDEF_STRUCT(s)   typedef struct s s
 
#define TYPEDEF_STRUCT_UNDERSCORED(s)   typedef struct _##s s
 
#define SIGNED_FRAME_FORMAT   PRId64
 
#define UNSIGNED_FRAME_FORMAT   PRIu64
 
#define CACHE_TYPE_ALL
 
#define ENUM_INT_TO_VALUE_CONST(_enum, _int)    (magic_enum::enum_value<_enum, _int> ())
 
#define ENUM_INT_TO_VALUE(_enum, _int)   (magic_enum::enum_value<_enum> (_int))
 
#define ENUM_VALUE_TO_INT(_val)   (magic_enum::enum_integer (_val))
 
#define ENUM_ENABLE_BITSET(_enum)
 
#define ENUM_BITSET(_enum, _val)   (magic_enum::containers::bitset<_enum> (_val))
 
#define ENUM_BITSET_TEST(_enum, _val, _other_val)
 
#define ENUM_BITSET_TO_STRING(_enum, _val)    (ENUM_BITSET (_enum, _val).to_string ().data ())
 
#define ENUM_COUNT(_enum)   (magic_enum::enum_count<_enum> ())
 
#define ENUM_NAME(_val)   (magic_enum::enum_name (_val).data ())
 
#define ENUM_NAME_FROM_INT(_enum, _int)    ENUM_NAME (ENUM_INT_TO_VALUE (_enum, _int))
 

Typedefs

typedef uint8_t midi_byte_t
 MIDI byte.
 
typedef uint32_t nframes_t
 Frame count.
 
typedef uint32_t sample_rate_t
 Sample rate.
 
typedef uint32_t midi_time_t
 MIDI time in global frames.
 
typedef unsigned int channels_t
 Number of channels.
 
typedef float sample_t
 The sample type.
 
typedef float bpm_t
 The BPM type.
 
typedef double curviness_t
 
typedef int_fast64_t signed_frame_t
 Signed type for frame index.
 
typedef uint_fast64_t unsigned_frame_t
 Unsigned type for frame index.
 
typedef signed_frame_t signed_ms_t
 Signed millisecond index.
 
typedef signed_frame_t signed_sec_t
 Signed second index.
 
typedef float(* GenericFloatGetter) (void *object)
 Getter prototype for float values.
 
typedef void(* GenericFloatSetter) (void *object, float val)
 Setter prototype for float values.
 
typedef const char *(* GenericStringGetter) (void *object)
 Getter prototype for strings.
 
typedef void(* GenericStringSetter) (void *object, const char *val)
 Setter prototype for float values.
 
typedef void(* GenericStringCopyGetter) (void *object, char *buf)
 Getter prototype for strings to be saved in the given buffer.
 
typedef void(* GenericCallback) (void *object)
 Generic callback.
 
typedef int(* GenericCmpFunc) (const void *a, const void *b)
 Generic comparator.
 
typedef bool(* GenericPredicateFunc) (const void *object, const void *user_data)
 Predicate function prototype.
 
typedef void(* ObjectFreeFunc) (void *)
 Function to call to free objects.
 

Enumerations

enum  AudioValueFormat { AUDIO_VALUE_AMPLITUDE , AUDIO_VALUE_DBFS , AUDIO_VALUE_FADER }
 
enum  CacheTypes {
  CACHE_TYPE_TRACK_NAME_HASHES = 1 << 0 , CACHE_TYPE_PLUGIN_PORTS = 1 << 1 , CACHE_TYPE_PLAYBACK_SNAPSHOTS = 1 << 2 , CACHE_TYPE_AUTOMATION_LANE_RECORD_MODES = 1 << 3 ,
  CACHE_TYPE_AUTOMATION_LANE_PORTS = 1 << 4
}
 

Detailed Description

Custom types.

Definition in file types.h.