## AgsFrequencyMap

AgsFrequencyMap — Contains the audio data for a given frequency

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_FREQUENCY_MAP_GET_OBJ_MUTEX()
gint | ags_frequency_map_sort_func ()
gboolean | ags_frequency_map_test_flags ()
void | ags_frequency_map_set_flags ()
void | ags_frequency_map_unset_flags ()
void | ags_frequency_map_process ()
void | ags_frequency_map_factorize ()
void | ags_frequency_map_compute_max_likelihood ()
AgsFrequencyMap * | ags_frequency_map_new ()

## Properties

guint | attack | Read / Write
guint | buffer-size | Read / Write
guint | frame-count | Read / Write
double | freq | Read / Write
guint | oscillator-mode | Read / Write
guint | samplerate | Read / Write
guint | window-count | Read / Write
guint | z-index | Read / Write

## Signals

void | compute-max-likelihood | Run Last
void | factorize | Run Last
void | process | Run Last

## Types and Values

#define | AGS_FREQUENCY_MAP_DEFAULT_FREQ
enum | AgsFrequencyMapFlags

## Object Hierarchy

        GObject
        ╰── AgsFrequencyMap

## Includes

    #include <ags/audio/ags_frequency_map.h>

## Description

AgsFrequencyMap stores a buffer of complex numbers. Representing an discrete sampled oscillator wave at a giving frequency.

## Functions

### AGS_FREQUENCY_MAP_GET_OBJ_MUTEX()

    #define AGS_FREQUENCY_MAP_GET_OBJ_MUTEX(obj) (&(((AgsFrequencyMap *) obj)->obj_mutex))

### ags_frequency_map_sort_func ()

    gint
    ags_frequency_map_sort_func (gconstpointer a,
                                 gconstpointer b);

Sort frequency maps.

#### Parameters

a | an AgsFrequencyMap |
b | an AgsFrequencyMap |

#### Returns

0 if equal, -1 if smaller and 1 if bigger offset

Since: 3.0.0

### ags_frequency_map_test_flags ()

    gboolean
    ags_frequency_map_test_flags (AgsFrequencyMap *frequency_map,
                                  AgsFrequencyMapFlags flags);

Test `flags` to be set on `recall` .

#### Parameters

frequency_map | the AgsFrequencyMap |
flags | the flags |

#### Returns

`TRUE` if flags are set, else `FALSE`

Since: 3.0.0

### ags_frequency_map_set_flags ()

    void
    ags_frequency_map_set_flags (AgsFrequencyMap *frequency_map,
                                 AgsFrequencyMapFlags flags);

Set flags.

#### Parameters

frequency_map | the AgsFrequencyMap |
flags | the flags |

Since: 3.0.0

### ags_frequency_map_unset_flags ()

    void
    ags_frequency_map_unset_flags (AgsFrequencyMap *frequency_map,
                                   AgsFrequencyMapFlags flags);

Unset flags.

#### Parameters

frequency_map | the AgsFrequencyMap |
flags | the flags |

Since: 3.0.0

### ags_frequency_map_process ()

    void
    ags_frequency_map_process (AgsFrequencyMap *frequency_map);

Process `frequency_map` .

#### Parameters

frequency_map | the AgsFrequencyMap |

Since: 3.0.0

### ags_frequency_map_factorize ()

    void
    ags_frequency_map_factorize (AgsFrequencyMap *frequency_map,
                                 AgsFrequencyMap *factorized_frequency_map);

Factorize `frequency_map` .

#### Parameters

frequency_map | the AgsFrequencyMap |
factorized_frequency_map | the factorized AgsFrequencyMap |

Since: 3.0.0

### ags_frequency_map_compute_max_likelihood ()

    void
    ags_frequency_map_compute_max_likelihood
                                   (AgsFrequencyMap *frequency_map,
                                    AgsComplex *source,
                                    AgsComplex **retval);

Compute maximum likelihood `source` and store in `retval` .

#### Parameters

frequency_map | the AgsFrequencyMap |
source | the source as AgsComplex buffer |
retval | the return location of result as AgsComplex buffer |

Since: 3.0.0

### ags_frequency_map_new ()

    AgsFrequencyMap *
    ags_frequency_map_new ();

#### Returns

a new AgsFrequencyMap

Since: 3.0.0

## Types and Values

### AGS_FREQUENCY_MAP_DEFAULT_FREQ

    #define AGS_FREQUENCY_MAP_DEFAULT_FREQ (440.0)

### enum AgsFrequencyMapFlags

#### Members

AGS_FREQUENCY_MAP_PROCESSED | the frequency map was processed |

## Property Details

### The `“attack”` property

      “attack”                   guint

The attack to be used.

Owner: AgsFrequencyMap

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“buffer-size”` property

      “buffer-size”              guint

The buffer size to be used.

Owner: AgsFrequencyMap

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“frame-count”` property

      “frame-count”              guint

The initial size of audio data.

Owner: AgsFrequencyMap

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“freq”` property

      “freq”                     double

The freq to be used.

Owner: AgsFrequencyMap

Flags: Read / Write

Allowed values: >= -1

Default value: 440

Since: 3.0.0

### The `“oscillator-mode”` property

      “oscillator-mode”          guint

The oscillator mode to be used.

Owner: AgsFrequencyMap

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“samplerate”` property

      “samplerate”               guint

The samplerate to be used.

Owner: AgsFrequencyMap

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“window-count”` property

      “window-count”             guint

The the window count of total z-indexes.

Owner: AgsFrequencyMap

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“z-index”` property

      “z-index”                  guint

The z-index as position of this frequency map.

Owner: AgsFrequencyMap

Flags: Read / Write

Default value: 0

Since: 3.0.0

## Signal Details

### The `“compute-max-likelihood”` signal

    void
    user_function (AgsFrequencyMap *frequency_map,
                   gpointer         source,
                   gpointer         retval,
                   gpointer         user_data)

The ::compute-max-likelihood signal notifies about max likelihooded commputed.

#### Parameters

frequency_map | the AgsFrequencyMap |
source | the source buffer |
retval | return location pointer to buffer |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“factorize”` signal

    void
    user_function (AgsFrequencyMap *frequency_map,
                   GObject         *factorized_frequency_map,
                   gpointer         user_data)

The ::factorize signal notifies about factorizing map.

#### Parameters

frequency_map | the AgsFrequencyMap |
factorized_frequency_map | the factorized AgsFrequencyMap |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“process”` signal

    void
    user_function (AgsFrequencyMap *frequency_map,
                   gpointer         user_data)

The ::process signal notifies about processed buffer.

#### Parameters

frequency_map | the AgsFrequencyMap |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0