ofs | hex dump | ascii |
---|
0000 | 2f 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 20 54 69 6d 20 42 6c 65 63 68 6d | /*.Copyright.(c).2004.Tim.Blechm |
0020 | 61 6e 6e 2e 0a 20 2a 20 46 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 | ann...*.For.information.on.usage |
0040 | 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 | .and.redistribution,.and.for.a.D |
0060 | 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 0a 20 2a 20 57 41 52 52 41 4e 54 49 45 53 2c 20 | ISCLAIMER.OF.ALL..*.WARRANTIES,. |
0080 | 73 65 65 20 74 68 65 20 66 69 6c 65 2c 20 22 67 70 6c 2e 74 78 74 22 20 69 6e 20 74 68 69 73 20 | see.the.file,."gpl.txt".in.this. |
00a0 | 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d | distribution...*..*.This.program |
00c0 | 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 | .is.free.software;.you.can.redis |
00e0 | 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 0a 20 2a 20 6d 6f 64 69 66 79 20 69 74 20 75 | tribute.it.and/or..*.modify.it.u |
0100 | 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 | nder.the.terms.of.the.GNU.Genera |
0120 | 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 73 20 70 75 62 6c 69 73 68 65 64 | l.Public.License..*.as.published |
0140 | 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e | .by.the.Free.Software.Foundation |
0160 | 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 0a 20 2a 20 6f 66 20 74 68 65 20 4c 69 63 | ;.either.version.2..*.of.the.Lic |
0180 | 65 6e 73 65 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 | ense,.or.(at.your.option).any.la |
01a0 | 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 53 65 65 20 66 69 6c 65 20 4c 49 43 45 | ter.version...*..*.See.file.LICE |
01c0 | 4e 53 45 20 66 6f 72 20 66 75 72 74 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 20 6f 6e 20 | NSE.for.further.informations.on. |
01e0 | 6c 69 63 65 6e 73 69 6e 67 20 74 65 72 6d 73 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 | licensing.terms...*..*.This.prog |
0200 | 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 | ram.is.distributed.in.the.hope.t |
0220 | 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 | hat.it.will.be.useful,..*.but.WI |
0240 | 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e | THOUT.ANY.WARRANTY;.without.even |
0260 | 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 | .the.implied.warranty.of..*.MERC |
0280 | 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 | HANTABILITY.or.FITNESS.FOR.A.PAR |
02a0 | 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 | TICULAR.PURPOSE...See.the..*.GNU |
02c0 | 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 | .General.Public.License.for.more |
02e0 | 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 | .details...*..*.You.should.have. |
0300 | 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 | received.a.copy.of.the.GNU.Gener |
0320 | 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 | al.Public.License..*.along.with. |
0340 | 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 | this.program;.if.not,.write.to.t |
0360 | 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 2a 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 | he.Free.Software..*.Foundation,. |
0380 | 49 6e 63 2e 2c 20 35 39 20 54 65 6d 70 6c 65 20 50 6c 61 63 65 20 2d 20 53 75 69 74 65 20 33 33 | Inc.,.59.Temple.Place.-.Suite.33 |
03a0 | 30 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 31 31 2d 31 33 30 37 2c 20 55 53 41 2e 0a | 0,.Boston,.MA..02111-1307,.USA.. |
03c0 | 20 2a 0a 20 2a 20 42 61 73 65 64 20 6f 6e 20 50 75 72 65 44 61 74 61 20 62 79 20 4d 69 6c 6c 65 | .*..*.Based.on.PureData.by.Mille |
03e0 | 72 20 50 75 63 6b 65 74 74 65 20 61 6e 64 20 6f 74 68 65 72 73 2e 0a 20 2a 0a 20 2a 20 63 6f 64 | r.Puckette.and.others...*..*.cod |
0400 | 65 64 20 77 68 69 6c 65 20 6c 69 73 74 65 6e 69 6e 67 20 74 6f 3a 20 4a 75 6c 69 65 6e 20 4f 74 | ed.while.listening.to:.Julien.Ot |
0420 | 74 61 76 69 3a 20 4e 65 72 76 75 72 65 20 4d 61 67 6e 65 74 69 71 75 65 0a 20 2a 20 20 20 20 20 | tavi:.Nervure.Magnetique..*..... |
0440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
0460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a | ...............................* |
0480 | 2f 0a 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6d 5f 70 64 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 | /...#include."m_pd.h".#include." |
04a0 | 6d 5f 73 69 6d 64 2e 68 22 0a 0a 0a 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | m_simd.h".../*.----------------- |
04c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 76 6f 6c 63 74 6c 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ------------.volctl.------------ |
04e0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 0a 0a 73 74 61 74 69 63 20 74 5f 63 | -----------------.*/..static.t_c |
0500 | 6c 61 73 73 20 2a 76 6f 6c 63 74 6c 5f 63 6c 61 73 73 3b 0a 0a 74 79 70 65 64 65 66 20 73 74 72 | lass.*volctl_class;..typedef.str |
0520 | 75 63 74 20 5f 76 6f 6c 63 74 6c 0a 7b 0a 20 20 20 20 74 5f 6f 62 6a 65 63 74 20 78 5f 6f 62 6a | uct._volctl.{.....t_object.x_obj |
0540 | 3b 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 78 5f 66 3b 0a 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 | ;.....t_float.x_f;......t_float. |
0560 | 78 5f 68 3b 20 2f 2f 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 20 74 69 6d 65 0a 20 20 20 20 74 5f | x_h;.//interpolation.time.....t_ |
0580 | 66 6c 6f 61 74 20 78 5f 76 61 6c 75 65 3b 20 2f 2f 63 75 72 72 65 6e 74 20 66 61 63 74 6f 72 0a | float.x_value;.//current.factor. |
05a0 | 20 20 20 20 74 5f 66 6c 6f 61 74 20 78 5f 74 61 72 67 65 74 3b 20 2f 2f 74 61 72 67 65 74 20 66 | ....t_float.x_target;.//target.f |
05c0 | 61 63 74 6f 72 0a 20 20 20 20 0a 20 20 20 20 69 6e 74 20 78 5f 74 69 63 6b 73 6c 65 66 74 3b 20 | actor..........int.x_ticksleft;. |
05e0 | 2f 2f 64 73 70 20 74 69 63 6b 73 20 74 6f 20 67 6f 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 78 5f | //dsp.ticks.to.go.....t_float.x_ |
0600 | 73 61 6d 70 6c 65 73 5f 70 65 72 5f 6d 73 3b 20 2f 2f 6d 73 20 70 65 72 20 73 61 6d 70 6c 65 0a | samples_per_ms;.//ms.per.sample. |
0620 | 20 20 20 20 74 5f 66 6c 6f 61 74 20 78 5f 73 6c 6f 70 65 3b 20 2f 2f 73 6c 6f 70 65 0a 09 74 5f | ....t_float.x_slope;.//slope..t_ |
0640 | 66 6c 6f 61 74 20 2a 20 78 5f 73 6c 6f 70 65 73 3b 20 2f 2f 73 6c 6f 70 65 73 20 66 6f 72 20 73 | float.*.x_slopes;.//slopes.for.s |
0660 | 69 6d 64 0a 09 74 5f 66 6c 6f 61 74 20 78 5f 73 6c 6f 70 65 5f 73 74 65 70 3b 0a 20 20 20 20 69 | imd..t_float.x_slope_step;.....i |
0680 | 6e 74 20 78 5f 6c 69 6e 65 3b 20 0a 09 69 6e 74 20 78 5f 62 6c 6f 63 6b 73 69 7a 65 3b 0a 09 74 | nt.x_line;...int.x_blocksize;..t |
06a0 | 5f 66 6c 6f 61 74 20 78 5f 31 6f 76 65 72 62 6c 6f 63 6b 73 69 7a 65 3b 0a 7d 20 74 5f 76 6f 6c | _float.x_1overblocksize;.}.t_vol |
06c0 | 63 74 6c 3b 0a 0a 76 6f 69 64 20 2a 76 6f 6c 63 74 6c 5f 6e 65 77 28 74 5f 73 79 6d 62 6f 6c 20 | ctl;..void.*volctl_new(t_symbol. |
06e0 | 2a 73 2c 20 69 6e 74 20 61 72 67 63 2c 20 74 5f 61 74 6f 6d 20 2a 61 72 67 76 29 0a 7b 0a 20 20 | *s,.int.argc,.t_atom.*argv).{... |
0700 | 20 20 69 66 20 28 61 72 67 63 20 3e 20 33 29 20 70 6f 73 74 28 22 76 6f 6c 63 74 6c 7e 3a 20 65 | ..if.(argc.>.3).post("volctl~:.e |
0720 | 78 74 72 61 20 61 72 67 75 6d 65 6e 74 73 20 69 67 6e 6f 72 65 64 22 29 3b 0a 0a 20 20 20 20 74 | xtra.arguments.ignored");......t |
0740 | 5f 76 6f 6c 63 74 6c 20 2a 78 20 3d 20 28 74 5f 76 6f 6c 63 74 6c 20 2a 29 70 64 5f 6e 65 77 28 | _volctl.*x.=.(t_volctl.*)pd_new( |
0760 | 76 6f 6c 63 74 6c 5f 63 6c 61 73 73 29 3b 0a 20 20 20 20 69 6e 6c 65 74 5f 6e 65 77 28 26 78 2d | volctl_class);.....inlet_new(&x- |
0780 | 3e 78 5f 6f 62 6a 2c 20 26 78 2d 3e 78 5f 6f 62 6a 2e 6f 62 5f 70 64 2c 20 26 73 5f 66 6c 6f 61 | >x_obj,.&x->x_obj.ob_pd,.&s_floa |
07a0 | 74 2c 20 67 65 6e 73 79 6d 28 22 66 31 22 29 29 3b 0a 20 20 20 20 69 6e 6c 65 74 5f 73 65 74 74 | t,.gensym("f1"));.....inlet_sett |
07c0 | 69 70 28 78 2d 3e 78 5f 6f 62 6a 2e 6f 62 5f 69 6e 6c 65 74 2c 67 65 6e 73 79 6d 28 22 66 61 63 | ip(x->x_obj.ob_inlet,gensym("fac |
07e0 | 74 6f 72 22 29 29 3b 0a 20 20 20 20 78 2d 3e 78 5f 76 61 6c 75 65 20 3d 20 61 74 6f 6d 5f 67 65 | tor"));.....x->x_value.=.atom_ge |
0800 | 74 66 6c 6f 61 74 61 72 67 28 30 2c 20 61 72 67 63 2c 20 61 72 67 76 29 3b 0a 20 20 20 20 0a 20 | tfloatarg(0,.argc,.argv);....... |
0820 | 20 20 20 74 5f 69 6e 6c 65 74 20 2a 20 74 69 6d 65 20 3d 20 66 6c 6f 61 74 69 6e 6c 65 74 5f 6e | ...t_inlet.*.time.=.floatinlet_n |
0840 | 65 77 28 26 78 2d 3e 78 5f 6f 62 6a 2c 20 26 78 2d 3e 78 5f 68 29 3b 0a 20 20 20 20 69 6e 6c 65 | ew(&x->x_obj,.&x->x_h);.....inle |
0860 | 74 5f 73 65 74 74 69 70 28 74 69 6d 65 2c 67 65 6e 73 79 6d 28 22 69 6e 74 65 72 70 6f 6c 61 74 | t_settip(time,gensym("interpolat |
0880 | 69 6f 6e 5f 74 69 6d 65 22 29 29 3b 0a 20 20 20 20 78 2d 3e 78 5f 68 20 3d 20 61 74 6f 6d 5f 67 | ion_time"));.....x->x_h.=.atom_g |
08a0 | 65 74 66 6c 6f 61 74 61 72 67 28 31 2c 20 61 72 67 63 2c 20 61 72 67 76 29 3b 0a 0a 20 20 20 20 | etfloatarg(1,.argc,.argv);...... |
08c0 | 78 2d 3e 78 5f 73 61 6d 70 6c 65 73 5f 70 65 72 5f 6d 73 20 3d 20 34 34 31 30 30 2e 66 20 2f 20 | x->x_samples_per_ms.=.44100.f./. |
08e0 | 31 30 30 30 2e 66 3b 20 2f 2f 20 61 73 73 75 6d 65 20 64 65 66 61 75 6c 74 20 73 61 6d 70 6c 65 | 1000.f;.//.assume.default.sample |
0900 | 72 61 74 65 0a 09 78 2d 3e 78 5f 62 6c 6f 63 6b 73 69 7a 65 20 3d 20 36 34 3b 0a 09 78 2d 3e 78 | rate..x->x_blocksize.=.64;..x->x |
0920 | 5f 31 6f 76 65 72 62 6c 6f 63 6b 73 69 7a 65 20 3d 20 31 2e 66 2f 36 34 2e 66 3b 0a 0a 20 20 20 | _1overblocksize.=.1.f/64.f;..... |
0940 | 20 6f 75 74 6c 65 74 5f 6e 65 77 28 26 78 2d 3e 78 5f 6f 62 6a 2c 20 26 73 5f 73 69 67 6e 61 6c | .outlet_new(&x->x_obj,.&s_signal |
0960 | 29 3b 0a 20 20 20 20 78 2d 3e 78 5f 66 20 3d 20 30 3b 0a 09 0a 09 78 2d 3e 78 5f 73 6c 6f 70 65 | );.....x->x_f.=.0;....x->x_slope |
0980 | 73 20 3d 20 67 65 74 61 6c 69 67 6e 65 64 62 79 74 65 73 28 34 2a 73 69 7a 65 6f 66 28 74 5f 66 | s.=.getalignedbytes(4*sizeof(t_f |
09a0 | 6c 6f 61 74 29 29 3b 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 28 78 29 3b 0a 7d 0a 0a 73 74 61 74 | loat));......return.(x);.}..stat |
09c0 | 69 63 20 76 6f 69 64 20 76 6f 6c 63 74 6c 5f 66 72 65 65 28 74 5f 76 6f 6c 63 74 6c 20 2a 78 29 | ic.void.volctl_free(t_volctl.*x) |
09e0 | 0a 7b 0a 09 66 72 65 65 61 6c 69 67 6e 65 64 62 79 74 65 73 28 78 2d 3e 78 5f 73 6c 6f 70 65 73 | .{..freealignedbytes(x->x_slopes |
0a00 | 2c 20 34 2a 73 69 7a 65 6f 66 28 74 5f 66 6c 6f 61 74 29 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 | ,.4*sizeof(t_float));.}..static. |
0a20 | 74 5f 69 6e 74 20 2a 76 6f 6c 63 74 6c 5f 70 65 72 66 6f 72 6d 28 74 5f 69 6e 74 20 2a 77 29 0a | t_int.*volctl_perform(t_int.*w). |
0a40 | 7b 0a 20 20 20 20 74 5f 76 6f 6c 63 74 6c 20 2a 20 78 20 3d 20 28 74 5f 76 6f 6c 63 74 6c 20 2a | {.....t_volctl.*.x.=.(t_volctl.* |
0a60 | 29 28 77 5b 31 5d 29 3b 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 2a 69 6e 20 3d 20 28 74 5f 66 6c | )(w[1]);.....t_float.*in.=.(t_fl |
0a80 | 6f 61 74 20 2a 29 28 77 5b 32 5d 29 3b 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 2a 6f 75 74 20 3d | oat.*)(w[2]);.....t_float.*out.= |
0aa0 | 20 28 74 5f 66 6c 6f 61 74 20 2a 29 28 77 5b 33 5d 29 3b 0a 20 20 20 20 69 6e 74 20 6e 20 3d 20 | .(t_float.*)(w[3]);.....int.n.=. |
0ac0 | 28 69 6e 74 29 28 77 5b 34 5d 29 3b 0a 20 20 20 20 0a 0a 20 20 20 20 69 66 20 28 78 2d 3e 78 5f | (int)(w[4]);...........if.(x->x_ |
0ae0 | 74 69 63 6b 73 6c 65 66 74 29 0a 20 20 20 20 7b 0a 09 09 74 5f 66 6c 6f 61 74 20 66 20 3d 20 78 | ticksleft).....{...t_float.f.=.x |
0b00 | 2d 3e 78 5f 76 61 6c 75 65 3b 0a 09 09 74 5f 66 6c 6f 61 74 20 78 5f 73 6c 6f 70 65 20 3d 20 78 | ->x_value;...t_float.x_slope.=.x |
0b20 | 2d 3e 78 5f 73 6c 6f 70 65 3b 0a 09 09 0a 09 09 78 2d 3e 78 5f 74 69 63 6b 73 6c 65 66 74 2d 2d | ->x_slope;......x->x_ticksleft-- |
0b40 | 3b 0a 09 09 77 68 69 6c 65 20 28 6e 2d 2d 29 0a 09 09 7b 0a 09 09 09 66 2b 3d 78 5f 73 6c 6f 70 | ;...while.(n--)...{....f+=x_slop |
0b60 | 65 3b 0a 09 09 09 2a 6f 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b 20 2a 20 66 3b 0a 09 09 7d 0a 09 09 | e;....*out++.=.*in++.*.f;...}... |
0b80 | 78 2d 3e 78 5f 76 61 6c 75 65 20 3d 20 66 3b 0a 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 09 | x->x_value.=.f;.....}.....else.. |
0ba0 | 7b 0a 09 09 74 5f 66 6c 6f 61 74 20 66 20 3d 20 78 2d 3e 78 5f 74 61 72 67 65 74 3b 0a 09 09 77 | {...t_float.f.=.x->x_target;...w |
0bc0 | 68 69 6c 65 20 28 6e 2d 2d 29 20 2a 6f 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b 20 2a 20 66 3b 20 0a | hile.(n--).*out++.=.*in++.*.f;.. |
0be0 | 09 7d 0a 09 0a 20 20 20 20 72 65 74 75 72 6e 20 28 77 2b 35 29 3b 0a 7d 0a 20 20 20 20 0a 0a 73 | .}.......return.(w+5);.}.......s |
0c00 | 74 61 74 69 63 20 74 5f 69 6e 74 20 2a 76 6f 6c 63 74 6c 5f 70 65 72 66 38 28 74 5f 69 6e 74 20 | tatic.t_int.*volctl_perf8(t_int. |
0c20 | 2a 77 29 0a 7b 0a 20 20 20 20 74 5f 76 6f 6c 63 74 6c 20 2a 20 78 20 3d 20 28 74 5f 76 6f 6c 63 | *w).{.....t_volctl.*.x.=.(t_volc |
0c40 | 74 6c 20 2a 29 28 77 5b 31 5d 29 3b 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 2a 69 6e 20 3d 20 28 | tl.*)(w[1]);.....t_float.*in.=.( |
0c60 | 74 5f 66 6c 6f 61 74 20 2a 29 28 77 5b 32 5d 29 3b 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 2a 6f | t_float.*)(w[2]);.....t_float.*o |
0c80 | 75 74 20 3d 20 28 74 5f 66 6c 6f 61 74 20 2a 29 28 77 5b 33 5d 29 3b 0a 20 20 20 20 69 6e 74 20 | ut.=.(t_float.*)(w[3]);.....int. |
0ca0 | 6e 20 3d 20 28 69 6e 74 29 28 77 5b 34 5d 29 3b 0a 0a 20 20 20 20 69 66 20 28 78 2d 3e 78 5f 74 | n.=.(int)(w[4]);......if.(x->x_t |
0cc0 | 69 63 6b 73 6c 65 66 74 29 0a 20 20 20 20 7b 0a 09 09 74 5f 66 6c 6f 61 74 20 66 20 3d 20 78 2d | icksleft).....{...t_float.f.=.x- |
0ce0 | 3e 78 5f 76 61 6c 75 65 3b 0a 0a 09 09 74 5f 66 6c 6f 61 74 20 78 5f 73 6c 6f 70 65 20 3d 20 78 | >x_value;....t_float.x_slope.=.x |
0d00 | 2d 3e 78 5f 73 6c 6f 70 65 3b 0a 09 09 78 2d 3e 78 5f 74 69 63 6b 73 6c 65 66 74 2d 2d 3b 0a 09 | ->x_slope;...x->x_ticksleft--;.. |
0d20 | 09 6e 20 3d 20 6e 3e 3e 33 3b 0a 09 09 77 68 69 6c 65 20 28 6e 2d 2d 29 0a 09 09 7b 0a 09 09 09 | .n.=.n>>3;...while.(n--)...{.... |
0d40 | 2a 6f 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b 20 2a 20 66 3b 0a 09 09 09 66 2b 3d 78 5f 73 6c 6f 70 | *out++.=.*in++.*.f;....f+=x_slop |
0d60 | 65 3b 0a 09 09 09 2a 6f 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b 20 2a 20 66 3b 0a 09 09 09 66 2b 3d | e;....*out++.=.*in++.*.f;....f+= |
0d80 | 78 5f 73 6c 6f 70 65 3b 0a 09 09 09 2a 6f 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b 20 2a 20 66 3b 0a | x_slope;....*out++.=.*in++.*.f;. |
0da0 | 09 09 09 66 2b 3d 78 5f 73 6c 6f 70 65 3b 0a 09 09 09 2a 6f 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b | ...f+=x_slope;....*out++.=.*in++ |
0dc0 | 20 2a 20 66 3b 0a 09 09 09 66 2b 3d 78 5f 73 6c 6f 70 65 3b 0a 09 09 09 2a 6f 75 74 2b 2b 20 3d | .*.f;....f+=x_slope;....*out++.= |
0de0 | 20 2a 69 6e 2b 2b 20 2a 20 66 3b 0a 09 09 09 66 2b 3d 78 5f 73 6c 6f 70 65 3b 0a 09 09 09 2a 6f | .*in++.*.f;....f+=x_slope;....*o |
0e00 | 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b 20 2a 20 66 3b 0a 09 09 09 66 2b 3d 78 5f 73 6c 6f 70 65 3b | ut++.=.*in++.*.f;....f+=x_slope; |
0e20 | 0a 09 09 09 2a 6f 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b 20 2a 20 66 3b 0a 09 09 09 66 2b 3d 78 5f | ....*out++.=.*in++.*.f;....f+=x_ |
0e40 | 73 6c 6f 70 65 3b 0a 09 09 09 2a 6f 75 74 2b 2b 20 3d 20 2a 69 6e 2b 2b 20 2a 20 66 3b 0a 09 09 | slope;....*out++.=.*in++.*.f;... |
0e60 | 09 66 2b 3d 78 5f 73 6c 6f 70 65 3b 0a 09 09 7d 0a 09 09 78 2d 3e 78 5f 76 61 6c 75 65 20 3d 20 | .f+=x_slope;...}...x->x_value.=. |
0e80 | 66 3b 0a 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 7b 0a 09 09 74 5f 66 6c 6f 61 | f;.....}.....else.....{...t_floa |
0ea0 | 74 20 66 20 3d 20 78 2d 3e 78 5f 74 61 72 67 65 74 3b 0a 0a 09 09 69 66 20 28 66 29 0a 09 09 09 | t.f.=.x->x_target;....if.(f).... |
0ec0 | 66 6f 72 20 28 3b 20 6e 3b 20 6e 20 2d 3d 20 38 2c 20 69 6e 20 2b 3d 20 38 2c 20 6f 75 74 20 2b | for.(;.n;.n.-=.8,.in.+=.8,.out.+ |
0ee0 | 3d 20 38 29 0a 09 09 09 7b 0a 09 09 09 09 74 5f 66 6c 6f 61 74 20 66 30 20 3d 20 69 6e 5b 30 5d | =.8)....{.....t_float.f0.=.in[0] |
0f00 | 2c 20 66 31 20 3d 20 69 6e 5b 31 5d 2c 20 66 32 20 3d 20 69 6e 5b 32 5d 2c 20 66 33 20 3d 20 69 | ,.f1.=.in[1],.f2.=.in[2],.f3.=.i |
0f20 | 6e 5b 33 5d 3b 0a 09 09 09 09 74 5f 66 6c 6f 61 74 20 66 34 20 3d 20 69 6e 5b 34 5d 2c 20 66 35 | n[3];.....t_float.f4.=.in[4],.f5 |
0f40 | 20 3d 20 69 6e 5b 35 5d 2c 20 66 36 20 3d 20 69 6e 5b 36 5d 2c 20 66 37 20 3d 20 69 6e 5b 37 5d | .=.in[5],.f6.=.in[6],.f7.=.in[7] |
0f60 | 3b 0a 09 09 09 09 0a 09 09 09 09 6f 75 74 5b 30 5d 20 3d 20 66 30 20 2a 20 66 3b 20 6f 75 74 5b | ;..........out[0].=.f0.*.f;.out[ |
0f80 | 31 5d 20 3d 20 66 31 20 2a 20 66 3b 20 6f 75 74 5b 32 5d 20 3d 20 66 32 20 2a 20 66 3b 20 6f 75 | 1].=.f1.*.f;.out[2].=.f2.*.f;.ou |
0fa0 | 74 5b 33 5d 20 3d 20 66 33 20 2a 20 66 3b 0a 09 09 09 09 6f 75 74 5b 34 5d 20 3d 20 66 34 20 2a | t[3].=.f3.*.f;.....out[4].=.f4.* |
0fc0 | 20 66 3b 20 6f 75 74 5b 35 5d 20 3d 20 66 35 20 2a 20 66 3b 20 6f 75 74 5b 36 5d 20 3d 20 66 36 | .f;.out[5].=.f5.*.f;.out[6].=.f6 |
0fe0 | 20 2a 20 66 3b 20 6f 75 74 5b 37 5d 20 3d 20 66 37 20 2a 20 66 3b 0a 09 09 09 7d 0a 09 09 65 6c | .*.f;.out[7].=.f7.*.f;....}...el |
1000 | 73 65 0a 09 09 09 66 6f 72 20 28 3b 20 6e 3b 20 6e 20 2d 3d 20 38 2c 20 69 6e 20 2b 3d 20 38 2c | se....for.(;.n;.n.-=.8,.in.+=.8, |
1020 | 20 6f 75 74 20 2b 3d 20 38 29 0a 09 09 09 7b 0a 09 09 09 09 6f 75 74 5b 30 5d 20 3d 20 30 3b 20 | .out.+=.8)....{.....out[0].=.0;. |
1040 | 6f 75 74 5b 31 5d 20 3d 20 30 3b 20 6f 75 74 5b 32 5d 20 3d 20 30 3b 20 6f 75 74 5b 33 5d 20 3d | out[1].=.0;.out[2].=.0;.out[3].= |
1060 | 20 30 3b 0a 09 09 09 09 6f 75 74 5b 34 5d 20 3d 20 30 3b 20 6f 75 74 5b 35 5d 20 3d 20 30 3b 20 | .0;.....out[4].=.0;.out[5].=.0;. |
1080 | 6f 75 74 5b 36 5d 20 3d 20 30 3b 20 6f 75 74 5b 37 5d 20 3d 20 30 3b 0a 09 09 09 7d 0a 0a 20 20 | out[6].=.0;.out[7].=.0;....}.... |
10a0 | 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 28 77 2b 35 29 3b 0a 7d 0a 0a 0a 73 74 61 74 69 63 | ..}.....return.(w+5);.}...static |
10c0 | 20 74 5f 69 6e 74 20 2a 76 6f 6c 63 74 6c 5f 70 65 72 66 5f 73 69 6d 64 28 74 5f 69 6e 74 20 2a | .t_int.*volctl_perf_simd(t_int.* |
10e0 | 77 29 0a 7b 0a 20 20 20 20 74 5f 76 6f 6c 63 74 6c 20 2a 20 78 20 3d 20 28 74 5f 76 6f 6c 63 74 | w).{.....t_volctl.*.x.=.(t_volct |
1100 | 6c 20 2a 29 28 77 5b 31 5d 29 3b 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 2a 69 6e 20 3d 20 28 74 | l.*)(w[1]);.....t_float.*in.=.(t |
1120 | 5f 66 6c 6f 61 74 20 2a 29 28 77 5b 32 5d 29 3b 0a 20 20 20 20 74 5f 66 6c 6f 61 74 20 2a 6f 75 | _float.*)(w[2]);.....t_float.*ou |
1140 | 74 20 3d 20 28 74 5f 66 6c 6f 61 74 20 2a 29 28 77 5b 33 5d 29 3b 0a 0a 20 20 20 20 69 66 20 28 | t.=.(t_float.*)(w[3]);......if.( |
1160 | 78 2d 3e 78 5f 74 69 63 6b 73 6c 65 66 74 29 0a 20 20 20 20 7b 00 0a 09 09 69 6e 74 20 6e 20 3d | x->x_ticksleft).....{....int.n.= |
1180 | 20 28 69 6e 74 29 28 77 5b 34 5d 29 3b 0a 09 0a 09 09 78 2d 3e 78 5f 74 69 63 6b 73 6c 65 66 74 | .(int)(w[4]);.....x->x_ticksleft |
11a0 | 2d 2d 3b 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 47 4e 55 43 5f 5f 29 20 26 26 20 28 64 | --;..#if.defined(__GNUC__).&&.(d |
11c0 | 65 66 69 6e 65 64 28 5f 58 38 36 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 69 33 38 36 5f | efined(_X86_).||.defined(__i386_ |
11e0 | 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 69 35 38 36 5f 5f 29 20 7c 7c 20 64 65 66 69 6e | _).||.defined(__i586__).||.defin |
1200 | 65 64 28 5f 5f 69 36 38 36 5f 5f 29 20 29 0a 09 09 61 73 6d 28 0a 09 09 09 22 2e 73 65 74 20 54 | ed(__i686__).)...asm(....".set.T |
1220 | 5f 46 4c 4f 41 54 2c 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _FLOAT,4........................ |
1240 | 20 20 5c 6e 22 0a 09 09 09 22 6d 6f 76 73 73 20 20 20 20 20 28 25 33 29 2c 25 25 78 6d 6d 30 20 | ..\n"...."movss.....(%3),%%xmm0. |
1260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 20 2f 2a 20 76 61 6c 75 65 20 2a | ..................\n"./*.value.* |
1280 | 2f 0a 09 09 09 22 73 68 75 66 70 73 20 20 20 20 24 30 2c 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d | /...."shufps....$0,.%%xmm0,.%%xm |
12a0 | 6d 30 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 | m0............\n"...."movaps.... |
12c0 | 28 25 34 29 2c 20 25 25 78 6d 6d 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e | (%4),.%%xmm1..................\n |
12e0 | 22 20 2f 2a 20 78 5f 73 6c 6f 70 65 73 20 2a 2f 0a 09 09 09 22 61 64 64 70 73 20 20 20 20 20 25 | "./*.x_slopes.*/...."addps.....% |
1300 | 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 | %xmm0,.%%xmm1................\n" |
1320 | 0a 09 09 09 0a 09 09 09 22 6d 6f 76 73 73 20 20 20 20 20 28 25 35 29 2c 20 25 25 78 6d 6d 30 20 | ........"movss.....(%5),.%%xmm0. |
1340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 73 68 75 66 70 73 20 | .................\n"...."shufps. |
1360 | 20 20 20 24 30 2c 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 30 20 20 20 20 20 20 20 20 20 20 20 | ...$0,.%%xmm0,.%%xmm0........... |
1380 | 20 5c 6e 22 20 2f 2a 20 78 5f 73 6c 6f 70 65 5f 73 74 65 70 20 2a 2f 0a 09 09 09 0a 09 09 09 22 | .\n"./*.x_slope_step.*/........" |
13a0 | 73 68 72 6c 20 20 20 20 20 20 24 34 2c 20 25 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | shrl......$4,.%2................ |
13c0 | 20 20 20 20 20 20 20 20 5c 6e 22 20 2f 2a 20 6e 3e 3e 34 20 2a 2f 0a 09 09 09 0a 09 09 09 22 31 | ........\n"./*.n>>4.*/........"1 |
13e0 | 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :............................... |
1400 | 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 28 25 30 29 2c 20 25 | .......\n"...."movaps....(%0),.% |
1420 | 25 78 6d 6d 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 6d | %xmm2..................\n"...."m |
1440 | 75 6c 70 73 20 20 20 20 20 25 25 78 6d 6d 31 2c 20 25 25 78 6d 6d 32 20 20 20 20 20 20 20 20 20 | ulps.....%%xmm1,.%%xmm2......... |
1460 | 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 25 78 6d 6d 32 2c | .......\n"...."movaps....%%xmm2, |
1480 | 20 28 25 31 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 61 | .(%1)..................\n"...."a |
14a0 | 64 64 70 73 20 20 20 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 31 20 20 20 20 20 20 20 20 20 | ddps.....%%xmm0,.%%xmm1......... |
14c0 | 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 0a 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 34 2a 54 | .......\n"........"movaps....4*T |
14e0 | 5f 46 4c 4f 41 54 28 25 30 29 2c 20 25 25 78 6d 6d 32 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 | _FLOAT(%0),.%%xmm2.........\n".. |
1500 | 09 09 22 6d 75 6c 70 73 20 20 20 20 20 25 25 78 6d 6d 31 2c 20 25 25 78 6d 6d 32 20 20 20 20 20 | .."mulps.....%%xmm1,.%%xmm2..... |
1520 | 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 25 78 | ...........\n"...."movaps....%%x |
1540 | 6d 6d 32 2c 20 34 2a 54 5f 46 4c 4f 41 54 28 25 31 29 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 | mm2,.4*T_FLOAT(%1).........\n".. |
1560 | 09 09 22 61 64 64 70 73 20 20 20 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 31 20 20 20 20 20 | .."addps.....%%xmm0,.%%xmm1..... |
1580 | 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 0a 09 09 09 22 6d 6f 76 61 70 73 20 20 20 | ...........\n"........"movaps... |
15a0 | 20 38 2a 54 5f 46 4c 4f 41 54 28 25 30 29 2c 20 25 25 78 6d 6d 32 20 20 20 20 20 20 20 20 20 5c | .8*T_FLOAT(%0),.%%xmm2.........\ |
15c0 | 6e 22 0a 09 09 09 22 6d 75 6c 70 73 20 20 20 20 20 25 25 78 6d 6d 31 2c 20 25 25 78 6d 6d 32 20 | n"...."mulps.....%%xmm1,.%%xmm2. |
15e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 6d 6f 76 61 70 73 20 20 20 | ...............\n"...."movaps... |
1600 | 20 25 25 78 6d 6d 32 2c 20 38 2a 54 5f 46 4c 4f 41 54 28 25 31 29 20 20 20 20 20 20 20 20 20 5c | .%%xmm2,.8*T_FLOAT(%1).........\ |
1620 | 6e 22 0a 09 09 09 22 61 64 64 70 73 20 20 20 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 31 20 | n"...."addps.....%%xmm0,.%%xmm1. |
1640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 0a 09 09 09 22 6d 6f 76 61 70 | ...............\n"........"movap |
1660 | 73 20 20 20 20 31 32 2a 54 5f 46 4c 4f 41 54 28 25 30 29 2c 20 25 25 78 6d 6d 32 20 20 20 20 20 | s....12*T_FLOAT(%0),.%%xmm2..... |
1680 | 20 20 20 5c 6e 22 0a 09 09 09 22 6d 75 6c 70 73 20 20 20 20 20 25 25 78 6d 6d 31 2c 20 25 25 78 | ...\n"...."mulps.....%%xmm1,.%%x |
16a0 | 6d 6d 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 6d 6f 76 61 70 | mm2................\n"...."movap |
16c0 | 73 20 20 20 20 25 25 78 6d 6d 32 2c 20 31 32 2a 54 5f 46 4c 4f 41 54 28 25 31 29 20 20 20 20 20 | s....%%xmm2,.12*T_FLOAT(%1)..... |
16e0 | 20 20 20 5c 6e 22 0a 09 09 09 22 61 64 64 70 73 20 20 20 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 | ...\n"...."addps.....%%xmm0,.%%x |
1700 | 6d 6d 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 20 2f 2a 20 6f 6e 65 20 69 6e | mm1................\n"./*.one.in |
1720 | 73 74 72 2e 20 6f 62 73 6f 6c 65 74 65 20 2a 2f 0a 09 09 09 0a 09 09 09 22 61 64 64 6c 20 20 20 | str..obsolete.*/........"addl... |
1740 | 20 20 20 24 31 36 2a 54 5f 46 4c 4f 41 54 2c 20 25 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...$16*T_FLOAT,.%0.............. |
1760 | 20 5c 6e 22 0a 09 09 09 22 61 64 64 6c 20 20 20 20 20 20 24 31 36 2a 54 5f 46 4c 4f 41 54 2c 20 | .\n"...."addl......$16*T_FLOAT,. |
1780 | 25 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 22 6c 6f 6f 70 20 20 20 | %1...............\n"...."loop... |
17a0 | 20 20 20 31 62 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...1b........................... |
17c0 | 20 5c 6e 22 0a 09 09 09 0a 09 09 09 3a 0a 09 09 09 3a 22 72 22 28 69 6e 29 2c 20 22 72 22 28 6f | .\n"........:....:"r"(in),."r"(o |
17e0 | 75 74 29 2c 20 22 63 22 28 6e 29 2c 20 22 72 22 28 26 28 74 5f 66 6c 6f 61 74 29 28 78 2d 3e 78 | ut),."c"(n),."r"(&(t_float)(x->x |
1800 | 5f 76 61 6c 75 65 29 29 2c 0a 09 09 09 22 72 22 28 28 74 5f 66 6c 6f 61 74 2a 29 78 2d 3e 78 5f | _value)),...."r"((t_float*)x->x_ |
1820 | 73 6c 6f 70 65 73 29 2c 20 22 72 22 28 26 28 74 5f 66 6c 6f 61 74 29 28 78 2d 3e 78 5f 73 6c 6f | slopes),."r"(&(t_float)(x->x_slo |
1840 | 70 65 5f 73 74 65 70 29 29 0a 09 09 09 3a 22 25 78 6d 6d 30 22 2c 20 22 25 78 6d 6d 31 22 2c 20 | pe_step))....:"%xmm0",."%xmm1",. |
1860 | 22 25 78 6d 6d 32 22 29 3b 0a 09 09 0a 09 09 78 2d 3e 78 5f 76 61 6c 75 65 20 2b 3d 20 6e 2a 28 | "%xmm2");......x->x_value.+=.n*( |
1880 | 78 2d 3e 78 5f 73 6c 6f 70 65 29 3b 0a 09 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 7b 0a 09 | x->x_slope);..}.....else.....{.. |
18a0 | 09 73 77 69 74 63 68 28 78 2d 3e 78 5f 74 61 72 67 65 74 29 0a 09 09 7b 0a 09 09 63 61 73 65 20 | .switch(x->x_target)...{...case. |
18c0 | 30 3a 0a 09 09 09 61 73 6d 28 0a 09 09 09 09 22 2e 73 65 74 20 54 5f 46 4c 4f 41 54 2c 34 20 20 | 0:....asm(.....".set.T_FLOAT,4.. |
18e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 0a | ........................\n"..... |
1900 | 09 09 09 09 22 78 6f 72 70 73 20 20 20 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 30 20 20 20 | ...."xorps.....%%xmm0,.%%xmm0... |
1920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 73 68 72 6c 20 20 20 20 20 20 | .............\n"....."shrl...... |
1940 | 24 34 2c 20 25 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e | $4,.%1........................\n |
1960 | 22 0a 09 09 09 0a 09 09 09 09 22 31 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "........."1:................... |
1980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 | ...................\n"....."mova |
19a0 | 70 73 20 20 20 20 25 25 78 6d 6d 30 2c 20 28 25 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ps....%%xmm0,.(%0).............. |
19c0 | 20 20 20 20 5c 6e 22 20 0a 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 25 78 6d 6d 30 2c 20 | ....\n"......"movaps....%%xmm0,. |
19e0 | 34 2a 54 5f 46 4c 4f 41 54 28 25 30 29 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d | 4*T_FLOAT(%0).........\n"....."m |
1a00 | 6f 76 61 70 73 20 20 20 20 25 25 78 6d 6d 30 2c 20 38 2a 54 5f 46 4c 4f 41 54 28 25 30 29 20 20 | ovaps....%%xmm0,.8*T_FLOAT(%0).. |
1a20 | 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 25 78 6d 6d 30 | .......\n"....."movaps....%%xmm0 |
1a40 | 2c 20 31 32 2a 54 5f 46 4c 4f 41 54 28 25 30 29 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 | ,.12*T_FLOAT(%0)........\n"..... |
1a60 | 22 61 64 64 6c 20 20 20 20 20 20 24 31 36 2a 54 5f 46 4c 4f 41 54 2c 20 25 30 20 20 20 20 20 20 | "addl......$16*T_FLOAT,.%0...... |
1a80 | 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6c 6f 6f 70 20 20 20 20 20 20 31 62 20 20 | .........\n"....."loop......1b.. |
1aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 | ..........................\n"... |
1ac0 | 09 09 3a 0a 09 09 09 09 3a 22 72 22 28 6f 75 74 29 2c 0a 09 09 09 09 22 63 22 28 77 5b 34 5d 29 | ..:.....:"r"(out),....."c"(w[4]) |
1ae0 | 0a 09 09 09 09 3a 20 22 25 78 6d 6d 30 22 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 0a 09 09 63 61 | .....:."%xmm0");....break;....ca |
1b00 | 73 65 20 31 3a 0a 09 09 09 69 66 20 28 69 6e 20 21 3d 20 6f 75 74 29 0a 09 09 09 09 61 73 6d 28 | se.1:....if.(in.!=.out).....asm( |
1b20 | 0a 09 09 09 09 09 22 2e 73 65 74 20 54 5f 46 4c 4f 41 54 2c 34 20 20 20 20 20 20 20 20 20 20 20 | ......".set.T_FLOAT,4........... |
1b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 0a 09 09 09 09 09 22 73 | .................\n".........."s |
1b60 | 68 72 6c 20 20 20 20 20 20 24 34 2c 20 25 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | hrl......$4,.%1................. |
1b80 | 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 0a 09 09 09 09 09 22 31 3a 20 20 20 20 20 20 20 20 20 20 | .........\n"......."1:.......... |
1ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e | ..............................\n |
1bc0 | 22 0a 09 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 28 25 31 29 2c 20 25 25 78 6d 6d 30 20 20 | "......"movaps....(%1),.%%xmm0.. |
1be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 09 22 6d 6f 76 61 | ..................\n"......"mova |
1c00 | 70 73 20 20 20 20 34 2a 54 5f 46 4c 4f 41 54 28 25 31 29 2c 20 25 25 78 6d 6d 31 20 20 20 20 20 | ps....4*T_FLOAT(%1),.%%xmm1..... |
1c20 | 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 38 2a 54 5f 46 4c | ......\n"......"movaps....8*T_FL |
1c40 | 4f 41 54 28 25 31 29 2c 20 25 25 78 6d 6d 32 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 | OAT(%1),.%%xmm2...........\n"... |
1c60 | 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 31 32 2a 54 5f 46 4c 4f 41 54 28 25 31 29 2c 20 25 25 | ..."movaps....12*T_FLOAT(%1),.%% |
1c80 | 78 6d 6d 33 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 09 22 6d 6f 76 61 70 73 20 20 | xmm3..........\n"......"movaps.. |
1ca0 | 20 20 25 25 78 6d 6d 30 2c 20 28 25 32 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..%%xmm0,.(%2).................. |
1cc0 | 20 20 5c 6e 22 0a 09 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 25 78 6d 6d 31 2c 20 34 2a | ..\n"......"movaps....%%xmm1,.4* |
1ce0 | 54 5f 46 4c 4f 41 54 28 25 32 29 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 09 22 | T_FLOAT(%2)...........\n"......" |
1d00 | 6d 6f 76 61 70 73 20 20 20 20 25 25 78 6d 6d 32 2c 20 38 2a 54 5f 46 4c 4f 41 54 28 25 32 29 20 | movaps....%%xmm2,.8*T_FLOAT(%2). |
1d20 | 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 25 | ..........\n"......"movaps....%% |
1d40 | 78 6d 6d 33 2c 20 31 32 2a 54 5f 46 4c 4f 41 54 28 25 32 29 20 20 20 20 20 20 20 20 20 20 5c 6e | xmm3,.12*T_FLOAT(%2)..........\n |
1d60 | 22 0a 09 09 09 09 0a 09 09 09 09 09 22 61 64 64 6c 20 20 20 20 20 20 24 31 36 2a 54 5f 46 4c 4f | "..........."addl......$16*T_FLO |
1d80 | 41 54 2c 25 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 09 | AT,%1..................\n"...... |
1da0 | 22 61 64 64 6c 20 20 20 20 20 20 24 31 36 2a 54 5f 46 4c 4f 41 54 2c 25 32 20 20 20 20 20 20 20 | "addl......$16*T_FLOAT,%2....... |
1dc0 | 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 09 22 6c 6f 6f 70 20 20 20 20 20 20 31 | ...........\n"......"loop......1 |
1de0 | 62 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c | b..............................\ |
1e00 | 6e 22 0a 09 09 09 09 09 3a 0a 09 09 09 09 09 3a 22 63 22 28 77 5b 34 5d 29 2c 22 72 22 28 69 6e | n"......:......:"c"(w[4]),"r"(in |
1e20 | 29 2c 22 72 22 28 6f 75 74 29 0a 09 09 09 09 09 3a 22 25 78 6d 6d 30 22 2c 22 25 78 6d 6d 31 22 | ),"r"(out)......:"%xmm0","%xmm1" |
1e40 | 2c 22 25 78 6d 6d 32 22 2c 22 25 78 6d 6d 33 22 29 3b 0a 09 09 09 62 72 65 61 6b 3b 0a 0a 09 09 | ,"%xmm2","%xmm3");....break;.... |
1e60 | 64 65 66 61 75 6c 74 3a 0a 09 09 09 61 73 6d 28 0a 09 09 09 09 22 2e 73 65 74 20 54 5f 46 4c 4f | default:....asm(.....".set.T_FLO |
1e80 | 41 54 2c 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e | AT,4..........................\n |
1ea0 | 22 0a 09 09 09 0a 09 09 09 09 22 6d 6f 76 73 73 20 20 20 20 20 28 25 33 29 2c 20 25 25 78 6d 6d | "........."movss.....(%3),.%%xmm |
1ec0 | 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 73 68 75 66 | 0..................\n"....."shuf |
1ee0 | 70 73 20 20 20 20 24 30 2c 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 30 20 20 20 20 20 20 20 20 | ps....$0,.%%xmm0,.%%xmm0........ |
1f00 | 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 73 68 72 6c 20 20 20 20 20 20 24 34 2c 20 25 32 20 20 20 | ....\n"....."shrl......$4,.%2... |
1f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 0a 09 09 09 | .....................\n"........ |
1f40 | 09 22 31 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."1:............................ |
1f60 | 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 28 25 30 | ..........\n"....."movaps....(%0 |
1f80 | 29 2c 20 25 25 78 6d 6d 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 | ),.%%xmm1..................\n".. |
1fa0 | 09 09 09 22 6d 75 6c 70 73 20 20 20 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 31 20 20 20 20 | ..."mulps.....%%xmm0,.%%xmm1.... |
1fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 | ............\n"....."movaps....% |
1fe0 | 25 78 6d 6d 31 2c 20 28 25 31 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 | %xmm1,.(%1)..................\n" |
2000 | 20 0a 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 34 2a 54 5f 46 4c 4f 41 54 28 25 30 29 2c 20 | ......"movaps....4*T_FLOAT(%0),. |
2020 | 25 25 78 6d 6d 32 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 75 6c 70 73 20 20 20 | %%xmm2.........\n"....."mulps... |
2040 | 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..%%xmm0,.%%xmm2................ |
2060 | 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 25 78 6d 6d 32 2c 20 34 2a 54 5f 46 | \n"....."movaps....%%xmm2,.4*T_F |
2080 | 4c 4f 41 54 28 25 31 29 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 70 73 | LOAT(%1).........\n"....."movaps |
20a0 | 20 20 20 20 38 2a 54 5f 46 4c 4f 41 54 28 25 30 29 2c 20 25 25 78 6d 6d 33 20 20 20 20 20 20 20 | ....8*T_FLOAT(%0),.%%xmm3....... |
20c0 | 20 20 5c 6e 22 0a 09 09 09 09 22 6d 75 6c 70 73 20 20 20 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 | ..\n"....."mulps.....%%xmm0,.%%x |
20e0 | 6d 6d 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 | mm3................\n"....."mova |
2100 | 70 73 20 20 20 20 25 25 78 6d 6d 33 2c 20 38 2a 54 5f 46 4c 4f 41 54 28 25 31 29 20 20 20 20 20 | ps....%%xmm3,.8*T_FLOAT(%1)..... |
2120 | 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 31 32 2a 54 5f 46 4c 4f 41 | ....\n"....."movaps....12*T_FLOA |
2140 | 54 28 25 30 29 2c 20 25 25 78 6d 6d 34 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 75 | T(%0),.%%xmm4........\n"....."mu |
2160 | 6c 70 73 20 20 20 20 20 25 25 78 6d 6d 30 2c 20 25 25 78 6d 6d 34 20 20 20 20 20 20 20 20 20 20 | lps.....%%xmm0,.%%xmm4.......... |
2180 | 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 6d 6f 76 61 70 73 20 20 20 20 25 25 78 6d 6d 34 2c | ......\n"....."movaps....%%xmm4, |
21a0 | 20 31 32 2a 54 5f 46 4c 4f 41 54 28 25 31 29 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 | .12*T_FLOAT(%1)........\n"....." |
21c0 | 61 64 64 6c 20 20 20 20 20 20 24 31 36 2a 54 5f 46 4c 4f 41 54 2c 20 25 30 20 20 20 20 20 20 20 | addl......$16*T_FLOAT,.%0....... |
21e0 | 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 22 61 64 64 6c 20 20 20 20 20 20 24 31 36 2a 54 | ........\n"....."addl......$16*T |
2200 | 5f 46 4c 4f 41 54 2c 20 25 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 | _FLOAT,.%1...............\n".... |
2220 | 09 22 6c 6f 6f 70 20 20 20 20 20 20 31 62 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."loop......1b.................. |
2240 | 20 20 20 20 20 20 20 20 20 20 5c 6e 22 0a 09 09 09 09 3a 0a 09 09 09 09 3a 20 22 72 22 28 69 6e | ..........\n".....:.....:."r"(in |
2260 | 29 2c 20 22 72 22 28 6f 75 74 29 2c 0a 09 09 09 09 22 63 22 28 77 5b 34 5d 29 2c 22 72 22 28 26 | ),."r"(out),....."c"(w[4]),"r"(& |
2280 | 28 74 5f 66 6c 6f 61 74 29 28 78 2d 3e 78 5f 74 61 72 67 65 74 29 29 0a 09 09 09 09 3a 20 22 25 | (t_float)(x->x_target)).....:."% |
22a0 | 78 6d 6d 30 22 2c 20 22 25 78 6d 6d 31 22 2c 22 25 78 6d 6d 32 22 2c 22 25 78 6d 6d 33 22 2c 22 | xmm0",."%xmm1","%xmm2","%xmm3"," |
22c0 | 25 78 6d 6d 34 22 29 3b 0a 09 09 7d 0a 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 28 77 | %xmm4");...}.....}.....return.(w |
22e0 | 2b 35 29 3b 0a 7d 0a 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 76 6f 6c 63 74 6c 5f 73 65 74 28 | +5);.}...static.void.volctl_set( |
2300 | 74 5f 76 6f 6c 63 74 6c 20 2a 78 2c 20 74 5f 66 6c 6f 61 74 20 66 29 0a 7b 0a 09 74 5f 66 6c 6f | t_volctl.*x,.t_float.f).{..t_flo |
2320 | 61 74 20 73 6c 6f 70 65 3b 0a 09 69 6e 74 20 69 3b 0a 09 69 6e 74 20 73 61 6d 70 6c 65 73 6c 65 | at.slope;..int.i;..int.samplesle |
2340 | 66 74 20 3d 20 78 2d 3e 78 5f 68 20 2a 20 78 2d 3e 78 5f 73 61 6d 70 6c 65 73 5f 70 65 72 5f 6d | ft.=.x->x_h.*.x->x_samples_per_m |
2360 | 73 3b 0a 09 73 61 6d 70 6c 65 73 6c 65 66 74 20 2b 3d 20 78 2d 3e 78 5f 62 6c 6f 63 6b 73 69 7a | s;..samplesleft.+=.x->x_blocksiz |
2380 | 65 20 2d 20 28 20 73 61 6d 70 6c 65 73 6c 65 66 74 20 26 20 28 78 2d 3e 78 5f 62 6c 6f 63 6b 73 | e.-.(.samplesleft.&.(x->x_blocks |
23a0 | 69 7a 65 20 2d 20 31 29 29 3b 0a 09 78 2d 3e 78 5f 74 69 63 6b 73 6c 65 66 74 20 3d 20 28 69 6e | ize.-.1));..x->x_ticksleft.=.(in |
23c0 | 74 29 20 28 74 5f 66 6c 6f 61 74 29 73 61 6d 70 6c 65 73 6c 65 66 74 20 2a 20 78 2d 3e 78 5f 31 | t).(t_float)samplesleft.*.x->x_1 |
23e0 | 6f 76 65 72 62 6c 6f 63 6b 73 69 7a 65 3b 0a 0a 20 20 20 20 73 6c 6f 70 65 20 3d 20 28 66 20 2d | overblocksize;......slope.=.(f.- |
2400 | 20 78 2d 3e 78 5f 76 61 6c 75 65 29 20 2f 20 73 61 6d 70 6c 65 73 6c 65 66 74 3b 0a 20 20 20 20 | .x->x_value)./.samplesleft;..... |
2420 | 78 2d 3e 78 5f 73 6c 6f 70 65 20 3d 20 73 6c 6f 70 65 3b 0a 09 0a 09 66 6f 72 20 28 69 20 3d 20 | x->x_slope.=.slope;....for.(i.=. |
2440 | 30 3b 20 69 20 21 3d 20 34 3b 20 2b 2b 69 29 0a 09 7b 0a 09 09 78 2d 3e 78 5f 73 6c 6f 70 65 73 | 0;.i.!=.4;.++i)..{...x->x_slopes |
2460 | 5b 69 5d 20 3d 20 69 2a 73 6c 6f 70 65 3b 0a 09 7d 0a 09 78 2d 3e 78 5f 73 6c 6f 70 65 5f 73 74 | [i].=.i*slope;..}..x->x_slope_st |
2480 | 65 70 20 3d 20 34 2a 73 6c 6f 70 65 3b 0a 0a 09 78 2d 3e 78 5f 74 61 72 67 65 74 20 3d 20 66 3b | ep.=.4*slope;...x->x_target.=.f; |
24a0 | 0a 7d 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 76 6f 6c 63 74 6c 5f 64 73 70 28 74 5f 76 6f 6c | .}..static.void.volctl_dsp(t_vol |
24c0 | 63 74 6c 20 2a 78 2c 20 74 5f 73 69 67 6e 61 6c 20 2a 2a 73 70 29 0a 7b 0a 20 20 20 20 63 6f 6e | ctl.*x,.t_signal.**sp).{.....con |
24e0 | 73 74 20 69 6e 74 20 6e 20 3d 20 73 70 5b 30 5d 2d 3e 73 5f 6e 3b 0a 20 20 20 20 69 66 20 28 6e | st.int.n.=.sp[0]->s_n;.....if.(n |
2500 | 26 37 29 0a 20 20 20 20 09 64 73 70 5f 61 64 64 28 76 6f 6c 63 74 6c 5f 70 65 72 66 6f 72 6d 2c | &7)......dsp_add(volctl_perform, |
2520 | 20 34 2c 20 78 2c 20 73 70 5b 30 5d 2d 3e 73 5f 76 65 63 2c 20 73 70 5b 31 5d 2d 3e 73 5f 76 65 | .4,.x,.sp[0]->s_vec,.sp[1]->s_ve |
2540 | 63 2c 20 6e 29 3b 0a 20 20 20 20 65 6c 73 65 20 0a 20 20 20 20 7b 0a 09 09 69 66 28 53 49 4d 44 | c,.n);.....else......{...if(SIMD |
2560 | 5f 43 48 45 43 4b 32 28 6e 2c 73 70 5b 30 5d 2d 3e 73 5f 76 65 63 2c 73 70 5b 31 5d 2d 3e 73 5f | _CHECK2(n,sp[0]->s_vec,sp[1]->s_ |
2580 | 76 65 63 29 29 0a 09 09 09 64 73 70 5f 61 64 64 28 76 6f 6c 63 74 6c 5f 70 65 72 66 5f 73 69 6d | vec))....dsp_add(volctl_perf_sim |
25a0 | 64 2c 20 34 2c 20 78 2c 20 73 70 5b 30 5d 2d 3e 73 5f 76 65 63 2c 20 73 70 5b 31 5d 2d 3e 73 5f | d,.4,.x,.sp[0]->s_vec,.sp[1]->s_ |
25c0 | 76 65 63 2c 20 6e 29 3b 0a 09 09 65 6c 73 65 0a 09 09 09 64 73 70 5f 61 64 64 28 76 6f 6c 63 74 | vec,.n);...else....dsp_add(volct |
25e0 | 6c 5f 70 65 72 66 38 2c 20 34 2c 20 78 2c 20 73 70 5b 30 5d 2d 3e 73 5f 76 65 63 2c 20 73 70 5b | l_perf8,.4,.x,.sp[0]->s_vec,.sp[ |
2600 | 31 5d 2d 3e 73 5f 76 65 63 2c 20 6e 29 3b 0a 20 20 20 20 7d 0a 0a 09 78 2d 3e 78 5f 62 6c 6f 63 | 1]->s_vec,.n);.....}...x->x_bloc |
2620 | 6b 73 69 7a 65 20 3d 20 6e 3b 0a 20 20 20 20 78 2d 3e 78 5f 31 6f 76 65 72 62 6c 6f 63 6b 73 69 | ksize.=.n;.....x->x_1overblocksi |
2640 | 7a 65 20 3d 20 31 2e 2f 6e 3b 0a 09 78 2d 3e 78 5f 73 61 6d 70 6c 65 73 5f 70 65 72 5f 6d 73 20 | ze.=.1./n;..x->x_samples_per_ms. |
2660 | 3d 20 73 70 5b 30 5d 2d 3e 73 5f 73 72 20 2f 20 31 30 30 30 2e 66 3b 0a 7d 0a 0a 76 6f 69 64 20 | =.sp[0]->s_sr./.1000.f;.}..void. |
2680 | 76 6f 6c 63 74 6c 5f 74 69 6c 64 65 5f 73 65 74 75 70 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 76 | volctl_tilde_setup(void).{.....v |
26a0 | 6f 6c 63 74 6c 5f 63 6c 61 73 73 20 3d 20 63 6c 61 73 73 5f 6e 65 77 28 67 65 6e 73 79 6d 28 22 | olctl_class.=.class_new(gensym(" |
26c0 | 76 6f 6c 63 74 6c 7e 22 29 2c 20 28 74 5f 6e 65 77 6d 65 74 68 6f 64 29 76 6f 6c 63 74 6c 5f 6e | volctl~"),.(t_newmethod)volctl_n |
26e0 | 65 77 2c 20 0a 09 09 09 09 09 09 09 20 28 74 5f 6d 65 74 68 6f 64 29 76 6f 6c 63 74 6c 5f 66 72 | ew,..........(t_method)volctl_fr |
2700 | 65 65 2c 20 73 69 7a 65 6f 66 28 74 5f 76 6f 6c 63 74 6c 29 2c 20 30 2c 20 41 5f 47 49 4d 4d 45 | ee,.sizeof(t_volctl),.0,.A_GIMME |
2720 | 2c 20 30 29 3b 0a 20 20 20 20 43 4c 41 53 53 5f 4d 41 49 4e 53 49 47 4e 41 4c 49 4e 28 76 6f 6c | ,.0);.....CLASS_MAINSIGNALIN(vol |
2740 | 63 74 6c 5f 63 6c 61 73 73 2c 20 74 5f 76 6f 6c 63 74 6c 2c 20 78 5f 66 29 3b 0a 20 20 20 20 63 | ctl_class,.t_volctl,.x_f);.....c |
2760 | 6c 61 73 73 5f 61 64 64 6d 65 74 68 6f 64 28 76 6f 6c 63 74 6c 5f 63 6c 61 73 73 2c 20 28 74 5f | lass_addmethod(volctl_class,.(t_ |
2780 | 6d 65 74 68 6f 64 29 76 6f 6c 63 74 6c 5f 64 73 70 2c 20 67 65 6e 73 79 6d 28 22 64 73 70 22 29 | method)volctl_dsp,.gensym("dsp") |
27a0 | 2c 20 30 29 3b 0a 20 20 20 20 63 6c 61 73 73 5f 61 64 64 6d 65 74 68 6f 64 28 76 6f 6c 63 74 6c | ,.0);.....class_addmethod(volctl |
27c0 | 5f 63 6c 61 73 73 2c 20 28 74 5f 6d 65 74 68 6f 64 29 76 6f 6c 63 74 6c 5f 73 65 74 2c 20 67 65 | _class,.(t_method)volctl_set,.ge |
27e0 | 6e 73 79 6d 28 22 66 31 22 29 2c 41 5f 46 4c 4f 41 54 2c 30 29 3b 0a 20 20 20 20 63 6c 61 73 73 | nsym("f1"),A_FLOAT,0);.....class |
2800 | 5f 73 65 74 74 69 70 28 76 6f 6c 63 74 6c 5f 63 6c 61 73 73 2c 67 65 6e 73 79 6d 28 22 73 69 67 | _settip(volctl_class,gensym("sig |
2820 | 6e 61 6c 22 29 29 3b 0a 7d 0a | nal"));.}. |