@local_tempo()
@local_tempo(exe)
@local_position()
@local_position(exe)
@logical_date()
@seconds_in_beats_from_now(d:numeric)
@seconds_in_beats_from_now(exe, d:numeric)
@beats_in_seconds_from_now(d:numeric)
@beats_in_seconds_from_now(exe, d:numeric)
These functions give information about the local timing in the current scope (for the version without the exe argument) or in the temporal scope of the exe given in the arguments (that is, local timing of a given execution of a compound action denoted by its exe).
These are impur functions: the retourned value depends of the scope of execution.
Notice that the value of the variables $RT_TEMPO
and
$RNOW
corresponds to the value of [@local_tempo()] and
@local_beat_position in the default top-level scope (which is the
musician temporal scope).
@logical_date returns a logical date, a positive integer, which
roughly corresponds to the number of logical instants handled so far. A
logical instant correspond to the handling of events and action that
occur simultaneously. This information is sometimes more precise than
the date given by the $NOW
variable: two events may be
distinguished by their logical date but can share the same (wall clock)
datation. Notice that two different events may still share the same
logical date. Computations that share the same logical date are executed
sequentially and atomically from the point of view of the access of
variables.
Function @seconds_in_beats_from_now(d)
converts in beat
of the current temporal scope the duration d
expressed in seconds.
Function @beats_in_seconds_from_now(d)
converts in
second the duration d
expressed in the relative time of the current
temporal scope.
The version with an addition exe argument refer to the temporal scope of the exe argument.
Example: the execution of the following code
@fun_def pr($id)
{
print \
$id "now=" $NOW \
"rnow=" $RNOW "lbp=" (@local_beat_position()) \
"rt_tempo=" $RT_TEMPO "lt=" (@local_tempo())
}
Group G60
{
@pr("a")
1 @pr("b")
1 @pr("c")
}
Group G120 @tempo := 120
{
@pr("aa")
1 @pr("bb")
1 @pr("cc")
}
produces the trace:
a now= 0.0 rnow= 0.0 lbp= 0.0 rt_tempo= 60.0 lt= 60.0
aa now= 0.0 rnow= 0.0 lbp= 0.0 rt_tempo= 60.0 lt= 120.0
b now= 1.0 rnow= 1.0 lbp= 1.0 rt_tempo= 60.0 lt= 60
bb now= 0.5 rnow= 0.5 lbp= 1.0 rt_tempo= 60.0 lt= 120
c now= 2.0 rnow= 2.0 lbp= 2.0 rt_tempo= 60.0 lt= 60
cc now= 1.0 rnow= 1.0 lbp= 2.0 rt_tempo= 60.0 lt= 120
See also
System Related Functions:
@active_mac_addresses
@arch_darwin
@arch_linux
@arch_windows
[@beat_in_seconds_from_now]
@callback_all_event
@callback_next_event
@callback_start_fastforward
@callback_start_logical_instant
@callback_stop
@callback_stop_fastforward
@callback_stop_logical_instant
@compilation
@configuration_arch
@configuration_audiosample
[@configuration_compiler_name]
[@configuration_compiler_version]
@configuration_debug
@configuration_faust
@configuration_host
[@configuration_odeint]
@configuration_release
@configuration_target_architecture
@current_load_directory
@directory_read
@exe_child_of
@exe_parent
@history_length
@host_date
@info
@is_fastforward
@is_following_on
@is_paused
@is_playing_on
@is_running
@is_stopped
@local_beat_position
@local_tempo
@logical_date
@max_absolute_path
@max_patch_path
@performance_data
@pwd
@seconds_in_beats_from_now
@send_message
@set_max_message_sent_instantaneously
@system
@Tracing
@time
@typecheck
@UnTracing
@usage_resident_memory_size
@usage_statistics
@usage_virtual_memory_size
@user_directory