get.adf.file {adfExplorer} | R Documentation |
Get a file from an amigaDisk object
Description
Get files stored on virtual amigaDisk
s as raw data
or copy as file.
Usage
## S4 method for signature 'amigaDisk,character,missing'
get.adf.file(x, source, destination)
## S4 method for signature 'amigaDisk,character,character'
get.adf.file(x, source, destination)
## S4 method for signature 'amigaDisk,character,ANY'
get.adf.file(x, source, destination)
Arguments
x |
An |
source |
Specify the source file's path on the
|
destination |
either a file name or a file connection, that
allows writing binary data (see e.g., |
Details
Amiga DOS formatted disks can store any kind of file (as long as the disk's capacity allows it). Use this method to extract such files embedded in an Amiga Disk File (ADF) as raw data or copy to a file on your system.
Value
Returns a vector
of raw
data when the
argument destination
is missing. Otherwise returns nothing.
Author(s)
Pepijn de Vries
Examples
data(adf.example)
## Not run:
## get the file "Startup-Sequence" from the virtual
## example disk and save as a text file in the
## current working directory:
get.adf.file(adf.example, "DF0:S/Startup-Sequence", "startup.txt")
## End(Not run)
## get the same file as raw data
## by omitting the destination:
startup <- get.adf.file(adf.example, "DF0:S/Startup-Sequence")
## Look, it's a text file:
startup |> rawToChar() |> iconv(from = "ISO-8859-1", to = "UTF-8")
if (requireNamespace("ProTrackR", quietly = TRUE)) {
## look there is a typical ProTracker module on
## the example disk. You can load it like this:
## get the file from the virtual disk
## as raw data
mod.raw <- get.adf.file(adf.example, "DF0:mods/mod.intro")
## open a raw connection with the
## newly imported raw data
con <- rawConnection(mod.raw, "rb")
## and read it as a ProTracker module
mod <- ProTrackR::read.module(con)
close(con)
## plot the first sample from the module:
plot(ProTrackR::waveform(ProTrackR::PTSample(mod, 1)),
type = "l", ylab = "amplitude")
} else {
cat("You need to install and load the\nProTrackR package for this part of the example.")
}