| Top |
| #define | AGS_THREAD_RESUME_SIG |
| #define | AGS_THREAD_SUSPEND_SIG |
| #define | AGS_RT_PRIORITY |
| #define | AGS_THREAD_HERTZ_JIFFIE |
| #define | AGS_THREAD_DEFAULT_JIFFIE |
| #define | AGS_THREAD_MAX_PRECISION |
| #define | AGS_THREAD_DEFAULT_ATTACK |
| enum | AgsThreadFlags |
| enum | AgsThreadSyncFlags |
GObject ╰── AgsThread ├── AgsAudioLoop ├── AgsAudioThread ├── AgsAutosaveThread ├── AgsChannelThread ├── AgsExportThread ├── AgsGenericMainLoop ├── AgsGuiThread ├── AgsIteratorThread ├── AgsRecordThread ├── AgsRecyclingThread ├── AgsReturnableThread ├── AgsSequencerThread ├── AgsSimpleAutosaveThread ├── AgsSingleThread ├── AgsSoundcardThread ├── AgsTaskThread ╰── AgsTimestampThread
The AgsThread base class. It supports organizing them within a tree, perform syncing and frequencies.
void ags_thread_set_sync (AgsThread *thread,guint tic);
Unsets AGS_THREAD_WAIT_0, AGS_THREAD_WAIT_1 or AGS_THREAD_WAIT_2. Additionaly the thread is woken up by this function if waiting.
Since: 0.4.0
void ags_thread_set_sync_all (AgsThread *thread,guint tic);
Calls ags_thread_set_sync() on all threads.
Since: 0.4.0
void
ags_thread_lock (AgsThread *thread);
Locks the threads own mutex and sets the appropriate flag.
Since: 0.4.0
gboolean
ags_thread_trylock (AgsThread *thread);
Locks the threads own mutex if available and sets the
appropriate flag and returning TRUE. Otherwise return FALSE
without lock.
Since: 0.4.0
void
ags_thread_unlock (AgsThread *thread);
Unlocks the threads own mutex and unsets the appropriate flag.
Since: 0.4.0
AgsThread *
ags_thread_get_toplevel (AgsThread *thread);
Retrieve toplevel thread.
Since: 0.4.0
AgsThread *
ags_thread_first (AgsThread *thread);
Retrieve first sibling.
Since: 0.4.0
AgsThread *
ags_thread_last (AgsThread *thread);
Retrieve last sibling.
Since: 0.4.0
void ags_thread_remove_child (AgsThread *thread,AgsThread *child);
Remove child of thread.
Since: 0.4.0
void ags_thread_add_child (AgsThread *thread,AgsThread *child);
Add child to thread.
Since: 0.4.0
void ags_thread_add_child_extended (AgsThread *thread,AgsThread *child,gboolean no_start,gboolean no_wait);
Add child to thread.
thread |
an AgsThread |
|
child |
the child to remove |
|
no_start |
don't start thread |
|
no_wait |
don't wait until started |
Since: 0.4.2
gboolean ags_thread_parental_is_locked (AgsThread *thread,AgsThread *parent);
Check the AGS_THREAD_LOCKED flag in parental levels.
Since: 0.4.0
gboolean
ags_thread_sibling_is_locked (AgsThread *thread);
Check the AGS_THREAD_LOCKED flag within sibling.
Since: 0.4.0
gboolean
ags_thread_children_is_locked (AgsThread *thread);
Check the AGS_THREAD_LOCKED flag within children.
Since: 0.4.0
gboolean ags_thread_is_current_ready (AgsThread *current,guint tic);
AgsThread * ags_thread_next_parent_locked (AgsThread *thread,AgsThread *parent);
Retrieve next locked thread above thread
.
Since: 0.4.0
AgsThread *
ags_thread_next_sibling_locked (AgsThread *thread);
Retrieve next locked thread neighbooring thread
Since: 0.4.0
AgsThread *
ags_thread_next_children_locked (AgsThread *thread);
Retrieve next locked thread following thread
Since: 0.4.0
void ags_thread_lock_parent (AgsThread *thread,AgsThread *parent);
Lock parent tree structure.
Since: 0.4.0
void
ags_thread_lock_sibling (AgsThread *thread);
Lock sibling tree structure.
Since: 0.4.0
void
ags_thread_lock_children (AgsThread *thread);
Lock child tree structure.
Since: 0.4.0
void ags_thread_unlock_parent (AgsThread *thread,AgsThread *parent);
Unlock parent tree structure.
Since: 0.4.0
void
ags_thread_unlock_sibling (AgsThread *thread);
Unlock sibling tree structure.
Since: 0.4.0
void
ags_thread_unlock_children (AgsThread *thread);
Unlock child tree structure.
Since: 0.4.0
void ags_thread_wait_parent (AgsThread *thread,AgsThread *parent);
Wait on parent tree structure.
Since: 0.4.0
void
ags_thread_wait_sibling (AgsThread *thread);
Wait on sibling tree structure.
Since: 0.4.0
void
ags_thread_wait_children (AgsThread *thread);
Wait on child tree structure.
Since: 0.4.0
void ags_thread_signal_parent (AgsThread *thread,AgsThread *parent,gboolean broadcast);
Signals the tree in higher levels.
Since: 0.4.0
void ags_thread_signal_sibling (AgsThread *thread,gboolean broadcast);
Signals the tree on same level.
Since: 0.4.0
void ags_thread_signal_children (AgsThread *thread,gboolean broadcast);
Signals the tree in lower levels.
Since: 0.4.0
void
ags_thread_run (AgsThread *thread);
Only for internal use of ags_thread_loop but you may want to set the your very own class function namely your thread's routine.
Since: 0.4.0
void
ags_thread_stop (AgsThread *thread);
Stop the threads loop by unsetting AGS_THREAD_RUNNING flag.
Since: 0.4.0
guint ags_thread_interrupted (AgsThread *thread,int sig,guint time_cycle,guint *time_spent);
Notify to resume interrupted thread.
thread |
the AgsThread |
|
sig |
signal number |
|
time_cycle |
duration of the time cycle |
|
time_spent |
time spent since last cycle |
Since: 0.7.46
void
ags_thread_hangcheck (AgsThread *thread);
Performs hangcheck of thread.
Since: 0.4.0
AgsThread *
ags_thread_chaos_tree (AgsThread *thread);
Escape chaos tree, get syncing point.
Since: 0.7.40
gboolean ags_thread_is_chaos_tree (AgsThread *thread,guint tic_delay,gboolean is_chaos_tree);
Check chaos tree and flag threads.
Since: 0.7.43
“frequency” property“frequency” gdouble
JIFFIE.
Flags: Read / Write
Allowed values: [0.01,1000]
Default value: 1000
Since: 0.4.0
“clock” signalguint user_function (AgsThread *thread, gpointer user_data)
Flags: Run Last
Since: 0.6.0
“interrupted” signalguint user_function (AgsThread *thread, gint sig, guint time_cycle, gpointer time_spent, gpointer user_data)
Flags: Run Last
Since: 0.7.46
“resume” signalvoid user_function (AgsThread *thread, gpointer user_data)
Flags: Run Last
Since: 0.5.0
“run” signalvoid user_function (AgsThread *thread, gpointer user_data)
Flags: Run Last
Since: 0.5.0
“start” signalvoid user_function (AgsThread *thread, gpointer user_data)
Flags: Run Last
Since: 0.5.0
“stop” signalvoid user_function (AgsThread *thread, gpointer user_data)
Flags: Run Last
Since: 0.5.0
“suspend” signalvoid user_function (AgsThread *thread, gpointer user_data)
Flags: Run Last
Since: 0.5.0