Compare commits
2 commits
fe8ef6b25c
...
adf89eb360
Author | SHA1 | Date | |
---|---|---|---|
adf89eb360 | |||
8677e977ee |
4 changed files with 28 additions and 9 deletions
|
@ -36,14 +36,10 @@ Run the eg-amp plugin over the given slice of the file.
|
|||
|
||||
Run an echo filter on the given loaded file.
|
||||
|
||||
## TODO `quicksave`
|
||||
## `quicksave`
|
||||
|
||||
Save the file on the same directory of the file specified by `load`, but
|
||||
with a suffix on the filename (before extension).
|
||||
|
||||
Doing consecutive `quicksave`s will not overwrite any files, the suffixes will
|
||||
just be different.
|
||||
|
||||
## TODO `showpath`
|
||||
|
||||
Print the current loaded path on the screen.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
load :0;
|
||||
amp 3 1 10;
|
||||
amp 3 1 20;
|
||||
# echo 3 0 1 0.2;
|
||||
quicksave;
|
||||
|
|
|
@ -109,9 +109,16 @@ fn mkSfInfo() c.SF_INFO {
|
|||
|
||||
pub const Image = struct {
|
||||
allocator: *std.mem.Allocator,
|
||||
|
||||
/// Pointer to the underlying libsndfile's SNDFILE struct.
|
||||
sndfile: *c.SNDFILE,
|
||||
|
||||
/// The original image file path.
|
||||
path: []const u8,
|
||||
|
||||
/// Represents the current path being worked on.
|
||||
curpath: []const u8,
|
||||
|
||||
/// Open a BMP file.
|
||||
pub fn open(allocator: *std.mem.Allocator, path: []const u8) !*Image {
|
||||
var in_fmt = mkSfInfo();
|
||||
|
@ -123,6 +130,7 @@ pub const Image = struct {
|
|||
.allocator = allocator,
|
||||
.sndfile = sndfile,
|
||||
.path = path,
|
||||
.curpath = path,
|
||||
};
|
||||
|
||||
return image;
|
||||
|
@ -251,6 +259,13 @@ pub const Image = struct {
|
|||
}
|
||||
}
|
||||
|
||||
_ = c.sf_close(out_file);
|
||||
_ = c.sf_close(self.sndfile);
|
||||
self.sndfile = out_file;
|
||||
self.curpath = tmpnam;
|
||||
}
|
||||
|
||||
pub fn saveTo(self: *Image, out_path: []const u8) !void {
|
||||
std.debug.warn("saved to '{}'\n", out_path);
|
||||
try std.fs.copyFile(self.curpath, out_path);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -136,8 +136,16 @@ pub const Runner = struct {
|
|||
}
|
||||
}
|
||||
|
||||
const out_path = try std.fmt.allocPrint(self.allocator, "{}_g{}{}", starts_with, max + 1, extension);
|
||||
std.debug.warn("out path: {}\n", out_path);
|
||||
const out_path = try std.fmt.allocPrint(
|
||||
self.allocator,
|
||||
"{}/{}{}{}",
|
||||
dirname,
|
||||
starts_with,
|
||||
max + 1,
|
||||
extension,
|
||||
);
|
||||
|
||||
try image.saveTo(out_path);
|
||||
}
|
||||
|
||||
/// Run the http://lv2plug.in/plugins/eg-amp plugin over the file.
|
||||
|
|
Loading…
Reference in a new issue