Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=wp), | public | :: | duration |
Duration in seconds: |
|||
real(kind=wp), | public, | dimension(:, :), allocatable | :: | left |
Two arrays stocking the stereo tracks: |
||
real(kind=wp), | public, | dimension(:, :), allocatable | :: | right |
Two arrays stocking the stereo tracks: |
||
integer, | public | :: | samples |
Number of samples: |
|||
integer, | public | :: | tracks |
Number of audio tracks (excluding track 0 reserved for the final mix): |
An automatic finalizer, by security.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tape_recorder), | intent(inout) | :: | self |
Erase all tracks on all the channels of the tape.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tape_recorder), | intent(inout) | :: | self |
Copy section t1...t2 at t3, either on the same track or another one. The content already present at t3 is overwritten. The code suppose that t1 < t2 < t3.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tape_recorder), | intent(inout) | :: | self | |||
integer, | intent(in) | :: | from_track | |||
integer, | intent(in) | :: | to_track | |||
real(kind=wp), | intent(in) | :: | t1 | |||
real(kind=wp), | intent(in) | :: | t2 | |||
real(kind=wp), | intent(in) | :: | t3 |
Called by the close_WAV_file() method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tape_recorder), | intent(inout) | :: | self |
Tracks 1 to tracks-1 are mixed on track 0.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tape_recorder), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in), | optional, | dimension(1:self%tracks) | :: | levels | |
real(kind=wp), | intent(in), | optional, | dimension(1:self%tracks) | :: | pan |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tape_recorder), | intent(inout) | :: | self | |||
integer, | intent(in) | :: | tracks | |||
real(kind=wp), | intent(in) | :: | duration |
type tape_recorder !> Number of audio tracks (excluding track 0 reserved for the final mix): integer :: tracks !> Duration in seconds: real(wp) :: duration !> Number of samples: integer :: samples !> Two arrays stocking the stereo tracks: real(wp), dimension(:, :), allocatable :: left, right contains procedure :: new procedure :: clear_tracks procedure :: mix_tracks procedure :: copy_section procedure :: finalize final :: auto_finalize end type tape_recorder