aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.txt3
-rwxr-xr-xFramestein.exebin912384 -> 912384 bytes
-rw-r--r--Patches/05.example-plugins.pd8
-rw-r--r--Patches/50.example-externals.pd7
-rw-r--r--Patches/fs.draw.pd3
-rw-r--r--Patches/fs.frame.pd4
-rw-r--r--Patches/fs.main.pd42
-rw-r--r--Source/fsframeunit.pas10
-rw-r--r--Source/fstextunit.pas4
-rw-r--r--Source/mainunit.pas1
-rw-r--r--dropfile.bmpbin76088 -> 0 bytes
-rw-r--r--dropfile.jpgbin0 -> 6704 bytes
12 files changed, 54 insertions, 28 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 79cdb5d..f74fe8c 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -15,6 +15,9 @@
// ar[i] return i'th argument
...
+- added line width setting to fs.draw
+- fix: border_0 no longer alters frame dimensions
+
0.31
- added plugins by Olaf Matthes: PeRColate and PixelPack. Thanks, Olaf!
- the console is back. It's good for printf():ing from plugins..
diff --git a/Framestein.exe b/Framestein.exe
index 6502003..a7622fb 100755
--- a/Framestein.exe
+++ b/Framestein.exe
Binary files differ
diff --git a/Patches/05.example-plugins.pd b/Patches/05.example-plugins.pd
index 0512c54..630514e 100644
--- a/Patches/05.example-plugins.pd
+++ b/Patches/05.example-plugins.pd
@@ -1,4 +1,4 @@
-#N canvas 106 10 878 657 12;
+#N canvas 106 10 880 659 12;
#X obj 11 41 fs.main;
#X msg 11 11 6001;
#X msg 62 12 reset;
@@ -9,7 +9,7 @@
#X msg 52 122 green;
#X msg 66 148 colortv;
#X msg 78 174 lightspeed 100;
-#X text 157 102 Plugins are short pieces of code written in C \, C++
+#X text 159 67 Plugins are short pieces of code written in C \, C++
or ASM that manipulate one or more frames. Send the plugin name to
fs.frame to execute it.;
#X obj 87 290 fs.copy;
@@ -21,6 +21,8 @@ fs.frame to execute it.;
operation.;
#X msg 202 262 tile 3;
#X msg 209 289 xbend 40 140;
+#X obj 321 359 init;
+#X obj 284 225 init;
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
@@ -39,3 +41,5 @@ operation.;
#X connect 16 0 14 0;
#X connect 17 0 11 1;
#X connect 17 0 14 0;
+#X connect 18 0 13 0;
+#X connect 19 0 5 0;
diff --git a/Patches/50.example-externals.pd b/Patches/50.example-externals.pd
index cf776b0..16bdc16 100644
--- a/Patches/50.example-externals.pd
+++ b/Patches/50.example-externals.pd
@@ -1,5 +1,5 @@
-#N canvas 438 30 549 595 12;
-#N canvas 148 3 738 667 vframe 0;
+#N canvas 438 30 551 597 12;
+#N canvas 148 3 740 669 vframe 0;
#X obj 34 275 fs.frame;
#X obj 55 377 vimport;
#X obj 221 427 fs.frame;
@@ -258,7 +258,6 @@ quality..;
#X restore 64 487 pd vframeread~;
#X text 195 486 read image with a sync-signal;
#X obj 339 57 init;
-#X text 65 530 vdrawarray is documented on example-vdrawarray.;
#X text 21 21 Framestein v* family of video externals;
#N canvas 239 28 735 584 vrgb~ 0;
#X obj 389 140 vframe 320 240;
@@ -335,6 +334,8 @@ quality..;
#X connect 30 0 29 0;
#X connect 32 0 4 0;
#X restore 64 440 pd vrgb~ and vcolor~;
+#X text 65 530 vdrawarray is documented on example-waveformdisplay.
+;
#X connect 2 0 1 0;
#X connect 2 0 12 0;
#X connect 12 0 1 1;
diff --git a/Patches/fs.draw.pd b/Patches/fs.draw.pd
index cc9ea77..fc017f5 100644
--- a/Patches/fs.draw.pd
+++ b/Patches/fs.draw.pd
@@ -1,4 +1,4 @@
-#N canvas 301 30 843 370 12;
+#N canvas 301 30 847 374 12;
#X obj 172 80 loadbang;
#X obj 126 275 fs_sender;
#X obj 51 27 inlet;
@@ -19,6 +19,7 @@
#X text 362 196 pen <r> <g> <b> (to set pen color);
#X text 362 215 brush <r> <g> <b> (to set brush color);
#X obj 172 110 symbol \$0D;
+#X text 363 262 width <line width>;
#X connect 0 0 19 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
diff --git a/Patches/fs.frame.pd b/Patches/fs.frame.pd
index 71979cb..9216238 100644
--- a/Patches/fs.frame.pd
+++ b/Patches/fs.frame.pd
@@ -1,4 +1,4 @@
-#N canvas 44 16 907 631 12;
+#N canvas 44 16 911 635 12;
#X text 346 170 "next" "prev" "random" "seek <number>" to show frames
in video or buffered images.;
#X text 347 211 "clear" to flush buffered images.;
@@ -140,6 +140,8 @@ you load a patch.;
\, hidecursor_0;
#X text 348 282 "320 x 240" to set image size "100 + 100" to set frame
position "display 600 x 450" to set display size;
+#X text 348 573 title this is the main window;
+#X text 349 591 dock <window title> \, undock;
#X connect 14 0 16 0;
#X connect 15 0 14 0;
#X connect 17 0 8 0;
diff --git a/Patches/fs.main.pd b/Patches/fs.main.pd
index f68015c..a86c338 100644
--- a/Patches/fs.main.pd
+++ b/Patches/fs.main.pd
@@ -1,11 +1,9 @@
-#N canvas 278 0 702 496 12;
-#X obj 27 293 netsend;
+#N canvas 278 0 710 499 12;
#X floatatom 27 322 4 0 0;
#X obj 207 160 loadbang;
#X msg 206 254 disconnect;
#X msg 27 253 send \$1;
#X obj 27 203 r fs_main;
-#X msg 207 185 6001;
#X obj 127 128 inlet;
#X text 175 126 port;
#X obj 127 170 t f b;
@@ -32,22 +30,24 @@ configuring fs likewise (right-click fs).;
#X text 404 364 ignore some errors;
#X obj 408 431 r symbolfile;
#X obj 530 207 r fs_reset;
-#X connect 0 0 1 0;
-#X connect 2 0 6 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 4 0;
-#X connect 6 0 25 0;
-#X connect 7 0 9 0;
-#X connect 9 0 25 0;
-#X connect 9 1 3 0;
-#X connect 12 0 22 0;
-#X connect 14 0 21 0;
-#X connect 14 1 15 0;
-#X connect 15 0 0 0;
-#X connect 16 0 19 0;
+#X msg 207 185 6001;
+#X obj 27 293 netsend;
+#X connect 1 0 29 0;
+#X connect 2 0 30 0;
+#X connect 3 0 30 0;
+#X connect 4 0 3 0;
+#X connect 5 0 7 0;
+#X connect 7 0 23 0;
+#X connect 7 1 2 0;
+#X connect 10 0 20 0;
+#X connect 12 0 19 0;
+#X connect 12 1 13 0;
+#X connect 13 0 30 0;
+#X connect 14 0 17 0;
+#X connect 20 0 12 0;
+#X connect 20 1 21 0;
#X connect 22 0 14 0;
-#X connect 22 1 23 0;
-#X connect 24 0 16 0;
-#X connect 24 1 17 0;
-#X connect 25 0 0 0;
+#X connect 22 1 15 0;
+#X connect 23 0 30 0;
+#X connect 29 0 23 0;
+#X connect 30 0 0 0;
diff --git a/Source/fsframeunit.pas b/Source/fsframeunit.pas
index ccaafbf..f5a3e1f 100644
--- a/Source/fsframeunit.pas
+++ b/Source/fsframeunit.pas
@@ -720,13 +720,23 @@ begin
end;
procedure Tfsframe.Borders(const Yes: Boolean);
+var
+ w, h: Integer;
begin
_prefx;
d1.Hide;
+
+ w := ClientWidth; // need to restore dimensions after changing border
+ h := ClientHeight;
+
if Yes and (ParentWindow=0) then
BorderStyle := bsSizeable
else
BorderStyle := bsNone;
+
+ ClientWidth := w;
+ ClientHeight := h;
+
d1.Show;
d1.Initialize;
_postfx(fx1);
diff --git a/Source/fstextunit.pas b/Source/fstextunit.pas
index 92230db..f526d9d 100644
--- a/Source/fstextunit.pas
+++ b/Source/fstextunit.pas
@@ -89,6 +89,10 @@ begin
Canvas.Font.Name := Copy(S, Length(s1)+2, 255);
Result := True;
end else
+ if s1='WIDTH' then begin
+ Canvas.Pen.Width := MyStrToInt(ExtractWord(2, S, [' ']));
+ Result := True;
+ end else
end;
{ Tfstext }
diff --git a/Source/mainunit.pas b/Source/mainunit.pas
index 797b125..1b2a6e1 100644
--- a/Source/mainunit.pas
+++ b/Source/mainunit.pas
@@ -67,6 +67,7 @@ type
{ Private declarations }
SocketMem: Pointer;
fbmp: TFastDIB;
+
procedure LoadRegSettings;
procedure ParsePrim(const S: String);
procedure FreeIfCompExists(const S: String);
diff --git a/dropfile.bmp b/dropfile.bmp
deleted file mode 100644
index 6f36e3f..0000000
--- a/dropfile.bmp
+++ /dev/null
Binary files differ
diff --git a/dropfile.jpg b/dropfile.jpg
new file mode 100644
index 0000000..939a9cf
--- /dev/null
+++ b/dropfile.jpg
Binary files differ