Imported Debian patch 0.25.1-1
Roland Stigge authored 11 years ago
Ross Gammon committed 8 years ago
0 | guitarix2 (0.25.1) unstable; urgency=low | |
1 | * some fixes for the LV2 plugs | |
2 | ||
3 | -- brummer <brummer-@web.de> Mon, 31 Dec 2012 8:23:37 +0200 | |
4 | ||
5 | guitarix2 (0.25.0) unstable; urgency=low | |
6 | * add LV2 amplifiers mono and stereo versions | |
7 | ||
8 | -- brummer <brummer-@web.de> Fri, 28 Dec 2012 15:30:35 +0200 | |
9 | ||
0 | 10 | guitarix2 (0.24.3) unstable; urgency=low |
1 | 11 | * add dark theme rc-file |
2 | 12 | * fix new unsaved banks return no valid iter |
0 | guitarix (0.25.1-1) experimental; urgency=low | |
1 | ||
2 | * New upstream release | |
3 | ||
4 | -- Roland Stigge <stigge@antcom.de> Sun, 06 Jan 2013 14:36:36 +0100 | |
5 | ||
0 | 6 | guitarix (0.24.3-1) experimental; urgency=low |
1 | 7 | |
2 | 8 | * New upstream release |
70 | 70 | g_param_spec_int("framecount", |
71 | 71 | P_("Framecount"), |
72 | 72 | P_("Number of frames in the animation specified by the gtkrc"), |
73 | -1, 250, -1, | |
73 | -1, 250, 0, | |
74 | 74 | GParamFlags(G_PARAM_READABLE|G_PARAM_STATIC_STRINGS))); |
75 | 75 | |
76 | 76 | g_type_class_add_private(klass, sizeof (GxKnobPrivate)); |
48 | 48 | #define get_widget_id2(widget) (GX_PAINT_BOX_CLASS(GTK_OBJECT_GET_CLASS(widget))->widget_id2) |
49 | 49 | #define get_widget_id3(widget) (GX_PAINT_BOX_CLASS(GTK_OBJECT_GET_CLASS(widget))->widget_id3) |
50 | 50 | #define get_cab_id(widget) (GX_PAINT_BOX_CLASS(GTK_OBJECT_GET_CLASS(widget))->cab_id) |
51 | #define get_amp_id(widget) (GX_PAINT_BOX_CLASS(GTK_OBJECT_GET_CLASS(widget))->amp_id) | |
51 | 52 | |
52 | 53 | |
53 | 54 | static void gx_paint_box_class_init (GxPaintBoxClass *klass) |
66 | 67 | klass->widget_id2 = "gxplate2"; |
67 | 68 | klass->widget_id3 = "gxplate3"; |
68 | 69 | klass->cab_id = "texture_cab"; |
70 | klass->amp_id = "amp_skin"; | |
69 | 71 | g_object_class_install_property( |
70 | 72 | gobject_class, PROP_PAINT_FUNC, |
71 | 73 | g_param_spec_string("paint-func", |
199 | 201 | g_free(paint_box->paint_func); |
200 | 202 | paint_box->paint_func = NULL; |
201 | 203 | } |
202 | if (G_IS_OBJECT(paint_box->gxh_image)) { | |
203 | g_object_unref(paint_box->gxh_image); | |
204 | while (G_IS_OBJECT(paint_box->gxh_image)) { | |
205 | g_object_unref(paint_box->gxh_image); | |
204 | 206 | } |
205 | 207 | paint_box->gxh_image = NULL; |
206 | if (G_IS_OBJECT(paint_box->gxr_image)) { | |
207 | g_object_unref(paint_box->gxr_image); | |
208 | while (G_IS_OBJECT(paint_box->gxr_image)) { | |
209 | g_object_unref(paint_box->gxr_image); | |
208 | 210 | } |
209 | 211 | paint_box->gxr_image = NULL; |
210 | 212 | GTK_OBJECT_CLASS(gx_paint_box_parent_class)->destroy(object); |
650 | 652 | pat = cairo_pattern_create_linear (x0, y0, x0, y0+rect_height); |
651 | 653 | //cairo_pattern_create_radial (-50, y0, 5,rect_width-10, rect_height, 20.0); |
652 | 654 | set_skin_color(wi, pat); |
655 | cairo_set_source (cr, pat); | |
656 | ||
657 | ||
658 | x1+=2; | |
659 | y1+=2; | |
660 | x0-=1; | |
661 | y0-=1; | |
662 | cairo_move_to (cr, x0, y0 + radius); | |
663 | cairo_curve_to (cr, x0 , y0, x0 , y0, x0 + radius, y0); | |
664 | cairo_line_to (cr, x1 - radius, y0); | |
665 | cairo_curve_to (cr, x1, y0, x1, y0, x1, y0 + radius); | |
666 | cairo_line_to (cr, x1 , y1 - radius); | |
667 | cairo_curve_to (cr, x1, y1, x1, y1, x1 - radius, y1); | |
668 | cairo_line_to (cr, x0 + radius, y1); | |
669 | cairo_curve_to (cr, x0, y1, x0, y1, x0, y1- radius); | |
670 | cairo_close_path (cr); | |
671 | ||
672 | ||
673 | //cairo_rectangle (cr, x0+1,y0+1,rect_width-2,rect_height-1); | |
674 | cairo_fill (cr); | |
675 | cairo_pattern_destroy (pat); | |
676 | cairo_destroy(cr); | |
677 | gdk_region_destroy (region); | |
678 | } | |
679 | ||
680 | static void cabinet_expose(GtkWidget *wi, GdkEventExpose *ev) | |
681 | { | |
682 | cairo_t *cr; | |
683 | cairo_pattern_t*pat; | |
684 | /* create a cairo context */ | |
685 | cr = gdk_cairo_create(wi->window); | |
686 | GdkRegion *region; | |
687 | region = gdk_region_rectangle (&wi->allocation); | |
688 | gdk_region_intersect (region, ev->region); | |
689 | gdk_cairo_region (cr, region); | |
690 | cairo_clip (cr); | |
691 | ||
692 | double x0 = wi->allocation.x+1; | |
693 | double y0 = wi->allocation.y+1; | |
694 | double rect_width = wi->allocation.width-2; | |
695 | double rect_height = wi->allocation.height-2; | |
696 | ||
697 | double radius = 45.; | |
698 | if (rect_width<45) radius = rect_width; | |
699 | else if (rect_height<45) radius = rect_height; | |
700 | double x1,y1; | |
701 | ||
702 | x1=x0+rect_width-2; | |
703 | y1=y0+rect_height-2; | |
704 | x0+=1; | |
705 | y0+=1; | |
706 | ||
707 | cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); | |
708 | cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.0); | |
709 | //cairo_paint(cr); | |
710 | cairo_set_operator(cr, CAIRO_OPERATOR_OVER); | |
711 | GdkPixbuf * stock_image = | |
712 | gtk_widget_render_icon(wi,get_widget_id3(wi),(GtkIconSize)-1,NULL); | |
713 | ||
714 | guchar *pb_pixel = gdk_pixbuf_get_pixels (stock_image); | |
715 | gint pixbuf_rowstride = gdk_pixbuf_get_rowstride (stock_image); | |
716 | gint width = gdk_pixbuf_get_width (stock_image); | |
717 | gint height = gdk_pixbuf_get_height (stock_image); | |
718 | cairo_surface_t *s_image = | |
719 | cairo_image_surface_create_for_data | |
720 | (pb_pixel,CAIRO_FORMAT_RGB24 ,width, height,pixbuf_rowstride); | |
721 | ||
722 | pat = cairo_pattern_create_for_surface(s_image); | |
723 | cairo_set_source (cr, pat); | |
724 | cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); | |
725 | ||
726 | cairo_move_to (cr, x0, y0 + radius); | |
727 | cairo_curve_to (cr, x0 , y0, x0 , y0, x0 + radius, y0); | |
728 | cairo_line_to (cr, x1 - radius, y0); | |
729 | cairo_curve_to (cr, x1, y0, x1, y0, x1, y0 + radius); | |
730 | cairo_line_to (cr, x1 , y1 - radius); | |
731 | cairo_curve_to (cr, x1, y1, x1, y1, x1 - radius, y1); | |
732 | cairo_line_to (cr, x0 + radius, y1); | |
733 | cairo_curve_to (cr, x0, y1, x0, y1, x0, y1- radius); | |
734 | cairo_close_path (cr); | |
735 | ||
736 | cairo_fill(cr); | |
737 | g_object_unref(stock_image); | |
738 | cairo_surface_destroy(s_image); | |
739 | ||
740 | ||
741 | pat = cairo_pattern_create_linear (x0, y0, x0, y0+rect_height); | |
742 | //cairo_pattern_create_radial (-50, y0, 5,rect_width-10, rect_height, 20.0); | |
743 | set_rack_color(wi, pat); | |
653 | 744 | cairo_set_source (cr, pat); |
654 | 745 | |
655 | 746 | |
1048 | 1139 | double x,y; |
1049 | 1140 | |
1050 | 1141 | if (spf == 6 || spf == 8) { |
1142 | if(strcmp(title,"oscilloscope")==0) return; | |
1051 | 1143 | GdkPixbuf * stock_image; |
1052 | 1144 | if (spf == 6) { |
1053 | 1145 | stock_image =gtk_widget_render_icon(wi,get_widget_id2(wi),(GtkIconSize)-1,NULL); |
1922 | 2014 | gdk_region_destroy (region); |
1923 | 2015 | } |
1924 | 2016 | |
2017 | static void line_expose(GtkWidget *wi, GdkEventExpose *ev) | |
2018 | { | |
2019 | cairo_t *cr; | |
2020 | /* create a cairo context */ | |
2021 | cr = gdk_cairo_create(wi->window); | |
2022 | GdkRegion *region; | |
2023 | region = gdk_region_rectangle (&wi->allocation); | |
2024 | gdk_region_intersect (region, ev->region); | |
2025 | gdk_cairo_region (cr, region); | |
2026 | cairo_clip (cr); | |
2027 | ||
2028 | gint x0 = wi->allocation.x+3; | |
2029 | gint y0 = wi->allocation.y+3; | |
2030 | gint rect_width = wi->allocation.width-6; | |
2031 | gint rect_height = wi->allocation.height-6; | |
2032 | ||
2033 | ||
2034 | double radius = 12.; | |
2035 | if (rect_width<12) radius = rect_width; | |
2036 | else if (rect_height<12) radius = rect_height; | |
2037 | double x1,y1; | |
2038 | ||
2039 | x1=x0+rect_width; | |
2040 | y1=y0+rect_height; | |
2041 | ||
2042 | cairo_move_to (cr, x0, y0 + radius); | |
2043 | cairo_curve_to (cr, x0 , y0, x0 , y0, x0 + radius, y0); | |
2044 | cairo_line_to (cr, x1 - radius, y0); | |
2045 | cairo_curve_to (cr, x1, y0, x1, y0, x1, y0 + radius); | |
2046 | cairo_line_to (cr, x1 , y1 - radius); | |
2047 | cairo_curve_to (cr, x1, y1, x1, y1, x1 - radius, y1); | |
2048 | cairo_line_to (cr, x0 + radius, y1); | |
2049 | cairo_curve_to (cr, x0, y1, x0, y1, x0, y1- radius); | |
2050 | cairo_close_path (cr); | |
2051 | cairo_set_line_width(cr, 4.0); | |
2052 | cairo_set_source_rgb(cr, 0.2, 0.2, 0.2); | |
2053 | cairo_stroke_preserve(cr); | |
2054 | cairo_set_line_width(cr, 1.0); | |
2055 | cairo_set_source_rgb(cr, 0, 0, 0); | |
2056 | cairo_stroke(cr); | |
2057 | cairo_destroy(cr); | |
2058 | gdk_region_destroy (region); | |
2059 | } | |
2060 | ||
1925 | 2061 | static void gxhead_expose(GtkWidget *wi, GdkEventExpose *ev) |
1926 | 2062 | { |
1927 | 2063 | GxPaintBox *paintbox = GX_PAINT_BOX(wi); |
1936 | 2072 | int spf; |
1937 | 2073 | |
1938 | 2074 | gtk_widget_style_get(GTK_WIDGET(wi), "icon-set", &spf, NULL); |
2075 | ||
2076 | if (spf >= 7) { | |
2077 | rectangle_skin_color_expose(wi,ev); | |
2078 | line_expose(wi,ev); | |
2079 | if ( spf <10) { | |
2080 | paintbox->gxh_image = gtk_widget_render_icon(wi,"guitarix",(GtkIconSize)-1,NULL); | |
2081 | gdk_draw_pixbuf(GDK_DRAWABLE(wi->window), gdk_gc_new(GDK_DRAWABLE(wi->window)), | |
2082 | paintbox->gxh_image, 0, 0, | |
2083 | x0+38, y0+20, 131,26, | |
2084 | GDK_RGB_DITHER_NORMAL, 0, 0); | |
2085 | g_object_unref(paintbox->gxh_image); | |
2086 | paintbox->gxh_image = NULL; | |
2087 | } | |
2088 | GdkPixbuf *stock_image = gtk_widget_render_icon(wi,"screw",(GtkIconSize)-1,NULL); | |
2089 | gdk_draw_pixbuf(GDK_DRAWABLE(wi->window), gdk_gc_new(GDK_DRAWABLE(wi->window)), | |
2090 | stock_image, 0, 0, | |
2091 | x0+5, y0+5, 10,10, | |
2092 | GDK_RGB_DITHER_NORMAL, 0, 0); | |
2093 | gdk_draw_pixbuf(GDK_DRAWABLE(wi->window), gdk_gc_new(GDK_DRAWABLE(wi->window)), | |
2094 | stock_image, 0, 0, | |
2095 | x0+5, y0+rect_height-15, 10,10, | |
2096 | GDK_RGB_DITHER_NORMAL, 0, 0); | |
2097 | gdk_draw_pixbuf(GDK_DRAWABLE(wi->window), gdk_gc_new(GDK_DRAWABLE(wi->window)), | |
2098 | stock_image, 0, 0, | |
2099 | x0+rect_width-15, y0+rect_height-15, 10,10, | |
2100 | GDK_RGB_DITHER_NORMAL, 0, 0); | |
2101 | gdk_draw_pixbuf(GDK_DRAWABLE(wi->window), gdk_gc_new(GDK_DRAWABLE(wi->window)), | |
2102 | stock_image, 0, 0, | |
2103 | x0+rect_width-15, y0+5, 10,10, | |
2104 | GDK_RGB_DITHER_NORMAL, 0, 0); | |
2105 | g_object_unref(stock_image); | |
2106 | return; | |
2107 | } | |
1939 | 2108 | |
1940 | 2109 | if (nf != spf || ne_w1 != rect_width*rect_height || !(GDK_IS_PIXBUF (paintbox-> gxh_image))) { |
1941 | 2110 | ne_w1 = rect_width*rect_height; |
1942 | 2111 | nf = spf; |
1943 | 2112 | if (G_IS_OBJECT(paintbox-> gxh_image)) { |
1944 | 2113 | g_object_unref(paintbox->gxh_image); |
2114 | paintbox->gxh_image = NULL; | |
1945 | 2115 | } |
1946 | 2116 | GdkPixbuf *stock_image, *frame; |
1947 | 2117 | stock_image = gtk_widget_render_icon(wi,get_stock_id(wi),(GtkIconSize)-1,NULL); |
2192 | 2362 | gdk_region_destroy (region); |
2193 | 2363 | } |
2194 | 2364 | |
2365 | static void amp_skin_expose(GtkWidget *wi, GdkEventExpose *ev) | |
2366 | { | |
2367 | GdkRegion *region; | |
2368 | region = gdk_region_rectangle (&wi->allocation); | |
2369 | gdk_region_intersect (region, ev->region); | |
2370 | GxPaintBox *paintbox = GX_PAINT_BOX(wi); | |
2371 | gint x0 = wi->allocation.x; | |
2372 | gint y0 = wi->allocation.y; | |
2373 | gint w = wi->allocation.width; | |
2374 | gint h = wi->allocation.height; | |
2375 | static double ne_w = 0.; | |
2376 | if (ne_w != w*h || !(GDK_IS_PIXBUF (paintbox-> gxr_image))) { | |
2377 | ne_w = w*h; | |
2378 | while (G_IS_OBJECT(paintbox-> gxr_image)) { | |
2379 | g_object_unref(paintbox->gxr_image); | |
2380 | } | |
2381 | GdkPixbuf *stock_image = gtk_widget_render_icon( | |
2382 | wi,get_amp_id(wi),(GtkIconSize)-1,NULL); | |
2383 | paintbox->gxr_image = gdk_pixbuf_scale_simple( | |
2384 | stock_image,wi->allocation.width ,wi->allocation.height , GDK_INTERP_NEAREST); | |
2385 | g_object_unref(stock_image); | |
2386 | //paintbox-> gxr_image = gtk_widget_render_icon(wi,get_amp_id(wi),(GtkIconSize)-1,NULL); | |
2387 | } | |
2388 | gdk_draw_pixbuf(GDK_DRAWABLE(wi->window), gdk_gc_new(GDK_DRAWABLE(wi->window)), | |
2389 | paintbox-> gxr_image, 0, 0, | |
2390 | x0, y0, w,h, | |
2391 | GDK_RGB_DITHER_NORMAL, 0, 0); | |
2392 | gdk_region_destroy (region); | |
2393 | } | |
2394 | ||
2195 | 2395 | static void level_meter_expose(GtkWidget *wi, GdkEventExpose *ev) |
2196 | 2396 | { |
2197 | 2397 | cairo_t *cr; |
2320 | 2520 | paint_box->expose_func = level_meter_expose; |
2321 | 2521 | } else if (strcmp(paint_func, "cab_expose") == 0) { |
2322 | 2522 | paint_box->expose_func = cab_expose; |
2523 | } else if (strcmp(paint_func, "cabinet_expose") == 0) { | |
2524 | paint_box->expose_func = cabinet_expose; | |
2525 | } else if (strcmp(paint_func, "amp_skin_expose") == 0) { | |
2526 | paint_box->expose_func = amp_skin_expose; | |
2323 | 2527 | } else { |
2324 | 2528 | paint_box->expose_func = 0; |
2325 | 2529 | } |
51 | 51 | const gchar *widget_id2; |
52 | 52 | const gchar *widget_id3; |
53 | 53 | const gchar *cab_id; |
54 | const gchar *amp_id; | |
54 | 55 | }; |
55 | 56 | |
56 | 57 | GType gx_paint_box_get_type(void) G_GNUC_CONST; |
70 | 70 | gdk_pixbuf_copy_area(image, 0, rect->height, rect->width, slider_height, |
71 | 71 | image1, 0, rect->height-(int)sliderstate-slider_height); |
72 | 72 | if (has_focus) { |
73 | gdk_pixbuf_saturate_and_pixelate(image1, image1, sat, FALSE); | |
73 | //gdk_pixbuf_saturate_and_pixelate(image1, image1, sat, FALSE); | |
74 | 74 | if (paint_focus) { |
75 | 75 | gtk_paint_focus(widget->style, widget->window, GTK_STATE_NORMAL, NULL, widget, NULL, |
76 | 76 | rect->x, rect->y, rect->width, rect->height); |
37 | 37 | { "minitoggle_on", pb_minitoggle_on }, |
38 | 38 | { "hslider", pb_hslider }, |
39 | 39 | { "smallknob", pb_smallknob1 }, |
40 | { "smallknobr", pb_smallknob1 }, | |
40 | { "smallknobr", pb_knob_medium }, | |
41 | 41 | { "switchit_off", pb_switchit_off }, |
42 | 42 | { "switchit_on", pb_switchit_on }, |
43 | 43 | { "switch_off", pb_switch_off }, |
61 | 61 | { "gxplate3", pb_gxplate3 }, |
62 | 62 | { "portdisplay", pb_portdisplay }, |
63 | 63 | { "texture_cab", pb_texture_cab }, |
64 | { "guitarix", pb_guitarix }, | |
65 | { "screw", pb_screw }, | |
66 | { "amp_skin", pb_amp21 }, | |
64 | 67 | { NULL, NULL }, |
65 | 68 | }; |
66 | 69 |
19 | 19 | part of guitarix, use knobs with Gtk |
20 | 20 | ******************************************************************************/ |
21 | 21 | |
22 | #ifndef __GX_RADIO_BUTTON_H__ | |
23 | #define __GX_RADIO_BUTTON_H__ | |
22 | #ifndef __GX_INIT_H__ | |
23 | #define __GX_INIT_H__ | |
24 | 24 | |
25 | 25 | #include <gtk/gtk.h> |
26 | 26 |
52 | 52 | "gxplate2.png", |
53 | 53 | "gxplate3.png", |
54 | 54 | "portdisplay.png", |
55 | "texture_cab.png" | |
55 | "texture_cab.png", | |
56 | "guitarix.png", | |
57 | "screw.png", | |
58 | "knob_medium.png", | |
59 | "amp21.png" | |
56 | 60 | ] |
57 | 61 | |
58 | 62 | bld(name = "img2c", |
100 | 104 | prog = bld( |
101 | 105 | features = ['cxx', 'cstaticlib'], |
102 | 106 | includes = ['.'], |
107 | #cxxflags = ['-fPIC'], | |
103 | 108 | source = sources, |
104 | 109 | uselib = ['GTHREAD', 'GTK2'], |
105 | 110 | target = 'gxw', |
0 | prefix=/path | |
1 | exec_prefix=${prefix} | |
2 | libdir=${exec_prefix}/lib | |
3 | datarootdir=${prefix}/share | |
4 | datadir=${datarootdir} | |
5 | includedir=${prefix}/include | |
6 | ||
7 | ||
8 | Name: gxw+ | |
9 | Description: Additional widgets for the GTK toolkit | |
10 | Version: 1 | |
11 | URL: http://www.gtk.org/ | |
12 | Requires: gtk+-2.0 >= 2.24.0 | |
13 | Libs: -L${libdir} -lgxw | |
14 | Cflags: -I${includedir}/gxw |
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
11 | 11 | const=True, |
12 | 12 | help=('build shared library'), |
13 | 13 | ) |
14 | grp.add_option('--lib-dev', | |
15 | action='store_const', | |
16 | default=False, | |
17 | const=True, | |
18 | help=('install shared library headers'), | |
19 | ) | |
14 | 20 | grp.add_option('--generate-cpp-wrapper', |
15 | 21 | action='store_const', |
16 | 22 | default=False, |
28 | 34 | conf.env["USE_GENERATED_CPP"] = False |
29 | 35 | else: |
30 | 36 | conf.env["USE_GENERATED_CPP"] = True |
31 | if Options.options.shared_lib: | |
37 | if Options.options.shared_lib or Options.options.build_lv2: | |
32 | 38 | conf.env["GX_LIB_SHARED"] = True |
33 | 39 | else: |
34 | 40 | conf.env["GX_LIB_STATIC"] = True |
41 | if Options.options.lib_dev: | |
42 | conf.env["GX_LIB_SHARED"] = True | |
43 | conf.env["GX_LIB_DEV"] = True | |
44 | conf.env["GX_LIB_STATIC"] = False | |
45 | ||
35 | 46 | |
36 | 47 | def template2cc(task): |
37 | 48 | basename = os.path.splitext( |
248 | 259 | else: |
249 | 260 | bld(features = ['cxx', 'cstaticlib'], |
250 | 261 | includes = ['..','../../libgxw'], |
262 | #cxxflags = ['-fPIC'], | |
251 | 263 | source = sources+["init.cc","wrap_init.cc"], |
252 | 264 | uselib = ['GTKMM'], |
253 | 265 | target = 'gxwmm', |
32 | 32 | #include <gxwmm/regler.h> |
33 | 33 | #include <gxwmm/selector.h> |
34 | 34 | #include <gxwmm/smallknob.h> |
35 | #include <gxwmm/smallknobr.h> | |
35 | 36 | #include <gxwmm/switch.h> |
36 | 37 | #include <gxwmm/toggleimage.h> |
37 | 38 | #include <gxwmm/tuner.h> |
40 | 41 | #include <gxwmm/waveview.h> |
41 | 42 | #include <gxwmm/wheel.h> |
42 | 43 | #include <gxwmm/portdisplay.h> |
44 | #include <gxwmm/init.h> | |
43 | 45 | |
44 | 46 | #endif /* __GXWMM_H__ */ |
0 | prefix=/path | |
1 | exec_prefix=${prefix} | |
2 | libdir=${exec_prefix}/lib | |
3 | datarootdir=${prefix}/share | |
4 | datadir=${datarootdir} | |
5 | includedir=${prefix}/include | |
6 | ||
7 | ||
8 | Name: gxwmm | |
9 | Description: Additional widgets for the GTKMM toolkit | |
10 | Version: 1 | |
11 | URL: http://www.gtkmm.org/ | |
12 | Requires: atkmm-1.6 >= 2.22.2 giomm-2.4 >= 2.24 pangomm-1.4 >= 2.27.1 gtk+-2.0 >= 2.24.0 gtk+-unix-print-2.0 gdkmm-2.4 | |
13 | Libs: -L${libdir} -lgxwmm | |
14 | Cflags: -I${includedir}/gxwmm -I${libdir}/gxwmm/include |
276 | 276 | |
277 | 277 | style "gx_head_dark-b_black" |
278 | 278 | { |
279 | fg[NORMAL] = "#e2dcdc" | |
279 | fg[NORMAL] = { 0.6, 0.6, 0.6 } | |
280 | 280 | fg[ACTIVE] = { 0.2, 0.2, 0.2 } |
281 | 281 | fg[PRELIGHT] = { 1.0, 1.0, 1.0 } |
282 | 282 | fg[INSENSITIVE] = { 0.0, 0.0, 0.0 } |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | // generated by ../../tools/tube_transfer.py | |
20 | // tube: 12AT7 | |
21 | // plate current function: triode | |
22 | // mu: 60 | |
23 | // kx: 1.35 | |
24 | // kg1: 460 | |
25 | // kp: 300 | |
26 | // kvb: 300 | |
27 | ||
28 | table1d_imp<2001> tubetable_12AT7[2] = | |
29 | { | |
30 | { | |
31 | // Ri = 68k | |
32 | -5,5,200,2001, { | |
33 | 223.484971051,223.38189846,223.278606859,223.175096438,223.071367386, | |
34 | 222.967419894,222.863254153,222.758870355,222.654268692,222.549449358, | |
35 | 222.444412546,222.339158451,222.233687268,222.127999193,222.022094421, | |
36 | 221.915973151,221.809635579,221.703081904,221.596312324,221.489327039, | |
37 | 221.382126248,221.274710152,221.167078951,221.059232846,220.951172041, | |
38 | 220.842896736,220.734407134,220.62570344,220.516785857,220.407654588, | |
39 | 220.298309839,220.188751814,220.078980719,219.96899676,219.858800143, | |
40 | 219.748391075,219.637769762,219.526936413,219.415891235,219.304634436, | |
41 | 219.193166225,219.081486809,218.9695964,218.857495205,218.745183435, | |
42 | 218.6326613,218.519929009,218.406986775,218.293834807,218.180473316, | |
43 | 218.066902515,217.953122614,217.839133825,217.724936362,217.610530435, | |
44 | 217.495916257,217.381094042,217.266064002,217.150826349,217.035381299, | |
45 | 216.919729063,216.803869855,216.68780389,216.571531381,216.455052541, | |
46 | 216.338367587,216.22147673,216.104380187,215.987078171,215.869570897, | |
47 | 215.75185858,215.633941434,215.515819675,215.397493517,215.278963175, | |
48 | 215.160228865,215.041290801,214.922149198,214.802804272,214.683256238, | |
49 | 214.563505311,214.443551707,214.32339564,214.203037325,214.082476979, | |
50 | 213.961714816,213.840751051,213.719585899,213.598219576,213.476652297, | |
51 | 213.354884277,213.232915731,213.110746873,212.988377919,212.865809083, | |
52 | 212.74304058,212.620072625,212.496905433,212.373539217,212.249974193, | |
53 | 212.126210573,212.002248574,211.878088408,211.75373029,211.629174433, | |
54 | 211.504421051,211.379470357,211.254322565,211.128977889,211.003436541, | |
55 | 210.877698734,210.751764681,210.625634594,210.499308686,210.37278717, | |
56 | 210.246070256,210.119158158,209.992051086,209.864749253,209.737252869, | |
57 | 209.609562146,209.481677294,209.353598524,209.225326046,209.096860071, | |
58 | 208.968200809,208.839348469,208.710303261,208.581065394,208.451635077, | |
59 | 208.322012519,208.192197928,208.062191513,207.931993481,207.801604041, | |
60 | 207.671023398,207.540251762,207.409289338,207.278136334,207.146792955, | |
61 | 207.015259407,206.883535897,206.75162263,206.61951981,206.487227642, | |
62 | 206.354746332,206.222076083,206.089217099,205.956169583,205.82293374, | |
63 | 205.689509771,205.555897879,205.422098267,205.288111136,205.153936688, | |
64 | 205.019575125,204.885026646,204.750291453,204.615369746,204.480261724, | |
65 | 204.344967587,204.209487534,204.073821763,203.937970474,203.801933864, | |
66 | 203.66571213,203.52930547,203.392714081,203.255938159,203.1189779, | |
67 | 202.9818335,202.844505154,202.706993058,202.569297405,202.43141839, | |
68 | 202.293356206,202.155111047,202.016683105,201.878072574,201.739279645, | |
69 | 201.60030451,201.46114736,201.321808386,201.182287779,201.042585728, | |
70 | 200.902702422,200.762638052,200.622392806,200.481966872,200.341360438, | |
71 | 200.200573691,200.059606819,199.918460008,199.777133444,199.635627312, | |
72 | 199.493941798,199.352077087,199.210033363,199.067810809,198.92540961, | |
73 | 198.782829948,198.640072006,198.497135966,198.354022009,198.210730316, | |
74 | 198.067261068,197.923614446,197.779790629,197.635789796,197.491612126, | |
75 | 197.347257797,197.202726987,197.058019875,196.913136635,196.768077446, | |
76 | 196.622842482,196.477431919,196.331845933,196.186084697,196.040148386, | |
77 | 195.894037174,195.747751232,195.601290734,195.454655852,195.307846758, | |
78 | 195.160863622,195.013706614,194.866375906,194.718871667,194.571194065, | |
79 | 194.423343269,194.275319448,194.127122768,193.978753398,193.830211503, | |
80 | 193.681497249,193.532610803,193.383552329,193.234321992,193.084919955, | |
81 | 192.935346382,192.785601437,192.635685281,192.485598078,192.335339987, | |
82 | 192.18491117,192.034311788,191.883542,191.732601966,191.581491845, | |
83 | 191.430211795,191.278761974,191.127142539,190.975353646,190.823395453, | |
84 | 190.671268115,190.518971788,190.366506625,190.213872781,190.061070409, | |
85 | 189.908099664,189.754960697,189.60165366,189.448178705,189.294535983, | |
86 | 189.140725644,188.986747838,188.832602715,188.678290424,188.523811112, | |
87 | 188.369164928,188.214352019,188.059372531,187.904226611,187.748914404, | |
88 | 187.593436056,187.43779171,187.281981512,187.126005604,186.96986413, | |
89 | 186.813557231,186.65708505,186.500447728,186.343645406,186.186678223, | |
90 | 186.029546321,185.872249837,185.71478891,185.55716368,185.399374282, | |
91 | 185.241420854,185.083303532,184.925022452,184.766577751,184.607969561, | |
92 | 184.449198018,184.290263255,184.131165406,183.971904602,183.812480977, | |
93 | 183.652894661,183.493145785,183.33323448,183.173160876,183.012925102, | |
94 | 182.852527286,182.691967557,182.531246043,182.37036287,182.209318165, | |
95 | 182.048112054,181.886744663,181.725216116,181.563526537,181.401676051, | |
96 | 181.239664781,181.077492849,180.915160377,180.752667487,180.590014299, | |
97 | 180.427200936,180.264227515,180.101094157,179.93780098,179.774348102, | |
98 | 179.610735642,179.446963716,179.283032441,179.118941932,178.954692305, | |
99 | 178.790283676,178.625716158,178.460989865,178.29610491,178.131061407, | |
100 | 177.965859466,177.8004992,177.634980719,177.469304135,177.303469556, | |
101 | 177.137477092,176.971326852,176.805018943,176.638553475,176.471930553, | |
102 | 176.305150284,176.138212774,175.971118129,175.803866452,175.63645785, | |
103 | 175.468892424,175.301170279,175.133291517,174.965256239,174.797064548, | |
104 | 174.628716544,174.460212328,174.291551999,174.122735656,173.953763399, | |
105 | 173.784635325,173.615351532,173.445912117,173.276317175,173.106566804, | |
106 | 172.936661098,172.766600153,172.596384061,172.426012917,172.255486814, | |
107 | 172.084805844,171.9139701,171.742979672,171.571834651,171.400535128, | |
108 | 171.229081192,171.057472933,170.885710438,170.713793796,170.541723094, | |
109 | 170.36949842,170.197119859,170.024587497,169.851901419,169.679061711, | |
110 | 169.506068455,169.332921736,169.159621635,168.986168237,168.812561622, | |
111 | 168.638801872,168.464889067,168.290823288,168.116604613,167.942233123, | |
112 | 167.767708895,167.593032007,167.418202536,167.24322056,167.068086154, | |
113 | 166.892799395,166.717360356,166.541769112,166.366025738,166.190130307, | |
114 | 166.014082891,165.837883563,165.661532395,165.485029456,165.308374819, | |
115 | 165.131568552,164.954610726,164.777501409,164.60024067,164.422828575, | |
116 | 164.245265193,164.06755059,163.889684831,163.711667983,163.533500109, | |
117 | 163.355181276,163.176711545,162.998090981,162.819319646,162.640397602, | |
118 | 162.46132491,162.282101632,162.102727828,161.923203558,161.743528881, | |
119 | 161.563703855,161.383728539,161.20360299,161.023327265,160.842901421, | |
120 | 160.662325513,160.481599598,160.300723728,160.11969796,159.938522345, | |
121 | 159.757196938,159.57572179,159.394096954,159.212322481,159.030398422, | |
122 | 158.848324827,158.666101745,158.483729225,158.301207317,158.118536068, | |
123 | 157.935715525,157.752745735,157.569626745,157.3863586,157.202941345, | |
124 | 157.019375024,156.835659683,156.651795363,156.467782109,156.283619962, | |
125 | 156.099308963,155.914849155,155.730240578,155.545483271,155.360577274, | |
126 | 155.175522626,154.990319366,154.80496753,154.619467157,154.433818283, | |
127 | 154.248020943,154.062075174,153.87598101,153.689738486,153.503347636, | |
128 | 153.316808491,153.130121087,152.943285453,152.756301622,152.569169625, | |
129 | 152.381889493,152.194461254,152.006884938,151.819160575,151.631288191, | |
130 | 151.443267815,151.255099474,151.066783193,150.878318999,150.689706918, | |
131 | 150.500946973,150.312039189,150.122983589,149.933780197,149.744429035, | |
132 | 149.554930124,149.365283487,149.175489143,148.985547114,148.795457417, | |
133 | 148.605220074,148.414835102,148.224302518,148.033622341,147.842794587, | |
134 | 147.651819272,147.460696413,147.269426023,147.078008117,146.88644271, | |
135 | 146.694729815,146.502869444,146.31086161,146.118706324,145.926403598, | |
136 | 145.733953442,145.541355866,145.348610879,145.15571849,144.962678708, | |
137 | 144.76949154,144.576156994,144.382675075,144.18904579,143.995269144, | |
138 | 143.801345143,143.60727379,143.413055089,143.218689043,143.024175656, | |
139 | 142.829514928,142.634706862,142.439751458,142.244648717,142.049398638, | |
140 | 141.854001221,141.658456465,141.462764367,141.266924924,141.070938135, | |
141 | 140.874803995,140.678522501,140.482093647,140.285517428,140.088793838, | |
142 | 139.891922871,139.694904521,139.497738779,139.300425637,139.102965087, | |
143 | 138.905357119,138.707601724,138.509698892,138.311648611,138.113450871, | |
144 | 137.915105658,137.716612961,137.517972767,137.319185062,137.120249831, | |
145 | 136.921167061,136.721936735,136.522558838,136.323033353,136.123360263, | |
146 | 135.923539552,135.7235712,135.52345519,135.323191502,135.122780116, | |
147 | 134.922221012,134.72151417,134.520659568,134.319657184,134.118506996, | |
148 | 133.917208981,133.715763115,133.514169375,133.312427735,133.110538172, | |
149 | 132.908500658,132.706315168,132.503981676,132.301500154,132.098870574, | |
150 | 131.896092908,131.693167128,131.490093204,131.286871106,131.083500803, | |
151 | 130.879982266,130.676315463,130.472500361,130.268536929,130.064425133, | |
152 | 129.860164941,129.655756317,129.451199229,129.24649364,129.041639516, | |
153 | 128.836636821,128.631485518,128.426185571,128.220736941,128.015139592, | |
154 | 127.809393485,127.603498581,127.397454841,127.191262225,126.984920693, | |
155 | 126.778430205,126.57179072,126.365002195,126.158064589,125.950977859, | |
156 | 125.743741963,125.536356858,125.328822499,125.121138842,124.913305843, | |
157 | 124.705323458,124.497191639,124.288910343,124.080479522,123.87189913, | |
158 | 123.66316912,123.454289445,123.245260057,123.036080908,122.82675195, | |
159 | 122.617273133,122.407644409,122.197865728,121.987937041,121.777858298, | |
160 | 121.567629447,121.357250439,121.146721222,120.936041745,120.725211957, | |
161 | 120.514231806,120.30310124,120.091820207,119.880388654,119.668806528, | |
162 | 119.457073777,119.245190347,119.033156186,118.82097124,118.608635455, | |
163 | 118.396148777,118.183511154,117.970722531,117.757782854,117.544692069, | |
164 | 117.331450122,117.118056958,116.904512525,116.690816767,116.476969631, | |
165 | 116.262971063,116.048821008,115.834519413,115.620066224,115.405461388, | |
166 | 115.19070485,114.975796559,114.76073646,114.545524502,114.330160631, | |
167 | 114.114644796,113.898976945,113.683157025,113.467184988,113.25106078, | |
168 | 113.034784354,112.818355658,112.601774644,112.385041264,112.168155469, | |
169 | 111.951117213,111.733926449,111.516583131,111.299087215,111.081438657, | |
170 | 110.863637413,110.645683442,110.427576702,110.209317154,109.990904759, | |
171 | 109.772339479,109.553621277,109.334750119,109.115725972,108.896548803, | |
172 | 108.677218581,108.457735278,108.238098866,108.01830932,107.798366617, | |
173 | 107.578270734,107.358021653,107.137619356,106.917063827,106.696355055, | |
174 | 106.475493028,106.25447774,106.033309184,105.81198736,105.590512267, | |
175 | 105.36888391,105.147102295,104.925167434,104.703079339,104.480838028, | |
176 | 104.258443522,104.035895848,103.813195034,103.590341113,103.367334124, | |
177 | 103.14417411,102.920861118,102.697395202,102.473776418,102.250004831, | |
178 | 102.02608051,101.802003529,101.577773971,101.353391923,101.128857479, | |
179 | 100.904170741,100.679331818,100.454340825,100.229197888,100.003903138, | |
180 | 99.778456717,99.5528587734,99.3271094667,99.1012089653,98.8751574477, | |
181 | 98.6489551024,98.4226021292,98.1960987386,97.969445153,97.7426416069, | |
182 | 97.5156883471,97.2885856338,97.0613337405,96.833932955,96.6063835797, | |
183 | 96.3786859321,96.1508403457,95.9228471705,95.6947067733,95.4664195391, | |
184 | 95.2379858709,95.0094061912,94.7806809423,94.5518105871,94.3227956102, | |
185 | 94.0936365183,93.8643338415,93.6348881337,93.405299974,93.1755699676, | |
186 | 92.9456987464,92.7156869704,92.4855353287,92.2552445406,92.0248153569, | |
187 | 91.7942485605,91.5635449686,91.3327054332,91.1017308426,90.8706221232, | |
188 | 90.6393802404,90.4080062002,90.1765010512,89.9448658855,89.7131018408, | |
189 | 89.4812101019,89.2491919027,89.0170485276,88.784781314,88.5523916537, | |
190 | 88.3198809952,88.0872508458,87.8545027735,87.6216384098,87.3886594513, | |
191 | 87.1555676628,86.9223648793,86.6890530085,86.4556340339,86.2221100172, | |
192 | 85.9884831011,85.7547555124,85.5209295646,85.2870076616,85.0529923004, | |
193 | 84.8188860745,84.5846916773,84.3504119056,84.1160496633,83.8816079647, | |
194 | 83.647089939,83.4124988332,83.1778380171,82.9431109867,82.7083213689, | |
195 | 82.4734729256,82.2385695581,82.0036153116,81.7686143804,81.5335711119, | |
196 | 81.2984900118,81.0633757495,80.8282331624,80.5930672616,80.3578832372, | |
197 | 80.1226864634,79.8874825043,79.6522771191,79.417076268,79.1818861179, | |
198 | 78.946713048,78.7115636561,78.4764447639,78.2413634234,78.0063269226, | |
199 | 77.7713427919,77.5364188098,77.3015630089,77.0667836823,76.832089389, | |
200 | 76.5974889606,76.3629915064,76.1286064198,75.8943433838,75.6602123765, | |
201 | 75.4262236766,75.1923878688,74.9587158488,74.7252188281,74.4919083386, | |
202 | 74.2587962373,74.0258947099,73.7932162747,73.5607737859,73.3285804366, | |
203 | 73.0966497613,72.8649956377,72.6336322885,72.4025742822,72.1718365333, | |
204 | 71.9414343025,71.7113831952,71.4816991604,71.2523984878,71.0234978052, | |
205 | 70.7950140739,70.5669645844,70.3393669505,70.1122391024,69.8855992793, | |
206 | 69.659466021,69.4338581579,69.2087948004,68.9842953275,68.7603793738, | |
207 | 68.5370668156,68.3143777559,68.0923325085,67.8709515808,67.6502556556, | |
208 | 67.4302655713,67.2110023025,66.9924869376,66.7747406569,66.5577847094, | |
209 | 66.341640388,66.1263290049,65.9118718655,65.6982902415,65.485605344, | |
210 | 65.2738382953,65.0630101007,64.8531416195,64.644253536,64.4363663304, | |
211 | 64.2295002488,64.0236752742,63.8189110973,63.6152270868,63.4126422611, | |
212 | 63.2111752599,63.0108443162,62.8116672294,62.613661339,62.4168434988, | |
213 | 62.2212300529,62.026836812,61.8336790312,61.6417713894,61.4511279693, | |
214 | 61.2617622392,61.0736870367,60.8869145531,60.7014563202,60.5173231979, | |
215 | 60.3345253642,60.1530723064,59.9729728143,59.7942349746,59.6168661678, | |
216 | 59.4408730656,59.2662616311,59.0930371202,58.9212040837,58.7507663728, | |
217 | 58.5817271438,58.4140888665,58.2478533317,58.0830216621,57.9195943226, | |
218 | 57.757571133,57.5969512811,57.437733337,57.2799152681,57.1234944552, | |
219 | 56.9684677091,56.8148312878,56.6625809145,56.5117117958,56.3622186407, | |
220 | 56.2140956792,56.0673366819,55.9219349798,55.777883483,55.6351747015, | |
221 | 55.4938007636,55.3537534367,55.2150241456,55.0776039925,54.9414837759, | |
222 | 54.8066540091,54.6731049389,54.5408265635,54.4098086506,54.2800407545, | |
223 | 54.1515122329,54.0242122639,53.8981298612,53.7732538906,53.6495730842, | |
224 | 53.5270760555,53.4057513131,53.2855872745,53.166572279,53.0486945999, | |
225 | 52.9319424571,52.816304028,52.7017674586,52.5883208741,52.4759523889, | |
226 | 52.3646501157,52.2544021747,52.1451967025,52.0370218595,51.9298658379, | |
227 | 51.8237168688,51.718563229,51.6143932475,51.5111953109,51.4089578697, | |
228 | 51.3076694432,51.2073186239,51.1078940829,51.0093845734,50.9117789348, | |
229 | 50.815066096,50.7192350793,50.6242750025,50.5301750825,50.4369246372, | |
230 | 50.3445130879,50.2529299611,50.1621648909,50.0722076197,49.9830480004, | |
231 | 49.894675997,49.8070816859,49.7202552566,49.6341870125,49.5488673716, | |
232 | 49.4642868666,49.3804361451,49.2973059702,49.2148872203,49.1331708887, | |
233 | 49.052148084,48.9718100296,48.892148063,48.8131536359,48.7348183134, | |
234 | 48.6571337734,48.5800918059,48.5036843125,48.4279033056,48.3527409073, | |
235 | 48.2781893488,48.2042409693,48.1308882153,48.0581236393,47.9859398991, | |
236 | 47.9143297565,47.8432860762,47.772801825,47.7028700705,47.6334839797, | |
237 | 47.5646368183,47.4963219495,47.4285328322,47.3612630208,47.2945061629, | |
238 | 47.2282559993,47.1625063616,47.0972511721,47.0324844415,46.9682002687, | |
239 | 46.9043928391,46.8410564231,46.7781853756,46.7157741343,46.6538172188, | |
240 | 46.5923092291,46.5312448446,46.4706188231,46.4104259995,46.3506612843, | |
241 | 46.2913196632,46.2323961953,46.1738860123,46.1157843173,46.0580863839, | |
242 | 46.0007875547,45.9438832405,45.8873689195,45.8312401357,45.7754924981, | |
243 | 45.7201216798,45.665123417,45.6104935076,45.5562278108,45.5023222456, | |
244 | 45.4487727904,45.3955754813,45.3427264119,45.2902217321,45.238057647, | |
245 | 45.1862304162,45.1347363532,45.0835718238,45.0327332461,44.982217089, | |
246 | 44.9320198716,44.8821381626,44.8325685792,44.7833077865,44.7343524964, | |
247 | 44.6856994674,44.6373455033,44.5892874528,44.5415222087,44.4940467071, | |
248 | 44.4468579267,44.3999528883,44.3533286537,44.3069823257,44.2609110467, | |
249 | 44.2151119985,44.1695824018,44.124319515,44.0793206341,44.034583092, | |
250 | 43.9901042576,43.9458815358,43.9019123661,43.8581942231,43.8147246147, | |
251 | 43.7715010829,43.728521202,43.6857825789,43.6432828524,43.6010196926, | |
252 | 43.5589908004,43.5171939069,43.4756267733,43.4342871901,43.3931729766, | |
253 | 43.3522819807,43.3116120784,43.2711611731,43.2309271955,43.1909081027, | |
254 | 43.1511018785,43.1115065323,43.0721200993,43.0329406393,42.9939662373, | |
255 | 42.9551950023,42.9166250673,42.878254589,42.8400817471,42.8021047443, | |
256 | 42.7643218057,42.7267311786,42.6893311322,42.6521199569,42.6150959646, | |
257 | 42.5782574877,42.5416028795,42.5051305131,42.4688387817,42.4327260982, | |
258 | 42.3967908945,42.3610316219,42.32544675,42.2900347672,42.2547941799, | |
259 | 42.2197235125,42.184821307,42.1500861227,42.1155165361,42.0811111406, | |
260 | 42.0468685461,42.0127873789,41.9788662816,41.9451039126,41.9114989459, | |
261 | 41.8780500709,41.8447559925,41.8116154303,41.7786271187,41.7457898069, | |
262 | 41.7131022583,41.6805632504,41.6481715748,41.6159260367,41.5838254549, | |
263 | 41.5518686617,41.5200545023,41.4883818353,41.4568495316,41.4254564751, | |
264 | 41.394201562,41.3630837008,41.3321018122,41.3012548286,41.2705416944, | |
265 | 41.2399613655,41.2095128092,41.1791950042,41.1490069403,41.1189476183, | |
266 | 41.0890160496,41.0592112567,41.0295322723,40.9999781396,40.970547912, | |
267 | 40.9412406531,40.9120554366,40.8829913457,40.8540474735,40.8252229228, | |
268 | 40.7965168056,40.7679282435,40.7394563671,40.7111003161,40.6828592393, | |
269 | 40.6547322942,40.626718647,40.5988174728,40.5710279548,40.5433492849, | |
270 | 40.5157806631,40.4883212976,40.4609704049,40.433727209,40.4065909422, | |
271 | 40.3795608443,40.3526361629,40.3258161531,40.2991000774,40.2724872058, | |
272 | 40.2459768155,40.2195681909,40.1932606236,40.1670534118,40.1409458612, | |
273 | 40.114937284,40.089026999,40.063214332,40.0374986152,40.0118791874, | |
274 | 39.9863553935,39.9609265851,39.9355921199,39.9103513619,39.8852036809, | |
275 | 39.8601484532,39.8351850605,39.8103128908,39.7855313379,39.7608398011, | |
276 | 39.7362376854,39.7117244017,39.6872993662,39.6629620004,39.6387117317, | |
277 | 39.6145479924,39.5904702202,39.5664778582,39.5425703542,39.5187471617, | |
278 | 39.4950077387,39.4713515484,39.447778059,39.4242867434,39.4008770793, | |
279 | 39.3775485493,39.3543006404,39.3311328446,39.3080446582,39.2850355821, | |
280 | 39.2621051218,39.2392527869,39.2164780918,39.193780555,39.1711596991, | |
281 | 39.1486150512,39.1261461426,39.1037525085,39.0814336882,39.0591892253, | |
282 | 39.0370186672,39.0149215651,38.9928974745,38.9709459543,38.9490665676, | |
283 | 38.9272588811,38.9055224652,38.883856894,38.8622617454,38.8407366006, | |
284 | 38.8192810448,38.7978946663,38.7765770572,38.7553278128,38.7341465321, | |
285 | 38.7130328173,38.6919862739,38.6710065108,38.6500931402,38.6292457774, | |
286 | 38.608464041,38.5877475528,38.5670959377,38.5465088236,38.5259858415, | |
287 | 38.5055266257,38.485130813,38.4647980436,38.4445279604,38.4243202094, | |
288 | 38.4041744393,38.3840903017,38.3640674511,38.3441055447,38.3242042424, | |
289 | 38.3043632069,38.2845821037,38.2648606009,38.2451983691,38.2255950817, | |
290 | 38.2060504147,38.1865640465,38.1671356581,38.1477649333,38.1284515578, | |
291 | 38.1091952204,38.0899956119,38.0708524256,38.0517653574,38.0327341052, | |
292 | 38.0137583696,37.9948378534,37.9759722615,37.9571613012,37.9384046823, | |
293 | 37.9197021164,37.9010533177,37.8824580021,37.8639158882,37.8454266964, | |
294 | 37.8269901493,37.8086059716,37.7902738901,37.7719936336,37.753764933, | |
295 | 37.7355875212,37.717461133,37.6993855054,37.6813603772,37.6633854891, | |
296 | 37.6454605838,37.6275854059,37.6097597018,37.59198322,37.5742557106, | |
297 | 37.5565769256,37.5389466189,37.521364546,37.5038304645,37.4863441334, | |
298 | 37.4689053137,37.4515137681,37.4341692609,37.4168715581,37.3996204275, | |
299 | 37.3824156386,37.3652569623,37.3481441714,37.3310770401,37.3140553445, | |
300 | 37.297078862,37.2801473717,37.2632606542,37.2464184918,37.2296206681, | |
301 | 37.2128669684,37.1961571795,37.1794910896,37.1628684884,37.1462891671, | |
302 | 37.1297529184,37.1132595362,37.0968088162,37.0804005552,37.0640345515, | |
303 | 37.0477106048,37.0314285162,37.0151880881,36.9989891244,36.9828314301, | |
304 | 36.9667148116,36.9506390768,36.9346040347,36.9186094956,36.9026552713, | |
305 | 36.8867411745,36.8708670195,36.8550326217,36.8392377978,36.8234823655, | |
306 | 36.807766144,36.7920889536,36.7764506158,36.7608509532,36.7452897896, | |
307 | 36.7297669502,36.714282261,36.6988355493,36.6834266436,36.6680553734, | |
308 | 36.6527215694,36.6374250634,36.6221656883,36.606943278,36.5917576675, | |
309 | 36.5766086929,36.5614961915,36.5464200014,36.5313799619,36.5163759132, | |
310 | 36.5014076967,36.4864751547,36.4715781305,36.4567164685,36.4418900139, | |
311 | 36.4270986131,36.4123421134,36.3976203629,36.382933211,36.3682805076, | |
312 | 36.353662104,36.3390778522,36.324527605,36.3100112165,36.2955285412, | |
313 | 36.2810794351,36.2666637545,36.252281357,36.237932101,36.2236158457, | |
314 | 36.2093324512,36.1950817784,36.1808636892,36.1666780462,36.152524713, | |
315 | 36.1384035538,36.1243144338,36.1102572191,36.0962317763,36.0822379733, | |
316 | 36.0682756782,36.0543447604,36.0404450898,36.0265765373,36.0127389743, | |
317 | 35.9989322732,35.9851563071,35.9714109499,35.957696076,35.944011561, | |
318 | 35.9303572808,35.9167331123,35.903138933,35.8895746213,35.8760400561, | |
319 | 35.8625351171,35.8490596847,35.8356136401,35.822196865,35.808809242, | |
320 | 35.7954506543,35.7821209857,35.7688201207,35.7555479447,35.7423043434, | |
321 | 35.7290892035,35.715902412,35.7027438569,35.6896134267,35.6765110104, | |
322 | 35.663436498,35.6503897796,35.6373707465,35.6243792901,35.6114153029, | |
323 | 35.5984786777,35.5855693079,35.5726870876,35.5598319116,35.5470036751, | |
324 | 35.534202274,35.5214276048,35.5086795644,35.4959580506,35.4832629614, | |
325 | 35.4705941957,35.4579516528,35.4453352325,35.4327448353,35.4201803622, | |
326 | 35.4076417148,35.3951287951,35.3826415057,35.3701797498,35.3577434311, | |
327 | 35.3453324539,35.3329467228,35.3205861432,35.3082506207,35.2959400619, | |
328 | 35.2836543733,35.2713934625,35.2591572371,35.2469456055,35.2347584766, | |
329 | 35.2225957595,35.2104573643,35.198343201,35.1862531805,35.174187214, | |
330 | 35.1621452133,35.1501270905,35.1381327583,35.1261621298,35.1142151186, | |
331 | 35.1022916388,35.0903916048,35.0785149317,35.0666615348,35.0548313299, | |
332 | 35.0430242335,35.0312401621,35.0194790329,35.0077407637,34.9960252724, | |
333 | 34.9843324774,34.9726622977,34.9610146526,34.9493894618,34.9377866455, | |
334 | 34.9262061242,34.9146478189,34.903111651,34.8915975423,34.880105415, | |
335 | 34.8686351915,34.8571867951,34.845760149,34.8343551769,34.8229718032, | |
336 | 34.8116099522,34.800269549,34.7889505189,34.7776527876,34.7663762811, | |
337 | 34.7551209259,34.7438866488,34.732673377,34.7214810381,34.7103095599, | |
338 | 34.6991588708,34.6880288994,34.6769195746,34.665830826,34.654762583, | |
339 | 34.6437147759,34.632687335,34.6216801911,34.6106932752,34.5997265188, | |
340 | 34.5887798536,34.5778532119,34.5669465259,34.5560597285,34.5451927529, | |
341 | 34.5343455323,34.5235180007,34.5127100921,34.5019217408,34.4911528817, | |
342 | 34.4804034497,34.4696733802,34.458962609,34.4482710719,34.4375987053, | |
343 | 34.4269454458,34.4163112303,34.405695996,34.3950996804,34.3845222213, | |
344 | 34.373963557,34.3634236256,34.3529023661,34.3423997173,34.3319156186, | |
345 | 34.3214500095,34.3110028299,34.30057402,34.2901635202,34.2797712711, | |
346 | 34.2693972139,34.2590412897,34.2487034402,34.2383836071,34.2280817325, | |
347 | 34.2177977589,34.2075316288,34.1972832853,34.1870526713,34.1768397305, | |
348 | 34.1666444064,34.1564666431,34.1463063848,34.1361635759,34.1260381613, | |
349 | 34.1159300859,34.1058392949,34.0957657339,34.0857093486,34.075670085, | |
350 | 34.0656478894,34.0556427083,34.0456544884,34.0356831767,34.0257287205, | |
351 | 34.0157910671,34.0058701643,33.9959659601,33.9860784026,33.9762074403, | |
352 | 33.9663530217,33.9565150959,33.9466936118,33.9368885189,33.9270997666, | |
353 | 33.9173273049,33.9075710837,33.8978310533,33.8881071641,33.8783993668, | |
354 | 33.8687076124,33.8590318519,33.8493720367,33.8397281184,33.8301000487, | |
355 | 33.8204877797,33.8108912635,33.8013104526,33.7917452996,33.7821957572, | |
356 | 33.7726617786,33.763143317,33.7536403258,33.7441527588,33.7346805697, | |
357 | 33.7252237126,33.7157821418,33.7063558118,33.6969446771,33.6875486927, | |
358 | 33.6781678136,33.6688019951,33.6594511925,33.6501153616,33.6407944581, | |
359 | 33.631488438,33.6221972577,33.6129208733,33.6036592416,33.5944123194, | |
360 | 33.5851800634,33.575962431,33.5667593793,33.5575708659,33.5483968486, | |
361 | 33.539237285,33.5300921334,33.5209613518,33.5118448987,33.5027427327, | |
362 | 33.4936548125,33.484581097,33.4755215454,33.4664761168,33.4574447707, | |
363 | 33.4484274668,33.4394241647,33.4304348245,33.4214594063,33.4124978703, | |
364 | 33.403550177,33.3946162869,33.3856961609,33.3767897599,33.367897045, | |
365 | 33.3590179775,33.3501525187,33.3413006302,33.3324622739,33.3236374115, | |
366 | 33.3148260051,33.3060280169,33.2972434094,33.2884721449,33.2797141863, | |
367 | 33.2709694962,33.2622380377,33.2535197739,33.2448146681,33.2361226837, | |
368 | 33.2274437842,33.2187779335,33.2101250953,33.2014852337,33.1928583128, | |
369 | 33.184244297,33.1756431507,33.1670548384,33.158479325,33.1499165753, | |
370 | 33.1413665542,33.1328292271,33.124304559,33.1157925156,33.1072930624, | |
371 | 33.098806165,33.0903317894,33.0818699015,33.0734204674,33.0649834534, | |
372 | 33.0565588258,33.0481465513,33.0397465963,33.0313589278,33.0229835126, | |
373 | 33.0146203178,33.0062693106,32.9979304582,32.989603728,32.9812890877, | |
374 | 32.972986505,32.9646959476,32.9564173834,32.9481507806,32.9398961073, | |
375 | 32.9316533318,32.9234224226,32.9152033482,32.9069960773,32.8988005787, | |
376 | 32.8906168214,32.8824447742,32.8742844065,32.8661356875,32.8579985866, | |
377 | 32.8498730732,32.8417591171,32.833656688,32.8255657557,32.8174862902, | |
378 | 32.8094182617,32.8013616402,32.7933163962,32.7852825001,32.7772599223, | |
379 | 32.7692486337,32.7612486048,32.7532598067,32.7452822103,32.7373157867, | |
380 | 32.7293605071,32.7214163428,32.7134832652,32.705561246,32.6976502567, | |
381 | 32.689750269,32.6818612548,32.6739831862,32.666116035,32.6582597736, | |
382 | 32.6504143741,32.6425798089,32.6347560506,32.6269430716,32.6191408447, | |
383 | 32.6113493427,32.6035685384,32.5957984048,32.588038915,32.5802900421, | |
384 | 32.5725517595,32.5648240406,32.5571068587,32.5494001875,32.5417040007, | |
385 | 32.5340182719,32.5263429752,32.5186780844,32.5110235735,32.5033794168, | |
386 | 32.4957455885,32.4881220628,32.4805088143,32.4729058175,32.4653130469, | |
387 | 32.4577304774,32.4501580835,32.4425958404,32.4350437229,32.4275017061, | |
388 | 32.4199697652,32.4124478754,32.404936012,32.3974341505,32.3899422665, | |
389 | 32.3824603354,32.374988333,32.3675262351,32.3600740175,32.3526316561, | |
390 | 32.3451991271,32.3377764065,32.3303634705,32.3229602955,32.3155668577, | |
391 | 32.3081831337,32.3008091,32.2934447331,32.2860900099,32.2787449071, | |
392 | 32.2714094015,32.2640834702,32.2567670901,32.2494602383,32.2421628922, | |
393 | 32.2348750288,32.2275966256,32.22032766,32.2130681096,32.2058179518, | |
394 | 32.1985771644,32.1913457251,32.1841236118,32.1769108022,32.1697072745, | |
395 | 32.1625130066,32.1553279767,32.148152163,32.1409855437,32.1338280972, | |
396 | 32.126679802,32.1195406365,32.1124105793,32.1052896091,32.0981777045, | |
397 | 32.0910748445,32.0839810077,32.0768961733,32.0698203201,32.0627534273, | |
398 | 32.0556954741,32.0486464396,32.0416063031,32.0345750441,32.0275526419, | |
399 | 32.020539076,32.0135343261,32.0065383718,31.9995511928,31.9925727688, | |
400 | 31.9856030797,31.9786421055,31.9716898261,31.9647462215,31.957811272, | |
401 | 31.9508849576,31.9439672587,31.9370581555,31.9301576284,31.9232656579, | |
402 | 31.9163822245,31.9095073088,31.9026408914,31.895782953,31.8889334744, | |
403 | 31.8820924364,31.87525982,31.8684356061,31.8616197757,31.8548123099, | |
404 | 31.8480131899,31.8412223968,31.834439912,31.8276657168,31.8208997926, | |
405 | 31.8141421208,31.8073926829,31.8006514606,31.7939184355,31.7871935893, | |
406 | 31.7804769038,31.7737683607,31.7670679419,31.7603756294,31.7536914052, | |
407 | 31.7470152514,31.74034715,31.7336870832,31.7270350332,31.7203909824, | |
408 | 31.7137549131,31.7071268077,31.7005066486,31.6938944183,31.6872900995, | |
409 | 31.6806936748,31.6741051267,31.6675244382,31.6609515919,31.6543865707, | |
410 | 31.6478293576,31.6412799354,31.6347382873,31.6282043961,31.6216782452, | |
411 | 31.6151598176,31.6086490966,31.6021460655,31.5956507075,31.5891630062, | |
412 | 31.5826829449,31.576210507,31.5697456763,31.5632884362,31.5568387704, | |
413 | 31.5503966626,31.5439620966,31.5375350561,31.5311155251,31.5247034874, | |
414 | 31.5182989269,31.5119018277,31.5055121739,31.4991299494,31.4927551386, | |
415 | 31.4863877255,31.4800276945,31.4736750299,31.4673297159,31.4609917371, | |
416 | 31.4546610778,31.4483377225,31.4420216558,31.4357128623,31.4294113266, | |
417 | 31.4231170334,31.4168299674,31.4105501135,31.4042774564,31.398011981, | |
418 | 31.3917536723,31.3855025152,31.3792584947,31.3730215959,31.3667918039, | |
419 | 31.3605691038,31.3543534809,31.3481449203,31.3419434074,31.3357489276, | |
420 | 31.329561466,31.3233810083,31.3172075399,31.3110410462,31.3048815128, | |
421 | 31.2987289254,31.2925832695,31.2864445309,31.2803126952,31.2741877483, | |
422 | 31.2680696759,31.261958464,31.2558540983,31.249756565,31.2436658498, | |
423 | 31.2375819389,31.2315048184,31.2254344742,31.2193708927,31.2133140599, | |
424 | 31.2072639622,31.2012205857,31.1951839169,31.189153942,31.1831306474, | |
425 | 31.1771140197,31.1711040452,31.1651007105,31.1591040022,31.1531139068, | |
426 | 31.1471304109,31.1411535014,31.1351831648,31.1292193879,31.1232621575, | |
427 | 31.1173114605,31.1113672838,31.1054296141,31.0994984385,31.0935737441, | |
428 | 31.0876555177,31.0817437464,31.0758384175,31.0699395179,31.0640470349, | |
429 | 31.0581609557,31.0522812675,31.0464079577,31.0405410135,31.0346804223, | |
430 | 31.0288261716,31.0229782487,31.0171366411,31.0113013363,31.0054723219, | |
431 | 30.9996495855,30.9938331146,30.988022897,30.9822189203,30.9764211722, | |
432 | 30.9706296405,30.9648443129,30.9590651774,30.9532922218,30.9475254339, | |
433 | 30.9417648017 | |
434 | } | |
435 | }, | |
436 | { | |
437 | // Ri = 250k | |
438 | -5,5,200,2001, { | |
439 | 223.484971051,223.38189846,223.278606859,223.175096438,223.071367386, | |
440 | 222.967419894,222.863254153,222.758870355,222.654268692,222.549449358, | |
441 | 222.444412546,222.339158451,222.233687268,222.127999193,222.022094421, | |
442 | 221.915973151,221.809635579,221.703081904,221.596312324,221.489327039, | |
443 | 221.382126248,221.274710152,221.167078951,221.059232846,220.951172041, | |
444 | 220.842896736,220.734407134,220.62570344,220.516785857,220.407654588, | |
445 | 220.298309839,220.188751814,220.078980719,219.96899676,219.858800143, | |
446 | 219.748391075,219.637769762,219.526936413,219.415891235,219.304634436, | |
447 | 219.193166225,219.081486809,218.9695964,218.857495205,218.745183435, | |
448 | 218.6326613,218.519929009,218.406986775,218.293834807,218.180473316, | |
449 | 218.066902515,217.953122614,217.839133825,217.724936362,217.610530435, | |
450 | 217.495916257,217.381094042,217.266064002,217.150826349,217.035381299, | |
451 | 216.919729063,216.803869855,216.68780389,216.571531381,216.455052541, | |
452 | 216.338367587,216.22147673,216.104380187,215.987078171,215.869570897, | |
453 | 215.75185858,215.633941434,215.515819675,215.397493517,215.278963175, | |
454 | 215.160228865,215.041290801,214.922149198,214.802804272,214.683256238, | |
455 | 214.563505311,214.443551707,214.32339564,214.203037325,214.082476979, | |
456 | 213.961714816,213.840751051,213.719585899,213.598219576,213.476652297, | |
457 | 213.354884277,213.232915731,213.110746873,212.988377919,212.865809083, | |
458 | 212.74304058,212.620072625,212.496905433,212.373539217,212.249974193, | |
459 | 212.126210573,212.002248574,211.878088408,211.75373029,211.629174433, | |
460 | 211.504421051,211.379470357,211.254322565,211.128977889,211.003436541, | |
461 | 210.877698734,210.751764681,210.625634594,210.499308686,210.37278717, | |
462 | 210.246070256,210.119158158,209.992051086,209.864749253,209.737252869, | |
463 | 209.609562146,209.481677294,209.353598524,209.225326046,209.096860071, | |
464 | 208.968200809,208.839348469,208.710303261,208.581065394,208.451635077, | |
465 | 208.322012519,208.192197928,208.062191513,207.931993481,207.801604041, | |
466 | 207.671023398,207.540251762,207.409289338,207.278136334,207.146792955, | |
467 | 207.015259407,206.883535897,206.75162263,206.61951981,206.487227642, | |
468 | 206.354746332,206.222076083,206.089217099,205.956169583,205.82293374, | |
469 | 205.689509771,205.555897879,205.422098267,205.288111136,205.153936688, | |
470 | 205.019575125,204.885026646,204.750291453,204.615369746,204.480261724, | |
471 | 204.344967587,204.209487534,204.073821763,203.937970474,203.801933864, | |
472 | 203.66571213,203.52930547,203.392714081,203.255938159,203.1189779, | |
473 | 202.9818335,202.844505154,202.706993058,202.569297405,202.43141839, | |
474 | 202.293356206,202.155111047,202.016683105,201.878072574,201.739279645, | |
475 | 201.60030451,201.46114736,201.321808386,201.182287779,201.042585728, | |
476 | 200.902702422,200.762638052,200.622392806,200.481966872,200.341360438, | |
477 | 200.200573692,200.059606819,199.918460008,199.777133444,199.635627312, | |
478 | 199.493941798,199.352077087,199.210033363,199.067810809,198.92540961, | |
479 | 198.782829948,198.640072006,198.497135966,198.354022009,198.210730316, | |
480 | 198.067261068,197.923614446,197.779790629,197.635789796,197.491612126, | |
481 | 197.347257797,197.202726987,197.058019875,196.913136635,196.768077446, | |
482 | 196.622842482,196.477431919,196.331845933,196.186084697,196.040148386, | |
483 | 195.894037174,195.747751232,195.601290734,195.454655852,195.307846758, | |
484 | 195.160863622,195.013706614,194.866375906,194.718871667,194.571194065, | |
485 | 194.423343269,194.275319448,194.127122768,193.978753398,193.830211503, | |
486 | 193.681497249,193.532610803,193.383552329,193.234321992,193.084919955, | |
487 | 192.935346382,192.785601437,192.635685281,192.485598078,192.335339987, | |
488 | 192.18491117,192.034311788,191.883542,191.732601966,191.581491845, | |
489 | 191.430211795,191.278761974,191.127142539,190.975353646,190.823395454, | |
490 | 190.671268116,190.518971788,190.366506625,190.213872781,190.06107041, | |
491 | 189.908099664,189.754960697,189.60165366,189.448178705,189.294535983, | |
492 | 189.140725644,188.986747838,188.832602716,188.678290424,188.523811112, | |
493 | 188.369164928,188.214352019,188.059372531,187.904226611,187.748914404, | |
494 | 187.593436056,187.43779171,187.281981512,187.126005604,186.96986413, | |
495 | 186.813557231,186.65708505,186.500447728,186.343645406,186.186678223, | |
496 | 186.029546321,185.872249837,185.714788911,185.55716368,185.399374282, | |
497 | 185.241420854,185.083303532,184.925022453,184.766577751,184.607969561, | |
498 | 184.449198018,184.290263255,184.131165406,183.971904603,183.812480977, | |
499 | 183.652894661,183.493145785,183.333234481,183.173160876,183.012925102, | |
500 | 182.852527286,182.691967558,182.531246043,182.37036287,182.209318165, | |
501 | 182.048112055,181.886744663,181.725216116,181.563526538,181.401676052, | |
502 | 181.239664781,181.077492849,180.915160377,180.752667487,180.5900143, | |
503 | 180.427200936,180.264227516,180.101094157,179.937800981,179.774348103, | |
504 | 179.610735643,179.446963717,179.283032441,179.118941933,178.954692306, | |
505 | 178.790283677,178.625716159,178.460989866,178.296104912,178.131061408, | |
506 | 177.965859467,177.800499201,177.634980721,177.469304136,177.303469557, | |
507 | 177.137477093,176.971326853,176.805018945,176.638553477,176.471930555, | |
508 | 176.305150286,176.138212776,175.971118131,175.803866455,175.636457852, | |
509 | 175.468892427,175.301170281,175.133291519,174.965256242,174.797064551, | |
510 | 174.628716547,174.460212331,174.291552002,174.12273566,173.953763402, | |
511 | 173.784635329,173.615351536,173.44591212,173.276317179,173.106566808, | |
512 | 172.936661103,172.766600157,172.596384066,172.426012922,172.255486819, | |
513 | 172.084805849,171.913970105,171.742979677,171.571834657,171.400535134, | |
514 | 171.229081198,171.057472939,170.885710445,170.713793803,170.541723102, | |
515 | 170.369498428,170.197119867,170.024587505,169.851901428,169.67906172, | |
516 | 169.506068464,169.332921745,169.159621646,168.986168248,168.812561633, | |
517 | 168.638801884,168.464889079,168.2908233,168.116604626,167.942233136, | |
518 | 167.767708909,167.593032021,167.418202552,167.243220576,167.068086171, | |
519 | 166.892799412,166.717360374,166.541769131,166.366025758,166.190130327, | |
520 | 166.014082912,165.837883585,165.661532417,165.48502948,165.308374843, | |
521 | 165.131568578,164.954610753,164.777501437,164.600240698,164.422828605, | |
522 | 164.245265224,164.067550622,163.889684865,163.711668018,163.533500146, | |
523 | 163.355181313,163.176711584,162.998091022,162.819319688,162.640397646, | |
524 | 162.461324957,162.28210168,162.102727878,161.92320361,161.743528935, | |
525 | 161.563703911,161.383728597,161.203603051,161.023327328,160.842901487, | |
526 | 160.662325582,160.481599669,160.300723803,160.119698037,159.938522426, | |
527 | 159.757197022,159.575721877,159.394097045,159.212322576,159.03039852, | |
528 | 158.848324929,158.666101851,158.483729336,158.301207432,158.118536187, | |
529 | 157.935715649,157.752745864,157.569626879,157.38635874,157.20294149, | |
530 | 157.019375176,156.83565984,156.651795527,156.467782279,156.283620139, | |
531 | 156.099309148,155.914849347,155.730240777,155.545483478,155.36057749, | |
532 | 155.175522851,154.9903196,154.804967774,154.61946741,154.433818546, | |
533 | 154.248021217,154.062075459,153.875981307,153.689738795,153.503347956, | |
534 | 153.316808825,153.130121434,152.943285814,152.756301998,152.569170017, | |
535 | 152.3818899,152.194461677,152.006885379,151.819161033,151.631288668, | |
536 | 151.443268311,151.25509999,151.06678373,150.878319558,150.689707498, | |
537 | 150.500947577,150.312039817,150.122984243,149.933780877,149.744429742, | |
538 | 149.55493086,149.365284253,149.17548994,148.985547943,148.79545828, | |
539 | 148.605220971,148.414836035,148.224303489,148.033623351,147.842795638, | |
540 | 147.651820366,147.46069755,147.269427206,147.078009348,146.886443991, | |
541 | 146.694731147,146.50287083,146.310863051,146.118707824,145.926405158, | |
542 | 145.733955065,145.541357554,145.348612635,145.155720318,144.962680609, | |
543 | 144.769493518,144.576159051,144.382677215,144.189048016,143.995271461, | |
544 | 143.801347552,143.607276296,143.413057696,143.218691756,143.024178478, | |
545 | 142.829517864,142.634709916,142.439754635,142.244652022,142.049402077, | |
546 | 141.854004798,141.658460186,141.462768238,141.266928951,141.070942324, | |
547 | 140.874808353,140.678527034,140.482098363,140.285522334,140.088798942, | |
548 | 139.891928181,139.694910044,139.497744525,139.300431614,139.102971305, | |
549 | 138.905363588,138.707608454,138.509705892,138.311655894,138.113458446, | |
550 | 137.915113539,137.71662116,137.517981296,137.319193934,137.120259061, | |
551 | 136.921176662,136.721946723,136.522569228,136.323044162,136.123371508, | |
552 | 135.923551249,135.723583369,135.523467849,135.32320467,135.122793815, | |
553 | 134.922235263,134.721528995,134.52067499,134.319673227,134.118523685, | |
554 | 133.917226342,133.715781176,133.514188163,133.31244728,133.110558503, | |
555 | 132.908521808,132.70633717,132.504004564,132.301523963,132.098895342, | |
556 | 131.896118674,131.693193931,131.490121086,131.286900111,131.083530977, | |
557 | 130.880013655,130.676348115,130.472534329,130.268572264,130.064461891, | |
558 | 129.860203179,129.655796095,129.451240608,129.246536686,129.041684295, | |
559 | 128.836683403,128.631533975,128.426235979,128.220789379,128.015194141, | |
560 | 127.80945023,127.603557611,127.397516247,127.191326104,126.984987144, | |
561 | 126.778499331,126.571862629,126.365076999,126.158142404,125.951058808, | |
562 | 125.74382617,125.536444455,125.328913622,125.121233634,124.913404451, | |
563 | 124.705426035,124.497298346,124.289021346,124.080594993,123.87201925, | |
564 | 123.663294075,123.45441943,123.245395274,123.036221568,122.826898272, | |
565 | 122.617425345,122.407802748,122.198030441,121.988108384,121.778036537, | |
566 | 121.567814861,121.357443316,121.146921862,120.936250462,120.725429075, | |
567 | 120.514457662,120.303336187,120.09206461,119.880642893,119.669071, | |
568 | 119.457348893,119.245476537,119.033453894,118.821280929,118.608957608, | |
569 | 118.396483896,118.18385976,117.971085166,117.758160083,117.545084479, | |
570 | 117.331858324,117.118481589,116.904954244,116.691276262,116.477447617, | |
571 | 116.263468283,116.049338237,115.835057456,115.620625918,115.406043603, | |
572 | 115.191310494,114.976426573,114.761391825,114.546206237,114.330869797, | |
573 | 114.115382497,113.899744328,113.683955284,113.468015365,113.251924567, | |
574 | 113.035682894,112.819290349,112.60274694,112.386052677,112.169207573, | |
575 | 111.952211643,111.735064908,111.517767389,111.300319114,111.082720112, | |
576 | 110.864970417,110.647070067,110.429019104,110.210817576,109.992465532, | |
577 | 109.77396303,109.55531013,109.336506899,109.117553408,108.898449735, | |
578 | 108.679195963,108.459792182,108.240238489,108.020534985,107.800681781, | |
579 | 107.580678994,107.360526749,107.140225178,106.919774422,106.69917463, | |
580 | 106.478425962,106.257528585,106.036482676,105.815288423,105.593946025, | |
581 | 105.372455689,105.150817638,104.929032102,104.707099327,104.48501957, | |
582 | 104.262793102,104.040420207,103.817901185,103.595236351,103.372426033, | |
583 | 103.149470578,102.926370349,102.703125726,102.479737108,102.256204914, | |
584 | 102.032529581,101.808711566,101.58475135,101.360649435,101.136406344, | |
585 | 100.912022628,100.687498859,100.462835637,100.23803359,100.013093371, | |
586 | 99.7880156641,99.5628011832,99.3374506734,99.1119649126,98.8863447123, | |
587 | 98.6605909195,98.4347044173,98.2086861271,97.9825370096,97.7562580661, | |
588 | 97.5298503407,97.3033149214,97.076652942,96.8498655839,96.6229540776, | |
589 | 96.3959197048,96.1687638004,95.9414877543,95.7140930135,95.4865810843, | |
590 | 95.2589535346,95.0312119958,94.8033581658,94.5753938109,94.3473207683, | |
591 | 94.1191409492,93.8908563411,93.6624690106,93.4339811063,93.205394862, | |
592 | 92.9767125993,92.7479367311,92.5190697648,92.2901143054,92.0610730592, | |
593 | 91.8319488373,91.602744559,91.373463256,91.1441080758,90.9146822859, | |
594 | 90.6851892779,90.4556325714,90.2260158187,89.9963428088,89.7666174721, | |
595 | 89.536843885,89.3070262745,89.0771690233,88.8472766741,88.6173539356, | |
596 | 88.3874056866,88.1574369818,87.9274530572,87.697459335,87.4674614297, | |
597 | 87.237465153,87.0074765201,86.7775017551,86.5475472965,86.3176198036, | |
598 | 86.087726162,85.8578734896,85.6280691424,85.3983207206,85.1686360744, | |
599 | 84.9390233102,84.7094907959,84.4800471675,84.2507013342,84.0214624844, | |
600 | 83.7923400915,83.5633439187,83.334484025,83.1057707701,82.8772148192, | |
601 | 82.6488271479,82.4206190466,82.1926021248,81.9647883147,81.7371898752, | |
602 | 81.5098193947,81.282689794,81.0558143286,80.8292065906,80.6028805099, | |
603 | 80.3768503551,80.1511307336,79.9257365914,79.7006832114,79.4759862124, | |
604 | 79.2516615459,79.0277254929,78.80419466,78.5810859742,78.3584166771, | |
605 | 78.1362043179,77.914466746,77.6932221017,77.4724888073,77.2522855555, | |
606 | 77.0326312982,76.8135452334,76.5950467914,76.3771556195,76.1598915665, | |
607 | 75.943274665,75.7273251137,75.5120632578,75.297509569,75.0836846242, | |
608 | 74.8706090831,74.6583036656,74.4467891271,74.2360862344,74.0262157397, | |
609 | 73.8171983546,73.609054723,73.4018053941,73.195470794,72.9900711983, | |
610 | 72.7856267028,72.5821571954,72.3796823271,72.1782214839,71.9777937575, | |
611 | 71.7784179177,71.5801123841,71.3828951991,71.1867840008,70.9917959968, | |
612 | 70.7979479394,70.6052561006,70.413736249,70.2234036275,70.0342729319, | |
613 | 69.8463582915,69.6596732499,69.4742307486,69.2900431108,69.1071220272, | |
614 | 68.925478544,68.7451230512,68.5660652733,68.3883142621,68.2118783899, | |
615 | 68.0367653452,67.8629821298,67.6905350579,67.5194297558,67.349671164, | |
616 | 67.1812635406,67.0142104662,66.8485148499,66.6841789368,66.5212043171, | |
617 | 66.359591936,66.1993421046,66.0404545127,65.8829282415,65.7267617781, | |
618 | 65.5719530301,65.4184993417,65.2663975098,65.1156438011,64.9662339694, | |
619 | 64.8181632736,64.6714264963,64.5260179616,64.3819315545,64.2391607398, | |
620 | 64.0976985804,63.9575377573,63.8186705879,63.6810890449,63.5447847755, | |
621 | 63.4097491195,63.2759731279,63.1434475806,63.0121630047,62.8821096914, | |
622 | 62.7532777134,62.6256569412,62.4992370596,62.3740075834,62.2499578725, | |
623 | 62.1270771474,62.0053545027,61.8847789218,61.7653392897,61.6470244065, | |
624 | 61.5298229991,61.4137237339,61.2987152275,61.1847860581,61.0719247757, | |
625 | 60.9601199122,60.8493599906,60.7396335345,60.630929076,60.5232351645, | |
626 | 60.4165403737,60.3108333094,60.2061026159,60.1023369826,59.9995251502, | |
627 | 59.8976559158,59.7967181389,59.6967007458,59.5975927344,59.4993831786, | |
628 | 59.4020612319,59.3056161312,59.2100372005,59.1153138535,59.0214355966, | |
629 | 58.9283920315,58.8361728577,58.7447678742,58.6541669817,58.5643601843, | |
630 | 58.4753375907,58.3870894158,58.2996059815,58.2128777181,58.1268951645, | |
631 | 58.0416489694,57.9571298914,57.8733287998,57.7902366743,57.7078446055, | |
632 | 57.6261437948,57.5451255545,57.4647813073,57.3851025863,57.3060810344, | |
633 | 57.2277084041,57.1499765569,57.0728774627,56.9964031993,56.9205459515, | |
634 | 56.8452980105,56.7706517731,56.6965997408,56.6231345189,56.5502488157, | |
635 | 56.4779354416,56.4061873078,56.3349974256,56.2643589053,56.1942649551, | |
636 | 56.12470888,56.0556840808,55.9871840529,55.9192023854,55.8517327594, | |
637 | 55.7847689478,55.7183048131,55.6523343072,55.5868514695,55.5218504263, | |
638 | 55.4573253892,55.3932706543,55.3296806009,55.2665496903,55.2038724646, | |
639 | 55.1416435458,55.0798576345,55.0185095087,54.9575940229,54.8971061066, | |
640 | 54.8370407637,54.7773930709,54.718158177,54.6593313016,54.6009077341, | |
641 | 54.5428828326,54.4852520229,54.4280107972,54.3711547138,54.3146793951, | |
642 | 54.2585805273,54.2028538591,54.147495201,54.092500424,54.0378654587, | |
643 | 53.9835862945,53.9296589787,53.8760796154,53.8228443647,53.7699494418, | |
644 | 53.7173911161,53.6651657104,53.6132695999,53.5616992114,53.5104510228, | |
645 | 53.4595215617,53.408907405,53.358605178,53.3086115536,53.2589232516, | |
646 | 53.2095370379,53.1604497237,53.1116581648,53.0631592611,53.0149499554, | |
647 | 52.9670272332,52.9193881217,52.8720296893,52.8249490449,52.7781433372, | |
648 | 52.7316097539,52.6853455215,52.6393479043,52.5936142039,52.5481417587, | |
649 | 52.5029279432,52.4579701673,52.4132658761,52.3688125489,52.3246076991, | |
650 | 52.2806488732,52.2369336506,52.193459643,52.1502244938,52.1072258777, | |
651 | 52.0644615,52.0219290964,51.9796264325,51.9375513029,51.8957015313, | |
652 | 51.8540749699,51.8126694984,51.7714830245,51.7305134827,51.6897588342, | |
653 | 51.6492170664,51.6088861928,51.568764252,51.5288493078,51.4891394485, | |
654 | 51.4496327869,51.4103274594,51.3712216261,51.3323134703,51.2936011979, | |
655 | 51.2550830374,51.2167572394,51.1786220761,51.1406758414,51.1029168502, | |
656 | 51.065343438,51.0279539611,50.9907467956,50.9537203379,50.9168730035, | |
657 | 50.8802032274,50.8437094637,50.8073901849,50.7712438821,50.7352690645, | |
658 | 50.6994642591,50.6638280107,50.6283588811,50.5930554497,50.5579163121, | |
659 | 50.522940081,50.4881253853,50.4534708698,50.4189751955,50.3846370388, | |
660 | 50.3504550916,50.3164280609,50.2825546688,50.2488336522,50.2152637622, | |
661 | 50.1818437647,50.1485724393,50.1154485799,50.0824709937,50.0496385019, | |
662 | 50.0169499386,49.9844041515,49.9520000008,49.9197363597,49.8876121142, | |
663 | 49.8556261623,49.8237774146,49.7920647936,49.7604872338,49.7290436813, | |
664 | 49.6977330941,49.6665544412,49.6355067033,49.6045888718,49.5737999493, | |
665 | 49.5431389491,49.5126048954,49.4821968226,49.4519137756,49.4217548096, | |
666 | 49.3917189898,49.3618053914,49.3320130994,49.3023412085,49.2727888229, | |
667 | 49.2433550565,49.2140390322,49.1848398821,49.1557567476,49.1267887789, | |
668 | 49.0979351349,49.0691949835,49.040567501,49.0120518721,48.9836472901, | |
669 | 48.9553529564,48.9271680807,48.8990918806,48.8711235817,48.8432624174, | |
670 | 48.815507629,48.7878584653,48.7603141827,48.732874045,48.7055373233, | |
671 | 48.6783032962,48.6511712493,48.6241404752,48.5972102736,48.5703799512, | |
672 | 48.5436488213,48.517016204,48.4904814261,48.464043821,48.4377027285, | |
673 | 48.4114574948,48.3853074723,48.35925202,48.3332905028,48.3074222917, | |
674 | 48.2816467637,48.2559633019,48.2303712951,48.204870138,48.179459231, | |
675 | 48.1541379801,48.1289057971,48.103762099,48.0787063085,48.0537378537, | |
676 | 48.0288561678,48.0040606896,47.9793508627,47.9547261362,47.9301859641, | |
677 | 47.9057298055,47.8813571243,47.8570673896,47.832860075,47.8087346591, | |
678 | 47.7846906251,47.7607274611,47.7368446597,47.7130417179,47.6893181375, | |
679 | 47.6656734245,47.6421070895,47.6186186475,47.5952076176,47.5718735233, | |
680 | 47.5486158923,47.5254342566,47.5023281519,47.4792971185,47.4563407004, | |
681 | 47.4334584457,47.4106499063,47.3879146382,47.3652522011,47.3426621586, | |
682 | 47.3201440779,47.2976975301,47.27532209,47.2530173358,47.2307828496, | |
683 | 47.2086182168,47.1865230265,47.1644968713,47.142539347,47.1206500531, | |
684 | 47.0988285923,47.0770745708,47.0553875978,47.033767286,47.0122132513, | |
685 | 46.9907251128,46.9693024927,46.9479450163,46.926652312,46.9054240114, | |
686 | 46.884259749,46.8631591622,46.8421218916,46.8211475806,46.8002358755, | |
687 | 46.7793864255,46.7585988825,46.7378729014,46.7172081399,46.6966042582, | |
688 | 46.6760609195,46.6555777895,46.6351545368,46.6147908322,46.5944863497, | |
689 | 46.5742407654,46.5540537582,46.5339250095,46.5138542031,46.4938410254, | |
690 | 46.4738851652,46.4539863139,46.434144165,46.4143584145,46.394628761, | |
691 | 46.374954905,46.3553365498,46.3357734005,46.3162651648,46.2968115526, | |
692 | 46.2774122759,46.258067049,46.2387755882,46.2195376123,46.200352842, | |
693 | 46.181221,46.1621418113,46.143115003,46.124140304,46.1052174456, | |
694 | 46.0863461607,46.0675261845,46.0487572541,46.0300391084,46.0113714885, | |
695 | 45.9927541372,45.9741867993,45.9556692215,45.9372011522,45.9187823419, | |
696 | 45.9004125427,45.8820915086,45.8638189954,45.8455947607,45.8274185639, | |
697 | 45.8092901659,45.7912093296,45.7731758195,45.7551894018,45.7372498443, | |
698 | 45.7193569166,45.7015103899,45.683710037,45.6659556324,45.648246952, | |
699 | 45.6305837735,45.6129658761,45.5953930405,45.5778650491,45.5603816856, | |
700 | 45.5429427354,45.5255479853,45.5081972237,45.4908902404,45.4736268266, | |
701 | 45.4564067751,45.4392298799,45.4220959367,45.4050047424,45.3879560955, | |
702 | 45.3709497956,45.3539856439,45.3370634429,45.3201829964,45.3033441096, | |
703 | 45.286546589,45.2697902423,45.2530748788,45.2364003088,45.2197663439, | |
704 | 45.2031727971,45.1866194827,45.170106216,45.1536328136,45.1371990936, | |
705 | 45.120804875,45.1044499781,45.0881342244,45.0718574366,45.0556194386, | |
706 | 45.0394200553,45.0232591129,45.0071364388,44.9910518613,44.97500521, | |
707 | 44.9589963155,44.9430250097,44.9270911254,44.9111944966,44.8953349582, | |
708 | 44.8795123463,44.8637264982,44.8479772519,44.8322644468,44.816587923, | |
709 | 44.8009475218,44.7853430856,44.7697744577,44.7542414822,44.7387440046, | |
710 | 44.7232818711,44.7078549288,44.6924630261,44.677106012,44.6617837367, | |
711 | 44.6464960512,44.6312428075,44.6160238584,44.6008390578,44.5856882605, | |
712 | 44.570571322,44.5554880988,44.5404384485,44.5254222292,44.5104393001, | |
713 | 44.4954895213,44.4805727536,44.4656888589,44.4508376997,44.4360191394, | |
714 | 44.4212330422,44.4064792734,44.3917576987,44.3770681849,44.3624105996, | |
715 | 44.347784811,44.3331906883,44.3186281014,44.3040969209,44.2895970184, | |
716 | 44.2751282661,44.2606905369,44.2462837046,44.2319076438,44.2175622296, | |
717 | 44.2032473381,44.188962846,44.1747086307,44.1604845704,44.1462905441, | |
718 | 44.1321264312,44.1179921121,44.1038874679,44.0898123802,44.0757667314, | |
719 | 44.0617504046,44.0477632835,44.0338052526,44.0198761971,44.0059760025, | |
720 | 43.9921045555,43.978261743,43.9644474528,43.9506615732,43.9369039933, | |
721 | 43.9231746028,43.9094732918,43.8957999513,43.8821544728,43.8685367485, | |
722 | 43.854946671,43.8413841338,43.8278490309,43.8143412567,43.8008607064, | |
723 | 43.7874072758,43.7739808611,43.7605813594,43.747208668,43.733862685, | |
724 | 43.720543309,43.7072504393,43.6939839756,43.6807438181,43.6675298677, | |
725 | 43.6543420258,43.6411801944,43.628044276,43.6149341734,43.6018497904, | |
726 | 43.5887910309,43.5757577997,43.5627500017,43.5497675426,43.5368103287, | |
727 | 43.5238782665,43.5109712632,43.4980892264,43.4852320645,43.4723996859, | |
728 | 43.459592,43.4468089162,43.4340503448,43.4213161963,43.4086063818, | |
729 | 43.395920813,43.3832594017,43.3706220606,43.3580087026,43.3454192411, | |
730 | 43.33285359,43.3203116637,43.3077933769,43.2952986449,43.2828273833, | |
731 | 43.2703795084,43.2579549366,43.2455535849,43.2331753709,43.2208202124, | |
732 | 43.2084880276,43.1961787354,43.1838922548,43.1716285054,43.1593874071, | |
733 | 43.1471688805,43.1349728462,43.1227992256,43.1106479402,43.0985189119, | |
734 | 43.0864120634,43.0743273173,43.0622645969,43.0502238257,43.0382049278, | |
735 | 43.0262078276,43.0142324497,43.0022787194,42.9903465622,42.9784359039, | |
736 | 42.9665466709,42.9546787897,42.9428321874,42.9310067914,42.9192025293, | |
737 | 42.9074193294,42.89565712,42.88391583,42.8721953886,42.8604957252, | |
738 | 42.8488167698,42.8371584525,42.825520704,42.8139034551,42.8023066371, | |
739 | 42.7907301817,42.7791740206,42.7676380862,42.7561223111,42.7446266282, | |
740 | 42.7331509707,42.7216952722,42.7102594667,42.6988434883,42.6874472716, | |
741 | 42.6760707514,42.664713863,42.6533765417,42.6420587235,42.6307603444, | |
742 | 42.6194813408,42.6082216494,42.5969812074,42.5857599519,42.5745578207, | |
743 | 42.5633747516,42.5522106829,42.5410655531,42.529939301,42.5188318657, | |
744 | 42.5077431866,42.4966732034,42.485621856,42.4745890847,42.4635748299, | |
745 | 42.4525790326,42.4416016337,42.4306425747,42.4197017972,42.4087792431, | |
746 | 42.3978748545,42.3869885739,42.3761203441,42.365270108,42.3544378088, | |
747 | 42.3436233901,42.3328267957,42.3220479695,42.3112868559,42.3005433995, | |
748 | 42.2898175449,42.2791092374,42.2684184221,42.2577450447,42.2470890509, | |
749 | 42.2364503869,42.2258289989,42.2152248334,42.2046378373,42.1940679577, | |
750 | 42.1835151416,42.1729793368,42.1624604909,42.1519585519,42.1414734681, | |
751 | 42.1310051879,42.1205536599,42.1101188331,42.0997006567,42.08929908, | |
752 | 42.0789140527,42.0685455244,42.0581934454,42.0478577658,42.0375384362, | |
753 | 42.0272354073,42.0169486299,42.0066780553,41.9964236349,41.9861853201, | |
754 | 41.9759630629,41.9657568151,41.955566529,41.9453921571,41.935233652, | |
755 | 41.9250909665,41.9149640537,41.9048528668,41.8947573593,41.8846774848, | |
756 | 41.8746131972,41.8645644507,41.8545311993,41.8445133977,41.8345110004, | |
757 | 41.8245239623,41.8145522385,41.8045957842,41.7946545548,41.784728506, | |
758 | 41.7748175936,41.7649217736,41.7550410021,41.7451752356,41.7353244307, | |
759 | 41.725488544,41.7156675325,41.7058613534,41.696069964,41.6862933217, | |
760 | 41.6765313841,41.6667841092,41.657051455,41.6473333796,41.6376298415, | |
761 | 41.6279407991,41.6182662112,41.6086060367,41.5989602347,41.5893287644, | |
762 | 41.5797115852,41.5701086567,41.5605199386,41.5509453909,41.5413849736, | |
763 | 41.531838647,41.5223063714,41.5127881076,41.5032838162,41.493793458, | |
764 | 41.4843169943,41.4748543861,41.4654055949,41.4559705822,41.4465493097, | |
765 | 41.4371417393,41.427747833,41.4183675529,41.4090008614,41.3996477209, | |
766 | 41.3903080941,41.3809819438,41.3716692328,41.3623699242,41.3530839814, | |
767 | 41.3438113676,41.3345520464,41.3253059814,41.3160731366,41.3068534757, | |
768 | 41.2976469631,41.2884535628,41.2792732394,41.2701059573,41.2609516812, | |
769 | 41.251810376,41.2426820066,41.2335665381,41.2244639357,41.2153741649, | |
770 | 41.2062971912,41.1972329801,41.1881814975,41.1791427094,41.1701165817, | |
771 | 41.1611030807,41.1521021727,41.1431138241,41.1341380016,41.1251746718, | |
772 | 41.1162238016,41.1072853581,41.0983593082,41.0894456193,41.0805442586, | |
773 | 41.0716551938,41.0627783924,41.0539138221,41.0450614508,41.0362212466, | |
774 | 41.0273931776,41.0185772119,41.0097733179,41.0009814642,40.9922016194, | |
775 | 40.9834337521,40.9746778312,40.9659338257,40.9572017046,40.9484814373, | |
776 | 40.9397729929,40.931076341,40.9223914511,40.9137182928,40.905056836, | |
777 | 40.8964070505,40.8877689064,40.8791423738,40.8705274229,40.8619240242, | |
778 | 40.853332148,40.8447517649,40.8361828457,40.8276253611,40.8190792821, | |
779 | 40.8105445796,40.8020212248,40.7935091889,40.7850084433,40.7765189594, | |
780 | 40.7680407088,40.7595736631,40.7511177941,40.7426730737,40.7342394738, | |
781 | 40.7258169666,40.7174055242,40.7090051189,40.7006157231,40.6922373093, | |
782 | 40.68386985,40.6755133181,40.6671676862,40.6588329272,40.6505090143, | |
783 | 40.6421959203,40.6338936187,40.6256020825,40.6173212853,40.6090512004, | |
784 | 40.6007918016,40.5925430624,40.5843049567,40.5760774582,40.567860541, | |
785 | 40.5596541792,40.5514583468,40.5432730181,40.5350981675,40.5269337693, | |
786 | 40.5187797982,40.5106362286,40.5025030354,40.4943801934,40.4862676773, | |
787 | 40.4781654622,40.4700735231,40.4619918353,40.4539203738,40.4458591142, | |
788 | 40.4378080318,40.429767102,40.4217363005,40.4137156031,40.4057049853, | |
789 | 40.3977044232,40.3897138925,40.3817333695,40.37376283,40.3658022505, | |
790 | 40.357851607,40.3499108761,40.3419800341,40.3340590575,40.3261479229, | |
791 | 40.3182466072,40.3103550869,40.302473339,40.2946013404,40.2867390681, | |
792 | 40.2788864992,40.2710436109,40.2632103804,40.2553867851,40.2475728023, | |
793 | 40.2397684096,40.2319735845,40.2241883047,40.2164125479,40.2086462918, | |
794 | 40.2008895143,40.1931421935,40.1854043073,40.1776758338,40.1699567512, | |
795 | 40.1622470377,40.1545466718,40.1468556316,40.1391738959,40.131501443, | |
796 | 40.1238382516,40.1161843004,40.1085395682,40.1009040337,40.093277676, | |
797 | 40.0856604739,40.0780524066,40.0704534531,40.0628635927,40.0552828046, | |
798 | 40.0477110681,40.0401483626,40.0325946677,40.0250499628,40.0175142275, | |
799 | 40.0099874416,40.0024695847,39.9949606367,39.9874605775,39.979969387, | |
800 | 39.9724870452,39.9650135322,39.9575488282,39.9500929133,39.9426457678, | |
801 | 39.9352073722,39.9277777067,39.9203567518,39.9129444882,39.9055408964, | |
802 | 39.898145957,39.8907596508,39.8833819586,39.8760128612,39.8686523396, | |
803 | 39.8613003748,39.8539569477,39.8466220395,39.8392956313,39.8319777044, | |
804 | 39.8246682402,39.8173672198,39.8100746247,39.8027904365,39.7955146366, | |
805 | 39.7882472066,39.7809881283,39.7737373832,39.7664949532,39.75926082, | |
806 | 39.7520349657,39.7448173721,39.7376080212,39.7304068951,39.7232139759, | |
807 | 39.7160292458,39.708852687,39.7016842819,39.6945240127,39.6873718619, | |
808 | 39.6802278119,39.6730918453,39.6659639446,39.6588440925,39.6517322716, | |
809 | 39.6446284646,39.6375326544,39.6304448239,39.6233649558,39.6162930333, | |
810 | 39.6092290392,39.6021729567,39.5951247688,39.5880844588,39.5810520098, | |
811 | 39.5740274052,39.5670106282,39.5600016623,39.5530004909,39.5460070974, | |
812 | 39.5390214655,39.5320435786,39.5250734205,39.5181109748,39.5111562253, | |
813 | 39.5042091557,39.4972697499,39.4903379919,39.4834138654,39.4764973546, | |
814 | 39.4695884435,39.4626871162,39.4557933567,39.4489071494,39.4420284784, | |
815 | 39.435157328,39.4282936826,39.4214375266,39.4145888443,39.4077476203, | |
816 | 39.4009138391,39.3940874853,39.3872685434,39.3804569982,39.3736528344, | |
817 | 39.3668560367,39.36006659,39.353284479,39.3465096888,39.3397422042, | |
818 | 39.3329820103,39.3262290921,39.3194834346,39.3127450231,39.3060138426, | |
819 | 39.2992898784,39.2925731158,39.2858635401,39.2791611366,39.2724658907, | |
820 | 39.2657777879,39.2590968136,39.2524229534,39.2457561929,39.2390965176, | |
821 | 39.2324439132,39.2257983655,39.2191598602,39.212528383,39.2059039198, | |
822 | 39.1992864564,39.1926759788,39.186072473,39.1794759249,39.1728863205, | |
823 | 39.166303646,39.1597278875,39.153159031,39.1465970629,39.1400419694, | |
824 | 39.1334937368,39.1269523513,39.1204177994,39.1138900674,39.1073691419, | |
825 | 39.1008550092,39.094347656,39.0878470687,39.081353234,39.0748661385, | |
826 | 39.068385769,39.0619121121,39.0554451545,39.0489848832,39.0425312849, | |
827 | 39.0360843464,39.0296440548,39.023210397,39.0167833599,39.0103629306, | |
828 | 39.0039490962,38.9975418437,38.9911411603,38.9847470331,38.9783594495, | |
829 | 38.9719783965,38.9656038616,38.959235832,38.9528742952,38.9465192384, | |
830 | 38.9401706492,38.933828515,38.9274928232,38.9211635616,38.9148407175, | |
831 | 38.9085242787,38.9022142328,38.8959105674,38.8896132703,38.8833223293, | |
832 | 38.877037732,38.8707594665,38.8644875204,38.8582218817,38.8519625383, | |
833 | 38.8457094782,38.8394626894,38.8332221598,38.8269878777,38.8207598309, | |
834 | 38.8145380078,38.8083223964,38.802112985,38.7959097617,38.7897127148, | |
835 | 38.7835218327,38.7773371036,38.7711585159,38.7649860581,38.7588197184, | |
836 | 38.7526594855,38.7465053477,38.7403572936,38.7342153118,38.7280793908, | |
837 | 38.7219495192,38.7158256858,38.7097078791,38.7035960879,38.697490301, | |
838 | 38.691390507,38.6852966949,38.6792088534,38.6731269715,38.667051038, | |
839 | 38.6609810418 | |
840 | } | |
841 | } | |
842 | }; |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | // generated by ../../tools/tube_transfer.py | |
21 | // tube: 12AX7 | |
22 | // plate current function: triode | |
23 | // mu: 100 | |
24 | // kx: 1.4 | |
25 | // kg1: 1060 | |
26 | // kp: 600 | |
27 | // kvb: 300 | |
28 | ||
29 | table1d_imp<2001> tubetable_12AX7[2] = | |
30 | { | |
31 | { | |
32 | // Ri = 68k | |
33 | -5,5,200,2001, { | |
34 | 249.98706929,249.986851225,249.986629489,249.986404021,249.986174757, | |
35 | 249.985941635,249.985704589,249.985463554,249.985218463,249.984969247, | |
36 | 249.984715838,249.984458166,249.984196158,249.983929743,249.983658846, | |
37 | 249.983383392,249.983103306,249.982818508,249.982528921,249.982234464, | |
38 | 249.981935056,249.981630613,249.981321052,249.981006287,249.98068623, | |
39 | 249.980360793,249.980029887,249.979693419,249.979351296,249.979003424, | |
40 | 249.978649708,249.978290048,249.977924346,249.9775525,249.977174409, | |
41 | 249.976789967,249.976399069,249.976001606,249.97559747,249.975186548, | |
42 | 249.974768727,249.974343893,249.973911927,249.973472711,249.973026125, | |
43 | 249.972572044,249.972110345,249.9716409,249.971163579,249.970678252, | |
44 | 249.970184785,249.969683043,249.969172887,249.968654177,249.968126772, | |
45 | 249.967590526,249.967045292,249.96649092,249.965927258,249.965354153, | |
46 | 249.964771446,249.964178978,249.963576587,249.962964107,249.962341372, | |
47 | 249.961708211,249.96106445,249.960409914,249.959744424,249.959067797, | |
48 | 249.95837985,249.957680393,249.956969237,249.956246188,249.955511048, | |
49 | 249.954763616,249.95400369,249.953231063,249.952445523,249.951646857, | |
50 | 249.950834849,249.950009276,249.949169916,249.94831654,249.947448916, | |
51 | 249.946566809,249.945669979,249.944758184,249.943831177,249.942888706, | |
52 | 249.941930516,249.940956349,249.93996594,249.938959023,249.937935324, | |
53 | 249.936894568,249.935836475,249.934760758,249.933667127,249.932555289, | |
54 | 249.931424944,249.930275788,249.929107511,249.9279198,249.926712337, | |
55 | 249.925484796,249.92423685,249.922968162,249.921678394,249.9203672, | |
56 | 249.91903423,249.917679127,249.916301529,249.914901069,249.913477372, | |
57 | 249.912030061,249.910558748,249.909063042,249.907542547,249.905996856, | |
58 | 249.904425561,249.902828244,249.901204482,249.899553844,249.897875894, | |
59 | 249.896170188,249.894436274,249.892673696,249.890881989,249.889060679, | |
60 | 249.887209288,249.885327328,249.883414305,249.881469716,249.879493052, | |
61 | 249.877483793,249.875441414,249.87336538,249.87125515,249.869110171, | |
62 | 249.866929885,249.864713724,249.86246111,249.860171458,249.857844173, | |
63 | 249.855478652,249.853074281,249.850630438,249.848146491,249.845621799, | |
64 | 249.843055711,249.840447565,249.837796689,249.835102404,249.832364016, | |
65 | 249.829580824,249.826752115,249.823877166,249.820955243,249.8179856, | |
66 | 249.81496748,249.811900117,249.80878273,249.80561453,249.802394713, | |
67 | 249.799122465,249.795796959,249.792417358,249.788982809,249.785492449, | |
68 | 249.781945403,249.778340779,249.774677678,249.770955183,249.767172365, | |
69 | 249.763328284,249.759421981,249.75545249,249.751418824,249.747319988, | |
70 | 249.743154968,249.738922738,249.734622257,249.730252468,249.725812301, | |
71 | 249.72130067,249.716716471,249.712058589,249.70732589,249.702517225, | |
72 | 249.697631429,249.692667321,249.687623703,249.682499361,249.677293063, | |
73 | 249.672003562,249.666629592,249.661169871,249.655623098,249.649987954, | |
74 | 249.644263106,249.638447197,249.632538857,249.626536694,249.620439299, | |
75 | 249.614245244,249.607953082,249.601561346,249.59506855,249.588473189, | |
76 | 249.581773739,249.574968653,249.568056367,249.561035295,249.553903831, | |
77 | 249.546660348,249.5393032,249.531830718,249.524241211,249.516532969, | |
78 | 249.508704259,249.500753327,249.492678397,249.48447767,249.476149326, | |
79 | 249.467691521,249.459102391,249.450380046,249.441522576,249.432528047, | |
80 | 249.423394501,249.414119957,249.404702411,249.395139834,249.385430176, | |
81 | 249.37557136,249.365561287,249.355397831,249.345078845,249.334602156, | |
82 | 249.323965565,249.313166851,249.302203767,249.291074039,249.27977537, | |
83 | 249.268305439,249.256661896,249.244842368,249.232844458,249.220665739, | |
84 | 249.208303762,249.195756051,249.183020104,249.170093394,249.156973366, | |
85 | 249.143657441,249.130143014,249.116427453,249.102508098,249.088382267, | |
86 | 249.074047249,249.059500307,249.044738677,249.029759572,249.014560175, | |
87 | 248.999137645,248.983489114,248.967611688,248.951502446,248.935158442, | |
88 | 248.918576704,248.901754233,248.884688005,248.867374969,248.84981205, | |
89 | 248.831996145,248.813924127,248.795592843,248.776999115,248.75813974, | |
90 | 248.739011488,248.719611106,248.699935316,248.679980814,248.659744274, | |
91 | 248.639222342,248.618411645,248.597308781,248.575910327,248.554212837, | |
92 | 248.532212841,248.509906845,248.487291335,248.464362771,248.441117595, | |
93 | 248.417552224,248.393663055,248.369446462,248.344898801,248.320016406, | |
94 | 248.29479559,248.269232647,248.243323852,248.217065459,248.190453706, | |
95 | 248.163484811,248.136154974,248.108460379,248.080397191,248.05196156, | |
96 | 248.02314962,247.993957487,247.964381265,247.934417041,247.904060889, | |
97 | 247.87330887,247.84215703,247.810601403,247.778638011,247.746262866, | |
98 | 247.713471967,247.680261303,247.646626855,247.612564592,247.578070476, | |
99 | 247.543140461,247.507770494,247.471956513,247.435694453,247.398980241, | |
100 | 247.3618098,247.32417905,247.286083906,247.247520279,247.208484082, | |
101 | 247.168971222,247.128977607,247.088499146,247.047531747,247.00607132, | |
102 | 246.964113777,246.921655031,246.878691002,246.835217611,246.791230785, | |
103 | 246.746726457,246.701700566,246.656149058,246.610067887,246.563453015, | |
104 | 246.516300414,246.468606066,246.420365964,246.371576111,246.322232524, | |
105 | 246.272331232,246.221868279,246.170839722,246.119241634,246.067070104, | |
106 | 246.014321237,245.960991157,245.907076004,245.852571939,245.79747514, | |
107 | 245.74178181,245.685488167,245.628590455,245.571084939,245.512967907, | |
108 | 245.454235672,245.394884569,245.334910961,245.274311236,245.213081807, | |
109 | 245.151219115,245.08871963,245.02557985,244.9617963,244.897365536, | |
110 | 244.832284146,244.766548747,244.700155987,244.633102547,244.565385141, | |
111 | 244.497000515,244.427945449,244.358216758,244.287811291,244.216725932, | |
112 | 244.144957602,244.072503257,243.999359889,243.92552453,243.850994248, | |
113 | 243.775766147,243.699837372,243.623205106,243.545866572,243.467819032, | |
114 | 243.389059786,243.309586179,243.229395592,243.148485449,243.066853216, | |
115 | 242.984496398,242.901412546,242.817599248,242.733054138,242.647774892, | |
116 | 242.561759227,242.475004906,242.387509732,242.299271553,242.210288262, | |
117 | 242.120557793,242.030078124,241.938847279,241.846863324,241.754124371, | |
118 | 241.660628575,241.566374134,241.471359294,241.375582341,241.279041608, | |
119 | 241.181735472,241.083662355,240.984820721,240.885209081,240.784825989, | |
120 | 240.683670043,240.581739885,240.479034203,240.375551726,240.271291229, | |
121 | 240.166251531,240.060431493,239.95383002,239.846446061,239.738278607, | |
122 | 239.629326695,239.5195894,239.409065844,239.29775519,239.185656641, | |
123 | 239.072769446,238.959092892,238.84462631,238.729369072,238.61332059, | |
124 | 238.496480317,238.378847747,238.260422414,238.141203892,238.021191795, | |
125 | 237.900385775,237.778785524,237.656390773,237.533201291,237.409216884, | |
126 | 237.284437398,237.158862715,237.032492753,236.905327469,236.777366855, | |
127 | 236.648610938,236.519059783,236.388713489,236.257572188,236.125636051, | |
128 | 235.992905278,235.859380107,235.725060807,235.58994768,235.454041062, | |
129 | 235.31734132,235.179848852,235.041564089,234.902487493,234.762619556, | |
130 | 234.6219608,234.480511776,234.338273067,234.195245283,234.051429062, | |
131 | 233.906825072,233.761434008,233.615256591,233.468293572,233.320545726, | |
132 | 233.172013855,233.022698786,232.872601372,232.721722492,232.570063047, | |
133 | 232.417623965,232.264406196,232.110410713,231.955638512,231.800090614, | |
134 | 231.643768059,231.48667191,231.328803251,231.170163188,231.010752847, | |
135 | 230.850573373,230.689625933,230.527911712,230.365431915,230.202187764, | |
136 | 230.0381805,229.873411384,229.707881693,229.541592719,229.374545774, | |
137 | 229.206742186,229.038183299,228.868870471,228.698805078,228.527988509, | |
138 | 228.356422169,228.184107477,228.011045867,227.837238785,227.662687692, | |
139 | 227.487394061,227.311359378,227.134585141,226.957072863,226.778824064, | |
140 | 226.59984028,226.420123056,226.239673947,226.058494521,225.876586355, | |
141 | 225.693951036,225.510590161,225.326505336,225.141698178,224.956170309, | |
142 | 224.769923365,224.582958985,224.39527882,224.206884527,224.017777772, | |
143 | 223.827960226,223.637433569,223.446199487,223.254259674,223.061615828, | |
144 | 222.868269655,222.674222866,222.479477179,222.284034315,222.087896002, | |
145 | 221.891063973,221.693539966,221.495325721,221.296422987,221.096833513, | |
146 | 220.896559053,220.695601367,220.493962216,220.291643365,220.088646583, | |
147 | 219.884973642,219.680626315,219.475606381,219.269915618,219.063555809, | |
148 | 218.856528737,218.64883619,218.440479954,218.231461819,218.021783577, | |
149 | 217.811447019,217.600453941,217.388806137,217.176505402,216.963553533, | |
150 | 216.749952328,216.535703584,216.3208091,216.105270675,215.889090106, | |
151 | 215.672269193,215.454809735,215.23671353,215.017982376,214.798618071, | |
152 | 214.578622412,214.357997196,214.136744219,213.914865275,213.692362159, | |
153 | 213.469236664,213.245490582,213.021125704,212.796143819,212.570546714, | |
154 | 212.344336178,212.117513994,211.890081946,211.662041815,211.433395383, | |
155 | 211.204144425,210.97429072,210.74383604,210.512782158,210.281130844, | |
156 | 210.048883865,209.816042987,209.582609974,209.348586585,209.113974579, | |
157 | 208.878775712,208.642991738,208.406624407,208.169675468,207.932146665, | |
158 | 207.694039743,207.455356441,207.216098496,206.976267643,206.735865613, | |
159 | 206.494894135,206.253354936,206.011249738,205.76858026,205.52534822, | |
160 | 205.281555332,205.037203306,204.792293851,204.54682867,204.300809466, | |
161 | 204.054237936,203.807115776,203.559444679,203.311226332,203.062462422, | |
162 | 202.813154631,202.563304638,202.312914121,202.06198475,201.810518197, | |
163 | 201.558516128,201.305980206,201.05291209,200.799313438,200.545185904, | |
164 | 200.290531137,200.035350786,199.779646493,199.5234199,199.266672645, | |
165 | 199.009406363,198.751622683,198.493323236,198.234509646,197.975183536, | |
166 | 197.715346523,197.455000226,197.194146256,196.932786223,196.670921736, | |
167 | 196.408554398,196.145685811,195.882317572,195.618451279,195.354088524, | |
168 | 195.089230896,194.823879985,194.558037374,194.291704646,194.024883381, | |
169 | 193.757575156,193.489781546,193.221504124,192.952744459,192.68350412, | |
170 | 192.413784672,192.143587679,191.872914702,191.601767301,191.330147033, | |
171 | 191.058055454,190.785494118,190.512464577,190.238968382,189.965007082, | |
172 | 189.690582224,189.415695355,189.14034802,188.864541763,188.588278126, | |
173 | 188.311558653,188.034384883,187.756758358,187.478680617,187.200153199, | |
174 | 186.921177645,186.641755492,186.36188828,186.081577548,185.800824834, | |
175 | 185.519631679,185.237999622,184.955930205,184.673424969,184.390485457, | |
176 | 184.107113213,183.823309782,183.539076713,183.254415552,182.969327853, | |
177 | 182.683815168,182.397879052,182.111521065,181.824742767,181.537545724, | |
178 | 181.249931504,180.961901678,180.673457823,180.384601519,180.095334351, | |
179 | 179.805657909,179.515573788,179.225083588,178.934188917,178.642891387, | |
180 | 178.351192617,178.059094236,177.766597877,177.473705181,177.1804178, | |
181 | 176.886737393,176.592665628,176.298204182,176.003354745,175.708119016, | |
182 | 175.412498704,175.116495531,174.820111234,174.523347558,174.226206264, | |
183 | 173.92868913,173.630797944,173.332534512,173.033900658,172.734898219, | |
184 | 172.435529055,172.13579504,171.835698069,171.53524006,171.234422948, | |
185 | 170.933248694,170.631719279,170.32983671,170.027603019,169.725020263, | |
186 | 169.422090529,169.118815931,168.815198611,168.511240746,168.206944541, | |
187 | 167.902312237,167.597346111,167.292048474,166.986421676,166.680468107, | |
188 | 166.374190197,166.06759042,165.760671293,165.453435381,165.145885296, | |
189 | 164.8380237,164.529853307,164.221376886,163.912597261,163.603517315, | |
190 | 163.294139991,162.984468296,162.674505303,162.36425415,162.05371805, | |
191 | 161.742900285,161.431804217,161.120433284,160.808791007,160.496880994, | |
192 | 160.184706939,159.872272629,159.559581944,159.246638866,158.933447477, | |
193 | 158.620011964,158.306336627,157.992425878,157.678284247,157.363916386, | |
194 | 157.049327076,156.734521226,156.419503883,156.104280235,155.788855613, | |
195 | 155.473235502,155.15742554,154.841431529,154.525259436,154.2089154, | |
196 | 153.89240574,153.575736958,153.258915746,152.941948993,152.624843791, | |
197 | 152.307607442,151.990247462,151.672771591,151.3551878,151.037504296, | |
198 | 150.719729528,150.4018722,150.083941272,149.765945972,149.4478958, | |
199 | 149.129800541,148.811670267,148.493515348,148.17534646,147.857174591, | |
200 | 147.539011052,147.220867482,146.90275586,146.584688509,146.266678104, | |
201 | 145.948737684,145.630880657,145.313120806,144.995472301,144.677949704, | |
202 | 144.360567975,144.043342481,143.726289002,143.409423738,143.092763314, | |
203 | 142.776324787,142.46012565,142.144183838,141.828517734,141.513146167, | |
204 | 141.198088421,140.883364237,140.56899381,140.254997798,139.941397314, | |
205 | 139.628213931,139.31546968,139.003187046,138.691388964,138.380098818, | |
206 | 138.069340432,137.759138065,137.449516402,137.140500548,136.832116012, | |
207 | 136.524388701,136.217344903,135.911011273,135.605414819,135.300582882, | |
208 | 134.99654312,134.693323486,134.390952204,134.089457749,133.788868823, | |
209 | 133.489214324,133.190523322,132.89282503,132.596148773,132.300523955, | |
210 | 132.005980028,131.712546456,131.420252683,131.129128093,130.839201977, | |
211 | 130.550503492,130.263061625,129.97690515,129.692062595,129.408562198, | |
212 | 129.126431866,128.845699141,128.566391153,128.288534586,128.012155639, | |
213 | 127.737279983,127.463932729,127.19213839,126.921920841,126.653303293, | |
214 | 126.386308253,126.120957494,125.857272028,125.595272075,125.334977038, | |
215 | 125.076405477,124.819575089,124.564502686,124.311204176,124.059694549, | |
216 | 123.809987864,123.562097233,123.316034816,123.071811813,122.829438459, | |
217 | 122.588924021,122.3502768,122.113504129,121.878612383,121.645606978, | |
218 | 121.414492385,121.185272137,120.957948844,120.732524201,120.508999009, | |
219 | 120.287373188,120.067645798,119.849815055,119.633878355,119.419832294, | |
220 | 119.207672691,118.997394612,118.788992394,118.582459671,118.377789395, | |
221 | 118.174973871,117.974004772,117.774873176,117.577569586,117.382083958, | |
222 | 117.188405731,116.996523847,116.806426787,116.618102586,116.431538869, | |
223 | 116.246722869,116.063641457,115.882281163,115.702628206,115.524668508, | |
224 | 115.348387726,115.173771271,115.000804328,114.82947188,114.659758727, | |
225 | 114.491649506,114.325128711,114.160180708,113.996789759,113.834940032, | |
226 | 113.674615621,113.515800563,113.358478849,113.20263444,113.048251282, | |
227 | 112.895313317,112.743804495,112.593708787,112.445010196,112.297692766, | |
228 | 112.151740591,112.007137828,111.863868702,111.721917517,111.581268659, | |
229 | 111.441906608,111.303815943,111.166981347,111.031387613,110.897019652, | |
230 | 110.763862493,110.63190129,110.501121329,110.371508026,110.243046933, | |
231 | 110.115723745,109.989524294,109.864434561,109.740440669,109.617528892, | |
232 | 109.495685656,109.374897534,109.255151254,109.1364337,109.018731905, | |
233 | 108.902033061,108.786324515,108.671593767,108.557828476,108.445016453, | |
234 | 108.333145667,108.222204241,108.112180452,108.003062732,107.894839664, | |
235 | 107.787499986,107.681032587,107.575426505,107.470670928,107.366755194, | |
236 | 107.263668787,107.161401337,107.059942619,106.959282552,106.859411195, | |
237 | 106.760318751,106.661995559,106.564432098,106.467618982,106.37154696, | |
238 | 106.276206914,106.181589858,106.087686935,105.994489418,105.901988705, | |
239 | 105.81017632,105.719043911,105.628583246,105.538786217,105.44964483, | |
240 | 105.361151211,105.273297602,105.186076356,105.09947994,105.013500931, | |
241 | 104.928132016,104.843365988,104.759195746,104.675614294,104.592614738, | |
242 | 104.510190286,104.428334244,104.347040018,104.266301109,104.186111115, | |
243 | 104.106463726,104.027352725,103.948771984,103.870715468,103.793177227, | |
244 | 103.716151398,103.639632204,103.563613952,103.48809103,103.41305791, | |
245 | 103.33850914,103.26443935,103.190843246,103.117715611,103.045051301, | |
246 | 102.972845249,102.901092457,102.829788,102.758927024,102.688504742, | |
247 | 102.618516438,102.54895746,102.479823222,102.411109205,102.342810952, | |
248 | 102.274924068,102.207444221,102.140367139,102.07368861,102.007404481, | |
249 | 101.941510654,101.876003092,101.810877811,101.746130883,101.681758433, | |
250 | 101.617756641,101.554121738,101.490850007,101.427937781,101.365381444, | |
251 | 101.303177428,101.241322214,101.179812331,101.118644352,101.057814898, | |
252 | 100.997320637,100.937158279,100.877324577,100.817816329,100.758630377, | |
253 | 100.6997636,100.641212922,100.582975306,100.525047756,100.467427312, | |
254 | 100.410111057,100.353096108,100.296379621,100.23995879,100.183830844, | |
255 | 100.127993045,100.072442696,100.017177128,99.9621937113,99.9074898464, | |
256 | 99.8530629679,99.7989105427,99.7450300696,99.6914190787,99.6380751312, | |
257 | 99.5849958187,99.5321787628,99.4796216147,99.4273220547,99.3752777916, | |
258 | 99.3234865625,99.2719461323,99.2206542933,99.1696088648,99.1188076924, | |
259 | 99.0682486481,99.0179296296,98.9678485599,98.918003387,98.8683920837, | |
260 | 98.8190126467,98.769863097,98.7209414788,98.6722458598,98.6237743302, | |
261 | 98.5755250031,98.5274960135,98.4796855184,98.4320916962,98.3847127468, | |
262 | 98.3375468908,98.2905923695,98.2438474444,98.1973103972,98.1509795293, | |
263 | 98.1048531614,98.0589296337,98.013207305,97.9676845528,97.922359773, | |
264 | 97.8772313798,97.8322978049,97.7875574979,97.7430089255,97.6986505718, | |
265 | 97.6544809376,97.6104985402,97.5667019136,97.5230896077,97.4796601886, | |
266 | 97.4364122381,97.3933443532,97.3504551465,97.3077432458,97.2652072933, | |
267 | 97.2228459464,97.1806578767,97.1386417702,97.0967963268,97.0551202605, | |
268 | 97.0136122989,96.9722711833,96.931095668,96.8900845209,96.8492365225, | |
269 | 96.8085504664,96.7680251586,96.7276594179,96.687452075,96.6474019731, | |
270 | 96.6075079673,96.5677689244,96.528183723,96.4887512533,96.4494704166, | |
271 | 96.4103401258,96.3713593045,96.3325268876,96.2938418206,96.2553030595, | |
272 | 96.2169095712,96.1786603327,96.1405543314,96.1025905648,96.0647680402, | |
273 | 96.0270857751,95.9895427965,95.9521381411,95.9148708551,95.8777399941, | |
274 | 95.840744623,95.8038838156,95.767156655,95.7305622332,95.6940996508, | |
275 | 95.6577680174,95.621566451,95.5854940781,95.5495500336,95.5137334607, | |
276 | 95.4780435108,95.4424793434,95.4070401257,95.3717250333,95.3365332491, | |
277 | 95.3014639639,95.2665163763,95.231689692,95.1969831244,95.1623958942, | |
278 | 95.1279272293,95.0935763647,95.0593425426,95.0252250121,94.9912230293, | |
279 | 94.957335857,94.9235627648,94.889903029,94.8563559325,94.8229207646, | |
280 | 94.7895968211,94.7563834042,94.7232798225,94.6902853904,94.6573994289, | |
281 | 94.6246212649,94.5919502312,94.5593856666,94.5269269159,94.4945733296, | |
282 | 94.4623242638,94.4301790804,94.398137147,94.3661978366,94.3343605276, | |
283 | 94.3026246041,94.2709894553,94.2394544758,94.2080190654,94.1766826291, | |
284 | 94.145444577,94.1143043243,94.0832612913,94.052314903,94.0214645895, | |
285 | 93.9907097857,93.9600499313,93.9294844707,93.899012853,93.8686345319, | |
286 | 93.8383489659,93.8081556177,93.7780539548,93.7480434489,93.7181235762, | |
287 | 93.6882938173,93.658553657,93.6289025843,93.5993400927,93.5698656795, | |
288 | 93.5404788464,93.5111790989,93.4819659468,93.4528389037,93.4237974873, | |
289 | 93.3948412191,93.3659696245,93.3371822327,93.3084785767,93.2798581933, | |
290 | 93.2513206229,93.2228654096,93.1944921013,93.1662002492,93.1379894083, | |
291 | 93.109859137,93.0818089971,93.0538385542,93.0259473769,92.9981350374, | |
292 | 92.9704011112,92.9427451771,92.9151668171,92.8876656167,92.8602411644, | |
293 | 92.8328930518,92.8056208739,92.7784242286,92.7513027171,92.7242559433, | |
294 | 92.6972835146,92.670385041,92.6435601356,92.6168084145,92.5901294966, | |
295 | 92.5635230038,92.5369885607,92.5105257949,92.4841343366,92.4578138189, | |
296 | 92.4315638777,92.4053841514,92.3792742812,92.353233911,92.3272626873, | |
297 | 92.3013602592,92.2755262785,92.2497603994,92.2240622787,92.1984315757, | |
298 | 92.1728679522,92.1473710724,92.1219406032,92.0965762136,92.0712775751, | |
299 | 92.0460443617,92.0208762495,91.9957729173,91.9707340457,91.9457593182, | |
300 | 91.9208484199,91.8960010388,91.8712168645,91.8464955894,91.8218369075, | |
301 | 91.7972405155,91.7727061118,91.7482333973,91.7238220746,91.6994718488, | |
302 | 91.6751824268,91.6509535176,91.6267848322,91.6026760837,91.5786269871, | |
303 | 91.5546372594,91.5307066197,91.5068347888,91.4830214895,91.4592664466, | |
304 | 91.4355693866,91.4119300382,91.3883481315,91.3648233988,91.3413555741, | |
305 | 91.3179443931,91.2945895935,91.2712909146,91.2480480975,91.224860885, | |
306 | 91.2017290219,91.1786522542,91.1556303301,91.1326629992,91.1097500128, | |
307 | 91.086891124,91.0640860873,91.041334659,91.0186365969,90.9959916605, | |
308 | 90.9733996109,90.9508602106,90.9283732238,90.9059384162,90.883555555, | |
309 | 90.8612244091,90.8389447485,90.8167163451,90.7945389721,90.7724124041, | |
310 | 90.7503364174,90.7283107894,90.7063352991,90.6844097271,90.6625338551, | |
311 | 90.6407074663,90.6189303453,90.5972022781,90.5755230521,90.5538924558, | |
312 | 90.5323102793,90.510776314,90.4892903525,90.4678521887,90.4464616179, | |
313 | 90.4251184365,90.4038224425,90.3825734349,90.3613712139,90.3402155812, | |
314 | 90.3191063395,90.2980432928,90.2770262463,90.2560550065,90.2351293809, | |
315 | 90.2142491783,90.1934142087,90.1726242833,90.1518792142,90.131178815, | |
316 | 90.1105229001,90.0899112853,90.0693437874,90.0488202242,90.0283404148, | |
317 | 90.0079041793,89.9875113389,89.9671617157,89.9468551333,89.9265914158, | |
318 | 89.9063703888,89.8861918787,89.866055713,89.8459617203,89.82590973, | |
319 | 89.8058995729,89.7859310803,89.7660040849,89.7461184202,89.7262739206, | |
320 | 89.7064704218,89.68670776,89.6669857728,89.6473042984,89.6276631762, | |
321 | 89.6080622464,89.5885013501,89.5689803294,89.5494990274,89.5300572878, | |
322 | 89.5106549554,89.491291876,89.4719678961,89.4526828632,89.4334366256, | |
323 | 89.4142290324,89.3950599338,89.3759291805,89.3568366244,89.3377821181, | |
324 | 89.3187655149,89.2997866691,89.2808454357,89.2619416708,89.2430752308, | |
325 | 89.2242459734,89.2054537569,89.1866984403,89.1679798835,89.1492979471, | |
326 | 89.1306524926,89.1120433823,89.0934704789,89.0749336464,89.056432749, | |
327 | 89.0379676522,89.0195382218,89.0011443245,88.9827858277,88.9644625997, | |
328 | 88.9461745092,88.927921426,88.9097032202,88.8915197629,88.8733709258, | |
329 | 88.8552565813,88.8371766024,88.8191308631,88.8011192377,88.7831416014, | |
330 | 88.7651978299,88.7472877998,88.7294113881,88.7115684728,88.6937589321, | |
331 | 88.6759826453,88.658239492,88.6405293526,88.6228521081,88.6052076402, | |
332 | 88.5875958312,88.5700165638,88.5524697217,88.5349551889,88.5174728501, | |
333 | 88.5000225908,88.4826042968,88.4652178545,88.4478631513,88.4305400746, | |
334 | 88.413248513,88.3959883551,88.3787594905,88.3615618091,88.3443952016, | |
335 | 88.3272595591,88.3101547733,88.2930807364,88.2760373414,88.2590244815, | |
336 | 88.2420420507,88.2250899434,88.2081680546,88.1912762799,88.1744145152, | |
337 | 88.1575826573,88.1407806031,88.1240082504,88.1072654973,88.0905522424, | |
338 | 88.0738683849,88.0572138245,88.0405884613,88.0239921962,88.0074249301, | |
339 | 87.9908865649,87.9743770026,87.9578961459,87.941443898,87.9250201625, | |
340 | 87.9086248434,87.8922578454,87.8759190734,87.859608433,87.8433258301, | |
341 | 87.8270711713,87.8108443633,87.7946453135,87.7784739298,87.7623301204, | |
342 | 87.746213794,87.7301248597,87.7140632271,87.6980288064,87.6820215078, | |
343 | 87.6660412424,87.6500879215,87.6341614567,87.6182617604,87.6023887451, | |
344 | 87.5865423238,87.57072241,87.5549289176,87.5391617608,87.5234208543, | |
345 | 87.5077061131,87.4920174528,87.4763547894,87.4607180389,87.4451071183, | |
346 | 87.4295219444,87.4139624349,87.3984285076,87.3829200807,87.3674370729, | |
347 | 87.3519794032,87.3365469909,87.321139756,87.3057576185,87.2904004989, | |
348 | 87.2750683183,87.2597609977,87.2444784589,87.2292206238,87.2139874149, | |
349 | 87.1987787547,87.1835945665,87.1684347736,87.1532992998,87.1381880693, | |
350 | 87.1231010065,87.1080380363,87.0929990838,87.0779840746,87.0629929344, | |
351 | 87.0480255896,87.0330819666,87.0181619923,87.0032655939,86.988392699, | |
352 | 86.9735432353,86.9587171311,86.9439143149,86.9291347155,86.914378262, | |
353 | 86.899644884,86.8849345112,86.8702470737,86.855582502,86.8409407267, | |
354 | 86.8263216789,86.81172529,86.7971514915,86.7826002155,86.7680713942, | |
355 | 86.7535649602,86.7390808462,86.7246189855,86.7101793115,86.695761758, | |
356 | 86.681366259,86.6669927487,86.6526411619,86.6383114334,86.6240034983, | |
357 | 86.6097172923,86.5954527509,86.5812098103,86.5669884067,86.5527884768, | |
358 | 86.5386099573,86.5244527855,86.5103168987,86.4962022346,86.4821087312, | |
359 | 86.4680363266,86.4539849594,86.4399545682,86.4259450922,86.4119564705, | |
360 | 86.3979886428,86.3840415487,86.3701151284,86.356209322,86.3423240703, | |
361 | 86.328459314,86.3146149941,86.3007910521,86.2869874293,86.2732040677, | |
362 | 86.2594409093,86.2456978963,86.2319749714,86.2182720773,86.204589157, | |
363 | 86.1909261539,86.1772830113,86.1636596731,86.1500560831,86.1364721857, | |
364 | 86.1229079253,86.1093632464,86.0958380941,86.0823324135,86.0688461498, | |
365 | 86.0553792488,86.0419316561,86.0285033179,86.0150941804,86.0017041901, | |
366 | 85.9883332936,85.9749814379,85.9616485701,85.9483346376,85.935039588, | |
367 | 85.9217633689,85.9085059285,85.8952672149,85.8820471765,85.868845762, | |
368 | 85.8556629201,85.8424986001,85.829352751,85.8162253223,85.8031162638, | |
369 | 85.7900255253,85.7769530568,85.7638988086,85.7508627312,85.7378447752, | |
370 | 85.7248448915,85.7118630312,85.6988991455,85.6859531858,85.6730251039, | |
371 | 85.6601148515,85.6472223807,85.6343476437,85.6214905929,85.608651181, | |
372 | 85.5958293606,85.5830250847,85.5702383066,85.5574689796,85.5447170572, | |
373 | 85.531982493,85.5192652411,85.5065652554,85.4938824903,85.4812169001, | |
374 | 85.4685684394,85.4559370631,85.4433227262,85.4307253837,85.4181449909, | |
375 | 85.4055815034,85.3930348768,85.380505067,85.36799203,85.3554957218, | |
376 | 85.3430160989,85.3305531178,85.3181067352,85.3056769079,85.2932635929, | |
377 | 85.2808667474,85.2684863287,85.2561222943,85.243774602,85.2314432095, | |
378 | 85.2191280748,85.2068291561,85.1945464117,85.1822798,85.1700292797, | |
379 | 85.1577948095,85.1455763484,85.1333738555,85.1211872901,85.1090166115, | |
380 | 85.0968617793,85.0847227531,85.0725994929,85.0604919587,85.0484001106, | |
381 | 85.036323909,85.0242633142,85.0122182869,85.0001887879,84.988174778, | |
382 | 84.9761762183,84.96419307,84.9522252944,84.940272853,84.9283357074, | |
383 | 84.9164138193,84.9045071507,84.8926156637,84.8807393203,84.8688780829, | |
384 | 84.8570319141,84.8452007763,84.8333846323,84.821583445,84.8097971775, | |
385 | 84.7980257927,84.7862692541,84.7745275251,84.7628005691,84.7510883499, | |
386 | 84.7393908313,84.7277079772,84.7160397517,84.704386119,84.6927470434, | |
387 | 84.6811224894,84.6695124216,84.6579168048,84.6463356037,84.6347687833, | |
388 | 84.6232163088,84.6116781453,84.6001542582,84.588644613,84.5771491752, | |
389 | 84.5656679107,84.5542007852,84.5427477647,84.5313088153,84.5198839031, | |
390 | 84.5084729946,84.4970760562,84.4856930544,84.4743239558,84.4629687275, | |
391 | 84.4516273361,84.4402997488,84.4289859327,84.4176858551,84.4063994834, | |
392 | 84.395126785,84.3838677277,84.372622279,84.3613904068,84.3501720791, | |
393 | 84.338967264,84.3277759297,84.3165980443,84.3054335763,84.2942824943, | |
394 | 84.2831447667,84.2720203625,84.2609092503,84.2498113991,84.238726778, | |
395 | 84.2276553561,84.2165971027,84.2055519872,84.194519979,84.1835010476, | |
396 | 84.1724951629,84.1615022946,84.1505224125,84.1395554866,84.1286014871, | |
397 | 84.1176603842,84.1067321481,84.0958167492,84.0849141581,84.0740243453, | |
398 | 84.0631472816,84.0522829378,84.0414312847,84.0305922934,84.0197659349, | |
399 | 84.0089521804,83.9981510014,83.987362369,83.9765862548,83.9658226305, | |
400 | 83.9550714676,83.944332738,83.9336064135,83.922892466,83.9121908677, | |
401 | 83.9015015907,83.8908246072,83.8801598895,83.8695074102,83.8588671416, | |
402 | 83.8482390564,83.8376231274,83.8270193272,83.8164276289,83.8058480053, | |
403 | 83.7952804295,83.7847248747,83.774181314,83.763649721,83.7531300688, | |
404 | 83.7426223311,83.7321264815,83.7216424936,83.7111703411,83.700709998, | |
405 | 83.6902614382,83.6798246356,83.6693995644,83.6589861988,83.648584513, | |
406 | 83.6381944814,83.6278160785,83.6174492788,83.6070940568,83.5967503873, | |
407 | 83.586418245,83.5760976048,83.5657884417,83.5554907305,83.5452044465, | |
408 | 83.5349295648,83.5246660606,83.5144139094,83.5041730864,83.4939435673, | |
409 | 83.4837253275,83.4735183427,83.4633225887,83.4531380413,83.4429646763, | |
410 | 83.4328024696,83.4226513974,83.4125114358,83.4023825609,83.392264749, | |
411 | 83.3821579764,83.3720622196,83.361977455,83.3519036592,83.3418408089, | |
412 | 83.3317888807,83.3217478514,83.3117176979,83.3016983972,83.2916899262, | |
413 | 83.281692262,83.2717053817,83.2617292627,83.251763882,83.2418092172, | |
414 | 83.2318652457,83.2219319449,83.2120092924,83.2020972659,83.1921958431, | |
415 | 83.1823050018,83.1724247198,83.162554975,83.1526957454,83.1428470091, | |
416 | 83.1330087443,83.123180929,83.1133635416,83.1035565603,83.0937599636, | |
417 | 83.08397373,83.0741978379,83.064432266,83.0546769929,83.0449319973, | |
418 | 83.035197258,83.0254727539,83.0157584639,83.006054367,82.9963604422, | |
419 | 82.9866766686,82.9770030254,82.9673394918,82.9576860472,82.9480426709, | |
420 | 82.9384093423,82.9287860409,82.9191727463,82.9095694381,82.8999760959, | |
421 | 82.8903926995,82.8808192286,82.8712556633,82.8617019832,82.8521581685, | |
422 | 82.8426241992,82.8331000553,82.8235857171,82.8140811647,82.8045863785, | |
423 | 82.7951013386,82.7856260257,82.77616042,82.7667045022,82.7572582527, | |
424 | 82.7478216522,82.7383946815,82.7289773211,82.719569552,82.710171355, | |
425 | 82.700782711,82.6914036009,82.6820340059,82.6726739069,82.6633232851, | |
426 | 82.6539821217,82.644650398,82.6353280953,82.6260151948,82.6167116781, | |
427 | 82.6074175266,82.5981327217,82.5888572452,82.5795910786,82.5703342036, | |
428 | 82.5610866019,82.5518482554,82.5426191458,82.5333992551,82.5241885652, | |
429 | 82.5149870582,82.505794716,82.4966115208,82.4874374547,82.4782724999, | |
430 | 82.4691166388,82.4599698535,82.4508321266,82.4417034403,82.4325837772, | |
431 | 82.4234731197,82.4143714505,82.4052787521,82.3961950073,82.3871201986, | |
432 | 82.378054309,82.3689973211,82.3599492179,82.3509099823,82.3418795973, | |
433 | 82.3328580457,82.3238453108,82.3148413756,82.3058462233,82.296859837, | |
434 | 82.2878822 | |
435 | } | |
436 | }, | |
437 | { | |
438 | // Ri = 250k | |
439 | -5,5,200,2001, { | |
440 | 249.98706929,249.986851225,249.986629489,249.986404021,249.986174757, | |
441 | 249.985941635,249.985704589,249.985463554,249.985218463,249.984969247, | |
442 | 249.984715838,249.984458166,249.984196158,249.983929743,249.983658846, | |
443 | 249.983383392,249.983103306,249.982818508,249.982528921,249.982234464, | |
444 | 249.981935056,249.981630613,249.981321052,249.981006287,249.98068623, | |
445 | 249.980360793,249.980029887,249.979693419,249.979351296,249.979003424, | |
446 | 249.978649708,249.978290048,249.977924346,249.9775525,249.977174409, | |
447 | 249.976789967,249.976399069,249.976001606,249.97559747,249.975186548, | |
448 | 249.974768727,249.974343893,249.973911927,249.973472711,249.973026125, | |
449 | 249.972572044,249.972110345,249.9716409,249.971163579,249.970678252, | |
450 | 249.970184785,249.969683043,249.969172887,249.968654177,249.968126772, | |
451 | 249.967590526,249.967045292,249.96649092,249.965927258,249.965354153, | |
452 | 249.964771446,249.964178978,249.963576587,249.962964107,249.962341372, | |
453 | 249.961708211,249.96106445,249.960409914,249.959744424,249.959067797, | |
454 | 249.95837985,249.957680393,249.956969237,249.956246188,249.955511048, | |
455 | 249.954763616,249.95400369,249.953231063,249.952445523,249.951646857, | |
456 | 249.950834849,249.950009276,249.949169916,249.94831654,249.947448916, | |
457 | 249.946566809,249.945669979,249.944758184,249.943831177,249.942888706, | |
458 | 249.941930516,249.940956349,249.93996594,249.938959023,249.937935324, | |
459 | 249.936894568,249.935836475,249.934760758,249.933667127,249.932555289, | |
460 | 249.931424944,249.930275788,249.929107511,249.9279198,249.926712337, | |
461 | 249.925484796,249.92423685,249.922968162,249.921678394,249.9203672, | |
462 | 249.91903423,249.917679127,249.916301529,249.914901069,249.913477372, | |
463 | 249.912030061,249.910558748,249.909063042,249.907542547,249.905996856, | |
464 | 249.904425561,249.902828244,249.901204482,249.899553844,249.897875894, | |
465 | 249.896170188,249.894436274,249.892673696,249.890881989,249.889060679, | |
466 | 249.887209288,249.885327328,249.883414305,249.881469716,249.879493052, | |
467 | 249.877483793,249.875441414,249.87336538,249.87125515,249.869110171, | |
468 | 249.866929885,249.864713724,249.86246111,249.860171458,249.857844173, | |
469 | 249.855478652,249.853074281,249.850630438,249.848146491,249.845621799, | |
470 | 249.843055711,249.840447565,249.837796689,249.835102404,249.832364016, | |
471 | 249.829580824,249.826752115,249.823877166,249.820955243,249.8179856, | |
472 | 249.81496748,249.811900117,249.80878273,249.80561453,249.802394713, | |
473 | 249.799122465,249.795796959,249.792417358,249.788982809,249.785492449, | |
474 | 249.781945403,249.778340779,249.774677678,249.770955183,249.767172365, | |
475 | 249.763328284,249.759421981,249.75545249,249.751418824,249.747319988, | |
476 | 249.743154968,249.738922738,249.734622257,249.730252468,249.725812301, | |
477 | 249.72130067,249.716716471,249.712058589,249.70732589,249.702517225, | |
478 | 249.697631429,249.692667321,249.687623703,249.682499361,249.677293063, | |
479 | 249.672003562,249.666629592,249.661169871,249.655623098,249.649987954, | |
480 | 249.644263106,249.638447197,249.632538857,249.626536694,249.620439299, | |
481 | 249.614245244,249.607953082,249.601561346,249.59506855,249.588473189, | |
482 | 249.581773739,249.574968653,249.568056367,249.561035295,249.553903831, | |
483 | 249.546660348,249.5393032,249.531830718,249.524241211,249.516532969, | |
484 | 249.508704259,249.500753327,249.492678397,249.48447767,249.476149326, | |
485 | 249.467691521,249.459102391,249.450380046,249.441522576,249.432528047, | |
486 | 249.423394501,249.414119957,249.404702411,249.395139834,249.385430176, | |
487 | 249.37557136,249.365561287,249.355397831,249.345078845,249.334602156, | |
488 | 249.323965565,249.313166851,249.302203767,249.291074039,249.27977537, | |
489 | 249.268305439,249.256661896,249.244842368,249.232844458,249.220665739, | |
490 | 249.208303762,249.195756051,249.183020104,249.170093394,249.156973366, | |
491 | 249.143657441,249.130143014,249.116427453,249.102508098,249.088382267, | |
492 | 249.074047249,249.059500307,249.044738677,249.029759572,249.014560175, | |
493 | 248.999137645,248.983489114,248.967611688,248.951502446,248.935158442, | |
494 | 248.918576704,248.901754233,248.884688005,248.867374969,248.84981205, | |
495 | 248.831996145,248.813924127,248.795592843,248.776999115,248.75813974, | |
496 | 248.739011488,248.719611106,248.699935316,248.679980814,248.659744274, | |
497 | 248.639222342,248.618411645,248.597308781,248.575910327,248.554212837, | |
498 | 248.532212841,248.509906845,248.487291335,248.464362771,248.441117595, | |
499 | 248.417552224,248.393663055,248.369446462,248.344898801,248.320016406, | |
500 | 248.29479559,248.269232647,248.243323852,248.217065459,248.190453706, | |
501 | 248.163484811,248.136154974,248.108460379,248.080397191,248.05196156, | |
502 | 248.02314962,247.993957487,247.964381265,247.934417041,247.90406089, | |
503 | 247.87330887,247.84215703,247.810601403,247.778638011,247.746262866, | |
504 | 247.713471967,247.680261304,247.646626855,247.612564592,247.578070476, | |
505 | 247.543140462,247.507770494,247.471956513,247.435694453,247.398980241, | |
506 | 247.361809801,247.32417905,247.286083906,247.24752028,247.208484082, | |
507 | 247.168971222,247.128977608,247.088499147,247.047531748,247.006071321, | |
508 | 246.964113777,246.921655032,246.878691002,246.835217611,246.791230786, | |
509 | 246.746726458,246.701700567,246.656149059,246.610067888,246.563453016, | |
510 | 246.516300415,246.468606067,246.420365965,246.371576112,246.322232525, | |
511 | 246.272331233,246.22186828,246.170839723,246.119241635,246.067070105, | |
512 | 246.014321238,245.960991158,245.907076005,245.85257194,245.797475142, | |
513 | 245.741781811,245.685488168,245.628590456,245.57108494,245.512967909, | |
514 | 245.454235673,245.394884571,245.334910963,245.274311238,245.213081809, | |
515 | 245.151219118,245.088719633,245.025579852,244.961796302,244.897365539, | |
516 | 244.832284149,244.76654875,244.70015599,244.633102551,244.565385144, | |
517 | 244.497000518,244.427945453,244.358216762,244.287811295,244.216725936, | |
518 | 244.144957607,244.072503262,243.999359895,243.925524536,243.850994253, | |
519 | 243.775766153,243.699837378,243.623205113,243.545866579,243.467819039, | |
520 | 243.389059794,243.309586187,243.2293956,243.148485458,243.066853225, | |
521 | 242.984496408,242.901412556,242.817599259,242.733054149,242.647774903, | |
522 | 242.561759239,242.475004919,242.387509745,242.299271568,242.210288277, | |
523 | 242.120557808,242.03007814,241.938847296,241.846863343,241.75412439, | |
524 | 241.660628595,241.566374155,241.471359316,241.375582364,241.279041632, | |
525 | 241.181735498,241.083662381,240.984820749,240.88520911,240.78482602, | |
526 | 240.683670075,240.581739919,240.479034238,240.375551763,240.271291268, | |
527 | 240.166251571,240.060431535,239.953830064,239.846446107,239.738278656, | |
528 | 239.629326745,239.519589453,239.4090659,239.297755248,239.185656702, | |
529 | 239.072769509,238.959092958,238.84462638,238.729369145,238.613320666, | |
530 | 238.496480396,238.37884783,238.260422501,238.141203983,238.02119189, | |
531 | 237.900385875,237.778785628,237.656390882,237.533201405,237.409217004, | |
532 | 237.284437524,237.158862846,237.03249289,236.905327613,236.777367005, | |
533 | 236.648611095,236.519059947,236.38871366,236.257572368,236.125636239, | |
534 | 235.992905475,235.859380313,235.725061022,235.589947905,235.454041297, | |
535 | 235.317341565,235.179849108,235.041564357,234.902487774,234.762619849, | |
536 | 234.621961106,234.480512096,234.338273402,234.195245633,234.051429428, | |
537 | 233.906825454,233.761434407,233.615257009,233.468294009,233.320546182, | |
538 | 233.172014331,233.022699284,232.872601892,232.721723035,232.570063615, | |
539 | 232.417624559,232.264406816,232.110411361,231.955639189,231.800091321, | |
540 | 231.643768797,231.486672681,231.328804057,231.17016403,231.010753726, | |
541 | 230.850574292,230.689626893,230.527912715,230.365432962,230.202188857, | |
542 | 230.038181642,229.873412577,229.707882938,229.541594019,229.374547132, | |
543 | 229.206743604,229.038184779,228.868872017,228.698806692,228.527990194, | |
544 | 228.356423928,228.184109314,228.011047785,227.837240787,227.662689782, | |
545 | 227.487396243,227.311361655,227.134587519,226.957075345,226.778826655, | |
546 | 226.599842984,226.420125878,226.239676893,226.058497596,225.876589564, | |
547 | 225.693954385,225.510593656,225.326508984,225.141701984,224.956174281, | |
548 | 224.769927509,224.58296331,224.395283333,224.206889237,224.017782686, | |
549 | 223.827965353,223.637438918,223.446205069,223.254265497,223.061621903, | |
550 | 222.868275994,222.674229479,222.479484077,222.284041512,222.08790351, | |
551 | 221.891071805,221.693548135,221.495334244,221.296431876,221.096842785, | |
552 | 220.896568725,220.695611455,220.493972738,220.29165434,220.08865803, | |
553 | 219.88498558,219.680638766,219.475619366,219.269929161,219.063569932, | |
554 | 218.856543466,218.648851549,218.440495971,218.231478522,218.021800994, | |
555 | 217.811465182,217.60047288,217.388825884,217.176525993,216.963575003, | |
556 | 216.749974714,216.535726925,216.320833437,216.105296048,215.88911656, | |
557 | 215.672296774,215.45483849,215.236743508,215.018013629,214.798650652, | |
558 | 214.578656378,214.358032605,214.136781131,213.914903754,213.692402271, | |
559 | 213.469278477,213.245534168,213.021171136,212.796191175,212.570596077, | |
560 | 212.344387629,212.117567622,211.890137843,211.662100076,211.433456105, | |
561 | 211.204207714,210.974356681,210.743904787,210.512853806,210.281205515, | |
562 | 210.048961685,209.816124088,209.582694492,209.348674664,209.114066368, | |
563 | 208.878871366,208.643091418,208.406728281,208.169783711,207.93225946, | |
564 | 207.694157278,207.455478915,207.216226114,206.97640062,206.736004172, | |
565 | 206.49503851,206.253505367,206.011406477,205.768743571,205.525518376, | |
566 | 205.281732618,205.037388018,204.792486297,204.547029172,204.301018358, | |
567 | 204.054455568,203.80734251,203.559680893,203.31147242,203.062718793, | |
568 | 202.813421712,202.563582874,202.313203973,202.062286701,201.810832747, | |
569 | 201.558843799,201.306321542,201.053267658,200.799683826,200.545571726, | |
570 | 200.290933032,200.035769418,199.780082556,199.523874114,199.26714576, | |
571 | 199.00989916,198.752135977,198.493857873,198.235066508,197.97576354, | |
572 | 197.715950626,197.455629421,197.19480158,196.933468754,196.671632596, | |
573 | 196.409294756,196.146456882,195.883120624,195.619287629,195.354959544, | |
574 | 195.090138015,194.824824689,194.559021212,194.292729229,194.025950385, | |
575 | 193.758686328,193.490938703,193.222709157,192.953999338,192.684810894, | |
576 | 192.415145475,192.145004731,191.874390314,191.603303879,191.331747082, | |
577 | 191.059721579,190.787229033,190.514271105,190.240849462,189.966965773, | |
578 | 189.69262171,189.417818949,189.14255917,188.866844059,188.590675304, | |
579 | 188.314054599,188.036983645,187.759464146,187.481497813,187.203086365, | |
580 | 186.924231527,186.64493503,186.365198614,186.085024028,185.804413028, | |
581 | 185.523367379,185.241888858,184.95997925,184.677640352,184.394873972, | |
582 | 184.11168193,183.828066057,183.544028199,183.259570217,182.974693983, | |
583 | 182.689401387,182.403694334,182.117574747,181.831044563,181.544105742, | |
584 | 181.25676026,180.969010115,180.680857324,180.392303929,180.103351992, | |
585 | 179.814003602,179.524260869,179.234125934,178.943600962,178.652688148, | |
586 | 178.361389716,178.069707923,177.777645057,177.485203439,177.192385426, | |
587 | 176.899193414,176.605629834,176.311697159,176.017397903,175.722734622, | |
588 | 175.42770992,175.132326446,174.836586898,174.540494025,174.244050629, | |
589 | 173.947259568,173.650123755,173.352646164,173.054829832,172.756677859, | |
590 | 172.458193411,172.159379726,171.860240112,171.560777954,171.260996712, | |
591 | 170.960899932,170.660491239,170.359774348,170.058753063,169.757431286, | |
592 | 169.455813011,169.153902337,168.851703468,168.549220714,168.246458503, | |
593 | 167.943421374,167.640113993,167.336541149,167.032707762,166.728618886, | |
594 | 166.424279716,166.119695592,165.814872003,165.509814594,165.204529171, | |
595 | 164.899021704,164.593298336,164.287365388,163.981229364,163.674896958, | |
596 | 163.36837506,163.061670761,162.754791362,162.447744379,162.140537551, | |
597 | 161.833178847,161.525676469,161.218038867,160.91027474,160.602393044, | |
598 | 160.294403003,159.986314114,159.678136154,159.369879193,159.061553594, | |
599 | 158.753170027,158.444739474,158.13627324,157.827782957,157.519280595, | |
600 | 157.21077847,156.90228925,156.593825964,156.285402011,155.977031166, | |
601 | 155.668727586,155.360505823,155.052380826,154.744367948,154.436482957, | |
602 | 154.128742038,153.821161801,153.513759285,153.206551968,152.899557763, | |
603 | 152.592795032,152.286282581,151.980039672,151.674086016,151.368441781, | |
604 | 151.063127591,150.758164527,150.453574123,150.149378371,149.84559971, | |
605 | 149.542261029,149.239385659,148.936997368,148.635120356,148.333779243, | |
606 | 148.032999061,147.732805244,147.433223619,147.134280384,146.836002101, | |
607 | 146.538415678,146.241548349,145.945427656,145.650081429,145.355537765, | |
608 | 145.061825,144.768971689,144.477006578,144.185958573,143.895856717, | |
609 | 143.606730155,143.318608101,143.031519811,142.745494544,142.460561528, | |
610 | 142.176749925,141.894088794,141.612607053,141.33233344,141.053296478, | |
611 | 140.775524432,140.499045269,140.223886626,139.950075761,139.677639521, | |
612 | 139.406604303,139.13699601,138.86884002,138.602161147,138.336983605, | |
613 | 138.073330973,137.811226163,137.550691387,137.291748127,137.034417106, | |
614 | 136.778718261,136.524670718,136.272292766,136.021601842,135.772614503, | |
615 | 135.525346418,135.279812345,135.036026122,134.79400066,134.553747926, | |
616 | 134.315278945,134.078603792,133.843731591,133.610670518,133.379427799, | |
617 | 133.150009719,132.922421627,132.696667945,132.472752176,132.25067692, | |
618 | 132.030443888,131.812053912,131.595506968,131.380802191,131.167937895, | |
619 | 130.956911595,130.747720026,130.540359167,130.334824266,130.13110986, | |
620 | 129.929209804,129.729117294,129.53082489,129.334324549,129.139607641, | |
621 | 128.946664984,128.755486867,128.566063074,128.378382911,128.192435235, | |
622 | 128.008208475,127.82569066,127.644869442,127.465732122,127.288265674, | |
623 | 127.112456765,126.938291784,126.765756859,126.594837879,126.425520519, | |
624 | 126.257790258,126.091632396,125.92703208,125.763974314,125.602443985, | |
625 | 125.442425874,125.283904673,125.126865007,124.971291439,124.817168494, | |
626 | 124.664480664,124.51321243,124.363348265,124.214872655,124.067770102, | |
627 | 123.922025141,123.777622345,123.634546339,123.492781803,123.352313488, | |
628 | 123.213126215,123.075204892,122.938534511,122.803100162,122.668887034, | |
629 | 122.535880424,122.404065739,122.273428504,122.143954363,122.015629084, | |
630 | 121.888438563,121.76236883,121.637406044,121.513536504,121.390746648, | |
631 | 121.269023054,121.148352444,121.028721683,120.910117783,120.792527903, | |
632 | 120.675939349,120.560339577,120.445716191,120.332056945,120.219349742, | |
633 | 120.107582636,119.996743831,119.886821679,119.777804682,119.669681491, | |
634 | 119.562440905,119.45607187,119.350563481,119.245904975,119.142085739, | |
635 | 119.039095299,118.936923328,118.835559639,118.734994187,118.635217064, | |
636 | 118.536218503,118.437988872,118.340518677,118.243798555,118.147819277, | |
637 | 118.052571748,117.958046998,117.864236189,117.771130609,117.678721671, | |
638 | 117.587000912,117.495959991,117.405590688,117.315884902,117.226834649, | |
639 | 117.138432063,117.050669391,116.963538993,116.87703334,116.791145014, | |
640 | 116.705866704,116.621191207,116.537111424,116.453620361,116.370711124, | |
641 | 116.288376922,116.206611062,116.125406949,116.044758083,115.964658061, | |
642 | 115.885100572,115.806079397,115.727588408,115.649621564,115.572172916, | |
643 | 115.495236596,115.418806826,115.342877908,115.267444229,115.192500255, | |
644 | 115.118040534,115.04405969,114.970552425,114.89751352,114.824937826, | |
645 | 114.752820271,114.681155856,114.60993965,114.539166794,114.4688325, | |
646 | 114.398932045,114.329460774,114.260414097,114.191787491,114.123576494, | |
647 | 114.055776708,113.988383796,113.921393483,113.854801553,113.788603846, | |
648 | 113.722796265,113.657374766,113.592335361,113.527674118,113.463387161, | |
649 | 113.399470663,113.335920853,113.27273401,113.209906463,113.147434593, | |
650 | 113.085314829,113.023543648,112.962117574,112.901033179,112.840287082, | |
651 | 112.779875944,112.719796474,112.660045423,112.600619585,112.541515797, | |
652 | 112.482730939,112.42426193,112.36610573,112.308259341,112.250719802, | |
653 | 112.19348419,112.136549623,112.079913253,112.023572271,111.967523904, | |
654 | 111.911765414,111.856294098,111.801107289,111.746202353,111.691576689, | |
655 | 111.637227729,111.583152939,111.529349816,111.475815888,111.422548715, | |
656 | 111.369545886,111.316805023,111.264323773,111.212099817,111.160130862, | |
657 | 111.108414643,111.056948924,111.005731497,110.954760178,110.904032814, | |
658 | 110.853547274,110.803301456,110.75329328,110.703520696,110.653981674, | |
659 | 110.60467421,110.555596324,110.50674606,110.458121485,110.409720688, | |
660 | 110.361541782,110.313582902,110.265842202,110.218317863,110.171008082, | |
661 | 110.123911081,110.077025099,110.030348399,109.983879261,109.937615986, | |
662 | 109.891556896,109.845700329,109.800044645,109.754588221,109.709329453, | |
663 | 109.664266754,109.619398556,109.57472331,109.530239481,109.485945553, | |
664 | 109.441840028,109.397921423,109.354188272,109.310639125,109.267272548, | |
665 | 109.224087122,109.181081447,109.138254133,109.095603809,109.053129118, | |
666 | 109.010828717,108.968701278,108.926745487,108.884960045,108.843343665, | |
667 | 108.801895077,108.760613021,108.719496253,108.67854354,108.637753663, | |
668 | 108.597125417,108.556657609,108.516349056,108.476198591,108.436205057, | |
669 | 108.39636731,108.356684217,108.317154657,108.277777521,108.238551712, | |
670 | 108.199476141,108.160549735,108.121771427,108.083140165,108.044654905, | |
671 | 108.006314614,107.96811827,107.930064861,107.892153386,107.854382852, | |
672 | 107.816752278,107.77926069,107.741907128,107.704690637,107.667610274, | |
673 | 107.630665104,107.593854203,107.557176653,107.520631548,107.48421799, | |
674 | 107.447935087,107.41178196,107.375757736,107.339861549,107.304092545, | |
675 | 107.268449875,107.2329327,107.197540188,107.162271514,107.127125864, | |
676 | 107.092102428,107.057200405,107.022419004,106.987757437,106.953214926, | |
677 | 106.9187907,106.884483995,106.850294054,106.816220127,106.78226147, | |
678 | 106.748417348,106.714687031,106.681069796,106.647564927,106.614171713, | |
679 | 106.580889453,106.547717448,106.514655009,106.48170145,106.448856093, | |
680 | 106.416118267,106.383487304,106.350962545,106.318543335,106.286229026, | |
681 | 106.254018974,106.221912543,106.189909101,106.158008021,106.126208684, | |
682 | 106.094510473,106.06291278,106.031414999,106.000016532,105.968716784, | |
683 | 105.937515166,105.906411094,105.87540399,105.844493279,105.813678393, | |
684 | 105.782958766,105.752333841,105.721803061,105.691365878,105.661021745, | |
685 | 105.630770122,105.600610472,105.570542264,105.540564971,105.51067807, | |
686 | 105.480881041,105.451173372,105.421554551,105.392024073,105.362581436, | |
687 | 105.333226143,105.3039577,105.274775617,105.245679411,105.216668597, | |
688 | 105.1877427,105.158901246,105.130143764,105.101469788,105.072878857, | |
689 | 105.04437051,105.015944294,104.987599757,104.959336451,104.931153932, | |
690 | 104.903051759,104.875029495,104.847086706,104.819222962,104.791437835, | |
691 | 104.763730902,104.736101743,104.708549941,104.681075081,104.653676754, | |
692 | 104.626354551,104.599108068,104.571936905,104.544840663,104.517818946, | |
693 | 104.490871364,104.463997527,104.437197048,104.410469545,104.383814638, | |
694 | 104.357231948,104.330721102,104.304281728,104.277913457,104.251615922, | |
695 | 104.225388761,104.199231613,104.173144119,104.147125925,104.121176677, | |
696 | 104.095296026,104.069483624,104.043739125,104.018062189,103.992452474, | |
697 | 103.966909643,103.941433361,103.916023296,103.890679118,103.865400498, | |
698 | 103.840187112,103.815038637,103.789954751,103.764935137,103.739979478, | |
699 | 103.715087461,103.690258774,103.665493107,103.640790154,103.616149609, | |
700 | 103.59157117,103.567054536,103.542599408,103.51820549,103.493872487, | |
701 | 103.469600108,103.445388062,103.42123606,103.397143817,103.373111047, | |
702 | 103.34913747,103.325222804,103.301366771,103.277569095,103.253829501, | |
703 | 103.230147716,103.206523469,103.182956493,103.159446518,103.13599328, | |
704 | 103.112596516,103.089255964,103.065971363,103.042742456,103.019568986, | |
705 | 102.996450698,102.97338734,102.950378659,102.927424406,102.904524334, | |
706 | 102.881678195,102.858885746,102.836146742,102.813460943,102.790828108, | |
707 | 102.768247999,102.74572038,102.723245015,102.700821671,102.678450115, | |
708 | 102.656130116,102.633861446,102.611643877,102.589477183,102.567361139, | |
709 | 102.545295522,102.523280109,102.501314681,102.479399019,102.457532905, | |
710 | 102.435716122,102.413948457,102.392229695,102.370559624,102.348938035, | |
711 | 102.327364716,102.305839461,102.284362062,102.262932314,102.241550013, | |
712 | 102.220214956,102.198926941,102.177685768,102.156491237,102.135343152, | |
713 | 102.114241314,102.093185529,102.072175603,102.051211342,102.030292555, | |
714 | 102.009419051,101.98859064,101.967807134,101.947068347,101.926374091, | |
715 | 101.905724182,101.885118436,101.864556671,101.844038704,101.823564356, | |
716 | 101.803133447,101.782745799,101.762401235,101.742099578,101.721840653, | |
717 | 101.701624287,101.681450305,101.661318537,101.641228811,101.621180958, | |
718 | 101.601174808,101.581210193,101.561286947,101.541404903,101.521563896, | |
719 | 101.501763763,101.482004341,101.462285466,101.442606979,101.422968719, | |
720 | 101.403370526,101.383812242,101.36429371,101.344814774,101.325375276, | |
721 | 101.305975064,101.286613983,101.267291879,101.248008601,101.228763999, | |
722 | 101.20955792,101.190390216,101.171260738,101.152169339,101.133115871, | |
723 | 101.114100189,101.095122146,101.076181599,101.057278403,101.038412416, | |
724 | 101.019583497,101.000791503,100.982036294,100.96331773,100.944635673, | |
725 | 100.925989984,100.907380526,100.888807163,100.870269758,100.851768177, | |
726 | 100.833302284,100.814871947,100.796477033,100.778117409,100.759792944, | |
727 | 100.741503507,100.723248969,100.705029199,100.68684407,100.668693453, | |
728 | 100.650577222,100.632495249,100.614447409,100.596433577,100.578453629, | |
729 | 100.56050744,100.542594887,100.524715848,100.506870202,100.489057826, | |
730 | 100.471278601,100.453532406,100.435819123,100.418138632,100.400490816, | |
731 | 100.382875557,100.365292739,100.347742246,100.330223961,100.312737771, | |
732 | 100.29528356,100.277861215,100.260470623,100.243111672,100.225784249, | |
733 | 100.208488243,100.191223543,100.17399004,100.156787623,100.139616184, | |
734 | 100.122475614,100.105365804,100.088286649,100.07123804,100.054219871, | |
735 | 100.037232038,100.020274434,100.003346955,99.9864494965,99.9695819554, | |
736 | 99.9527442284,99.935936213,99.9191578071,99.9024089092,99.8856894183, | |
737 | 99.8689992338,99.8523382559,99.8357063851,99.8191035222,99.8025295689, | |
738 | 99.7859844271,99.7694679993,99.7529801885,99.7365208981,99.7200900321, | |
739 | 99.7036874949,99.6873131914,99.6709670269,99.6546489073,99.6383587388, | |
740 | 99.6220964281,99.6058618826,99.5896550097,99.5734757178,99.5573239152, | |
741 | 99.5411995111,99.5251024148,99.5090325364,99.492989786,99.4769740745, | |
742 | 99.460985313,99.4450234132,99.4290882872,99.4131798474,99.3972980067, | |
743 | 99.3814426785,99.3656137764,99.3498112147,99.3340349078,99.3182847708, | |
744 | 99.3025607191,99.2868626683,99.2711905347,99.2555442348,99.2399236857, | |
745 | 99.2243288047,99.2087595095,99.1932157183,99.1776973497,99.1622043225, | |
746 | 99.146736556,99.1312939699,99.1158764842,99.1004840195,99.0851164964, | |
747 | 99.0697738362,99.0544559603,99.0391627907,99.0238942497,99.0086502598, | |
748 | 98.993430744,98.9782356258,98.9630648287,98.9479182768,98.9327958945, | |
749 | 98.9176976065,98.902623338,98.8875730143,98.8725465613,98.857543905, | |
750 | 98.8425649718,98.8276096887,98.8126779826,98.7977697811,98.7828850119, | |
751 | 98.7680236031,98.7531854831,98.7383705808,98.7235788251,98.7088101455, | |
752 | 98.6940644717,98.6793417336,98.6646418617,98.6499647867,98.6353104394, | |
753 | 98.6206787511,98.6060696534,98.5914830783,98.5769189578,98.5623772246, | |
754 | 98.5478578113,98.533360651,98.5188856772,98.5044328236,98.490002024, | |
755 | 98.4755932127,98.4612063243,98.4468412937,98.4324980559,98.4181765464, | |
756 | 98.4038767009,98.3895984552,98.3753417457,98.361106509,98.3468926817, | |
757 | 98.332700201,98.3185290043,98.3043790291,98.2902502134,98.2761424952, | |
758 | 98.2620558131,98.2479901058,98.2339453121,98.2199213714,98.205918223, | |
759 | 98.1919358068,98.1779740627,98.164032931,98.1501123522,98.136212267, | |
760 | 98.1223326165,98.108473342,98.0946343849,98.080815687,98.0670171904, | |
761 | 98.0532388372,98.03948057,98.0257423315,98.0120240648,97.9983257129, | |
762 | 97.9846472195,97.9709885281,97.9573495827,97.9437303276,97.930130707, | |
763 | 97.9165506656,97.9029901484,97.8894491003,97.8759274667,97.8624251931, | |
764 | 97.8489422254,97.8354785095,97.8220339916,97.8086086182,97.795202336, | |
765 | 97.7818150918,97.7684468328,97.7550975062,97.7417670596,97.7284554407, | |
766 | 97.7151625976,97.7018884783,97.6886330313,97.6753962052,97.6621779488, | |
767 | 97.648978211,97.6357969412,97.6226340887,97.6094896032,97.5963634346, | |
768 | 97.5832555327,97.570165848,97.5570943308,97.5440409318,97.5310056019, | |
769 | 97.5179882919,97.5049889533,97.4920075374,97.4790439958,97.4660982804, | |
770 | 97.4531703431,97.4402601362,97.427367612,97.4144927232,97.4016354224, | |
771 | 97.3887956627,97.3759733971,97.3631685791,97.350381162,97.3376110997, | |
772 | 97.3248583459,97.3121228548,97.2994045805,97.2867034775,97.2740195003, | |
773 | 97.2613526038,97.2487027429,97.2360698727,97.2234539485,97.2108549257, | |
774 | 97.1982727601,97.1857074075,97.1731588237,97.1606269651,97.1481117878, | |
775 | 97.1356132485,97.1231313037,97.1106659104,97.0982170254,97.0857846061, | |
776 | 97.0733686096,97.0609689935,97.0485857155,97.0362187333,97.0238680049, | |
777 | 97.0115334885,96.9992151424,96.9869129251,96.974626795,96.9623567111, | |
778 | 96.9501026322,96.9378645174,96.925642326,96.9134360174,96.901245551, | |
779 | 96.8890708866,96.8769119841,96.8647688034,96.8526413048,96.8405294484, | |
780 | 96.8284331947,96.8163525044,96.8042873382,96.792237657,96.7802034217, | |
781 | 96.7681845937,96.7561811342,96.7441930046,96.7322201667,96.7202625821, | |
782 | 96.7083202128,96.6963930208,96.6844809683,96.6725840175,96.660702131, | |
783 | 96.6488352713,96.6369834012,96.6251464835,96.6133244813,96.6015173576, | |
784 | 96.5897250758,96.5779475993,96.5661848916,96.5544369164,96.5427036375, | |
785 | 96.5309850188,96.5192810244,96.5075916186,96.4959167655,96.4842564298, | |
786 | 96.472610576,96.4609791688,96.449362173,96.4377595536,96.4261712758, | |
787 | 96.4145973047,96.4030376057,96.3914921443,96.379960886,96.3684437966, | |
788 | 96.3569408419,96.3454519879,96.3339772007,96.3225164464,96.3110696914, | |
789 | 96.2996369022,96.2882180452,96.2768130873,96.2654219951,96.2540447357, | |
790 | 96.242681276,96.2313315832,96.2199956245,96.2086733674,96.1973647793, | |
791 | 96.1860698279,96.1747884809,96.1635207061,96.1522664715,96.1410257451, | |
792 | 96.1297984951,96.1185846898,96.1073842976,96.096197287,96.0850236266, | |
793 | 96.0738632851,96.0627162315,96.0515824345,96.0404618634,96.0293544871, | |
794 | 96.018260275,96.0071791965,95.9961112211,95.9850563182,95.9740144577, | |
795 | 95.9629856092,95.9519697427,95.9409668282,95.9299768358,95.9189997356, | |
796 | 95.908035498,95.8970840934,95.8861454923,95.8752196653,95.8643065831, | |
797 | 95.8534062165,95.8425185365,95.8316435139,95.82078112,95.8099313258, | |
798 | 95.7990941028,95.7882694223,95.7774572558,95.7666575748,95.7558703512, | |
799 | 95.7450955566,95.7343331628,95.723583142,95.7128454661,95.7021201073, | |
800 | 95.6914070379,95.6807062301,95.6700176564,95.6593412894,95.6486771016, | |
801 | 95.6380250658,95.6273851547,95.6167573413,95.6061415985,95.5955378994, | |
802 | 95.5849462171,95.5743665249,95.5637987962,95.5532430042,95.5426991226, | |
803 | 95.532167125,95.521646985,95.5111386764,95.500642173,95.4901574488, | |
804 | 95.4796844778,95.4692232342,95.4587736921,95.4483358257,95.4379096096, | |
805 | 95.4274950181,95.4170920257,95.406700607,95.3963207368,95.3859523898, | |
806 | 95.375595541,95.3652501651,95.3549162373,95.3445937326,95.3342826263, | |
807 | 95.3239828935,95.3136945097,95.3034174503,95.2931516907,95.2828972066, | |
808 | 95.2726539735,95.2624219673,95.2522011637,95.2419915386,95.231793068, | |
809 | 95.221605728,95.2114294947,95.2012643442,95.1911102528,95.1809671969, | |
810 | 95.1708351529,95.1607140973,95.1506040066,95.1405048576,95.1304166269, | |
811 | 95.1203392913,95.1102728277,95.100217213,95.0901724243,95.0801384386, | |
812 | 95.070115233,95.0601027849,95.0501010715,95.0401100701,95.0301297583, | |
813 | 95.0201601135,95.0102011132,95.0002527353,94.9903149573,94.9803877571, | |
814 | 94.9704711125,94.9605650015,94.950669402,94.9407842921,94.93090965, | |
815 | 94.9210454538,94.9111916818,94.9013483124,94.8915153239,94.8816926948, | |
816 | 94.8718804037,94.8620784292,94.8522867499,94.8425053445,94.8327341919, | |
817 | 94.8229732709,94.8132225604,94.8034820394,94.793751687,94.7840314824, | |
818 | 94.7743214046,94.7646214329,94.7549315467,94.7452517252,94.7355819481, | |
819 | 94.7259221946,94.7162724445,94.7066326773,94.6970028726,94.6873830104, | |
820 | 94.6777730702,94.6681730321,94.658582876,94.6490025817,94.6394321295, | |
821 | 94.6298714993,94.6203206714,94.610779626,94.6012483433,94.5917268037, | |
822 | 94.5822149877,94.5727128756,94.563220448,94.5537376855,94.5442645687, | |
823 | 94.5348010783,94.525347195,94.5159028997,94.5064681732,94.4970429965, | |
824 | 94.4876273505,94.4782212162,94.4688245748,94.4594374074,94.4500596952, | |
825 | 94.4406914195,94.4313325615,94.4219831026,94.4126430243,94.403312308, | |
826 | 94.3939909353,94.3846788878,94.375376147,94.3660826947,94.3567985126, | |
827 | 94.3475235826,94.3382578864,94.329001406,94.3197541234,94.3105160205, | |
828 | 94.3012870794,94.2920672823,94.2828566112,94.2736550485,94.2644625763, | |
829 | 94.255279177,94.2461048331,94.2369395268,94.2277832407,94.2186359572, | |
830 | 94.2094976591,94.2003683288,94.1912479492,94.1821365028,94.1730339724, | |
831 | 94.163940341,94.1548555913,94.1457797063,94.136712669,94.1276544623, | |
832 | 94.1186050694,94.1095644733,94.1005326572,94.0915096044,94.082495298, | |
833 | 94.0734897214,94.064492858,94.0555046911,94.0465252043,94.0375543809, | |
834 | 94.0285922045,94.0196386587,94.0106937272,94.0017573936,93.9928296417, | |
835 | 93.9839104552,93.974999818,93.9660977138,93.9572041267,93.9483190405, | |
836 | 93.9394424393,93.9305743071,93.921714628,93.9128633861,93.9040205657, | |
837 | 93.8951861508,93.8863601258,93.8775424751,93.8687331828,93.8599322335, | |
838 | 93.8511396116,93.8423553016,93.8335792879,93.8248115552,93.816052088, | |
839 | 93.8073008711,93.798557889,93.7898231266,93.7810965686,93.7723781999, | |
840 | 93.7636680053 | |
841 | } | |
842 | } | |
843 | }; |
0 | // generated by ../../tools/tube_transfer.py | |
1 | // tube: 6C16 | |
2 | // plate current function: triode | |
3 | // mu: 42.2 | |
4 | // kx: 2.21 | |
5 | // kg1: 393 | |
6 | // kp: 629 | |
7 | // kvb: 446 | |
8 | ||
9 | table1d_imp<2001> tubetable_6C16[2] = | |
10 | { | |
11 | { | |
12 | // Ri = 68k | |
13 | -5,5,200,2001, { | |
14 | 214.806581677,214.650587712,214.494441388,214.338143449,214.181694635, | |
15 | 214.025095677,213.868347304,213.711450238,213.554405194,213.397212884, | |
16 | 213.239874013,213.082389282,212.924759385,212.766985013,212.60906685, | |
17 | 212.451005576,212.292801864,212.134456385,211.975969802,211.817342776, | |
18 | 211.658575961,211.499670005,211.340625555,211.181443251,211.022123727, | |
19 | 210.862667614,210.703075539,210.543348122,210.383485982,210.22348973, | |
20 | 210.063359973,209.903097317,209.742702359,209.582175694,209.421517913, | |
21 | 209.260729602,209.099811343,208.938763714,208.777587287,208.616282633, | |
22 | 208.454850316,208.293290899,208.131604938,207.969792986,207.807855593, | |
23 | 207.645793304,207.483606661,207.321296202,207.15886246,206.996305965, | |
24 | 206.833627244,206.67082682,206.507905211,206.344862933,206.181700497, | |
25 | 206.018418412,205.855017182,205.691497309,205.527859289,205.364103618, | |
26 | 205.200230785,205.036241278,204.872135582,204.707914176,204.543577538, | |
27 | 204.379126141,204.214560458,204.049880955,203.885088096,203.720182343, | |
28 | 203.555164155,203.390033984,203.224792285,203.059439505,202.893976089, | |
29 | 202.728402482,202.562719123,202.396926447,202.23102489,202.065014882, | |
30 | 201.898896852,201.732671223,201.56633842,201.399898861,201.233352963, | |
31 | 201.066701141,200.899943805,200.733081363,200.566114223,200.399042787, | |
32 | 200.231867455,200.064588626,199.897206695,199.729722054,199.562135094, | |
33 | 199.394446202,199.226655764,199.058764161,198.890771775,198.722678983, | |
34 | 198.554486159,198.386193678,198.217801909,198.04931122,197.880721977, | |
35 | 197.712034543,197.54324928,197.374366545,197.205386696,197.036310087, | |
36 | 196.86713707,196.697867994,196.528503206,196.359043053,196.189487877, | |
37 | 196.019838019,195.850093818,195.680255611,195.510323732,195.340298515, | |
38 | 195.170180288,194.999969382,194.829666122,194.659270832,194.488783835, | |
39 | 194.318205451,194.147535999,193.976775794,193.805925153,193.634984386, | |
40 | 193.463953805,193.292833719,193.121624434,192.950326255,192.778939486, | |
41 | 192.607464428,192.43590138,192.264250641,192.092512505,191.920687267, | |
42 | 191.74877522,191.576776653,191.404691857,191.232521118,191.060264721, | |
43 | 190.887922951,190.715496088,190.542984415,190.370388209,190.197707747, | |
44 | 190.024943305,189.852095157,189.679163575,189.50614883,189.33305119, | |
45 | 189.159870923,188.986608295,188.813263571,188.639837013,188.466328882, | |
46 | 188.292739439,188.119068941,187.945317645,187.771485807,187.597573681, | |
47 | 187.423581518,187.249509571,187.075358088,186.901127317,186.726817506, | |
48 | 186.552428899,186.377961741,186.203416274,186.028792738,185.854091375, | |
49 | 185.679312422,185.504456116,185.329522693,185.154512388,184.979425434, | |
50 | 184.804262062,184.629022504,184.453706988,184.278315742,184.102848994, | |
51 | 183.927306968,183.751689889,183.57599798,183.400231463,183.224390558, | |
52 | 183.048475484,182.872486461,182.696423704,182.520287429,182.344077852, | |
53 | 182.167795186,181.991439642,181.815011432,181.638510767,181.461937854, | |
54 | 181.285292902,181.108576118,180.931787707,180.754927872,180.577996819, | |
55 | 180.400994749,180.223921863,180.046778361,179.869564443,179.692280306, | |
56 | 179.514926148,179.337502164,179.16000855,178.982445499,178.804813204, | |
57 | 178.627111857,178.449341649,178.27150277,178.093595408,177.915619752, | |
58 | 177.737575989,177.559464305,177.381284884,177.203037911,177.024723568, | |
59 | 176.846342039,176.667893504,176.489378144,176.310796138,176.132147665, | |
60 | 175.953432902,175.774652027,175.595805214,175.416892639,175.237914476, | |
61 | 175.058870898,174.879762077,174.700588185,174.521349393,174.342045871, | |
62 | 174.162677786,173.983245308,173.803748604,173.624187839,173.444563181, | |
63 | 173.264874792,173.085122839,172.905307483,172.725428887,172.545487212, | |
64 | 172.365482621,172.185415271,172.005285324,171.825092937,171.644838268, | |
65 | 171.464521474,171.284142712,171.103702136,170.923199902,170.742636163, | |
66 | 170.562011074,170.381324785,170.20057745,170.019769219,169.838900242, | |
67 | 169.65797067,169.476980651,169.295930334,169.114819866,168.933649395, | |
68 | 168.752419065,168.571129024,168.389779415,168.208370384,168.026902072, | |
69 | 167.845374625,167.663788182,167.482142887,167.300438881,167.118676302, | |
70 | 166.936855292,166.754975989,166.573038531,166.391043057,166.208989703, | |
71 | 166.026878606,165.844709901,165.662483725,165.480200212,165.297859496, | |
72 | 165.11546171,164.933006988,164.750495462,164.567927263,164.385302523, | |
73 | 164.202621372,164.019883941,163.837090358,163.654240754,163.471335255, | |
74 | 163.288373991,163.105357087,162.922284672,162.739156871,162.555973809, | |
75 | 162.372735612,162.189442404,162.00609431,161.822691453,161.639233955, | |
76 | 161.45572194,161.272155529,161.088534844,160.904860005,160.721131134, | |
77 | 160.537348349,160.353511771,160.169621519,159.98567771,159.801680463, | |
78 | 159.617629896,159.433526124,159.249369266,159.065159437,158.880896752, | |
79 | 158.696581327,158.512213277,158.327792715,158.143319755,157.958794511, | |
80 | 157.774217096,157.589587621,157.4049062,157.220172943,157.035387961, | |
81 | 156.850551366,156.665663268,156.480723775,156.295732998,156.110691046, | |
82 | 155.925598028,155.74045405,155.555259222,155.37001365,155.184717441, | |
83 | 154.999370702,154.813973539,154.628526057,154.443028363,154.25748056, | |
84 | 154.071882754,153.886235049,153.700537548,153.514790354,153.328993572, | |
85 | 153.143147302,152.957251649,152.771306713,152.585312596,152.3992694, | |
86 | 152.213177225,152.027036171,151.840846339,151.654607829,151.46832074, | |
87 | 151.28198517,151.09560122,150.909168986,150.722688568,150.536160062, | |
88 | 150.349583566,150.162959178,149.976286994,149.78956711,149.602799623, | |
89 | 149.415984628,149.22912222,149.042212495,148.855255548,148.668251473, | |
90 | 148.481200364,148.294102315,148.106957419,147.919765771,147.732527463, | |
91 | 147.545242587,147.357911237,147.170533503,146.983109479,146.795639255, | |
92 | 146.608122923,146.420560573,146.232952297,146.045298185,145.857598327, | |
93 | 145.669852813,145.482061732,145.294225174,145.106343228,144.918415983, | |
94 | 144.730443527,144.542425949,144.354363336,144.166255777,143.978103358, | |
95 | 143.789906168,143.601664294,143.413377821,143.225046837,143.036671428, | |
96 | 142.848251681,142.65978768,142.471279512,142.282727262,142.094131015, | |
97 | 141.905490856,141.71680687,141.528079142,141.339307755,141.150492794, | |
98 | 140.961634343,140.772732485,140.583787303,140.394798882,140.205767303, | |
99 | 140.016692651,139.827575006,139.638414453,139.449211072,139.259964947, | |
100 | 139.070676158,138.881344788,138.691970919,138.50255463,138.313096004, | |
101 | 138.123595121,137.934052062,137.744466908,137.554839739,137.365170636, | |
102 | 137.175459677,136.985706944,136.795912515,136.606076471,136.416198891, | |
103 | 136.226279854,136.036319439,135.846317724,135.65627479,135.466190714, | |
104 | 135.276065574,135.08589945,134.895692419,134.70544456,134.515155949, | |
105 | 134.324826666,134.134456787,133.94404639,133.753595552,133.563104351, | |
106 | 133.372572864,133.182001167,132.991389337,132.800737452,132.610045587, | |
107 | 132.41931382,132.228542226,132.037730882,131.846879864,131.655989247, | |
108 | 131.465059109,131.274089524,131.083080569,130.892032318,130.700944849, | |
109 | 130.509818235,130.318652552,130.127447876,129.936204281,129.744921843, | |
110 | 129.553600637,129.362240737,129.170842219,128.979405156,128.787929624, | |
111 | 128.596415698,128.404863451,128.213272959,128.021644295,127.829977533, | |
112 | 127.638272749,127.446530017,127.254749409,127.062931001,126.871074867, | |
113 | 126.679181079,126.487249713,126.295280842,126.103274541,125.911230881, | |
114 | 125.719149938,125.527031786,125.334876497,125.142684145,124.950454804, | |
115 | 124.758188548,124.565885449,124.373545582,124.18116902,123.988755837, | |
116 | 123.796306105,123.603819898,123.41129729,123.218738354,123.026143164, | |
117 | 122.833511792,122.640844313,122.448140799,122.255401324,122.062625961, | |
118 | 121.869814784,121.676967866,121.484085281,121.291167101,121.098213401, | |
119 | 120.905224253,120.712199732,120.51913991,120.326044862,120.132914661, | |
120 | 119.93974938,119.746549093,119.553313874,119.360043796,119.166738933, | |
121 | 118.973399359,118.780025148,118.586616373,118.393173109,118.19969543, | |
122 | 118.006183409,117.81263712,117.619056639,117.425442039,117.231793394, | |
123 | 117.038110779,116.844394268,116.650643936,116.456859857,116.263042107, | |
124 | 116.069190759,115.87530589,115.681387573,115.487435884,115.293450898, | |
125 | 115.09943269,114.905381337,114.711296912,114.517179492,114.323029153, | |
126 | 114.128845971,113.93463002,113.740381379,113.546100122,113.351786326, | |
127 | 113.157440068,112.963061424,112.768650472,112.574207287,112.379731948, | |
128 | 112.185224531,111.990685114,111.796113774,111.601510589,111.406875638, | |
129 | 111.212208997,111.017510746,110.822780964,110.628019727,110.433227116, | |
130 | 110.238403209,110.043548087,109.848661827,109.65374451,109.458796215, | |
131 | 109.263817024,109.068807015,108.87376627,108.678694869,108.483592894, | |
132 | 108.288460425,108.093297545,107.898104334,107.702880875,107.507627251, | |
133 | 107.312343543,107.117029835,106.921686209,106.726312749,106.530909539, | |
134 | 106.335476663,106.140014205,105.944522249,105.749000881,105.553450185, | |
135 | 105.357870248,105.162261155,104.966622992,104.770955847,104.575259805, | |
136 | 104.379534954,104.183781382,103.987999177,103.792188428,103.596349222, | |
137 | 103.40048165,103.204585801,103.008661765,102.812709632,102.616729493, | |
138 | 102.420721441,102.224685566,102.02862196,101.832530717,101.636411929, | |
139 | 101.440265691,101.244092096,101.047891239,100.851663216,100.655408121, | |
140 | 100.459126052,100.262817104,100.066481377,99.8701189658,99.673729971, | |
141 | 99.477314491,99.2808726256,99.0844044752,98.8879101407,98.6913897236, | |
142 | 98.4948433264,98.2982710519,98.1016730037,97.9050492862,97.7084000044, | |
143 | 97.5117252641,97.3150251718,97.1182998349,96.9215493615,96.7247738603, | |
144 | 96.5279734411,96.3311482144,96.1342982917,95.9374237851,95.7405248079, | |
145 | 95.5436014741,95.3466538988,95.1496821978,94.9526864881,94.7556668877, | |
146 | 94.5586235156,94.3615564917,94.1644659371,93.9673519741,93.7702147259, | |
147 | 93.5730543171,93.3758708733,93.1786645213,92.9814353893,92.7841836066, | |
148 | 92.5869093039,92.3896126132,92.1922936679,91.9949526028,91.7975895541, | |
149 | 91.6002046595,91.4027980582,91.205369891,91.0079203002,90.8104494298, | |
150 | 90.6129574255,90.4154444347,90.2179106065,90.0203560919,89.8227810438, | |
151 | 89.6251856168,89.4275699678,89.2299342554,89.0322786405,88.8346032859, | |
152 | 88.636908357,88.4391940209,88.2414604476,88.0437078089,87.8459362796, | |
153 | 87.6481460367,87.4503372598,87.2525101312,87.0546648361,86.8568015623, | |
154 | 86.6589205007,86.461021845,86.2631057922,86.0651725422,85.8672222985, | |
155 | 85.6692552677,85.47127166,85.2732716892,85.0752555725,84.8772235314, | |
156 | 84.6791757908,84.4811125799,84.2830341322,84.084940685,83.8868324806, | |
157 | 83.6887097654,83.4905727907,83.2924218127,83.0942570925,82.8960788963, | |
158 | 82.6978874958,82.499683168,82.3014661959,82.1032368679,81.9049954788, | |
159 | 81.7067423296,81.5084777275,81.3102019866,81.1119154278,80.9136183791, | |
160 | 80.7153111759,80.516994161,80.3186676851,80.1203321072,79.9219877944, | |
161 | 79.7236351224,79.5252744761,79.3269062494,79.1285308459,78.9301486789, | |
162 | 78.7317601719,78.533365759,78.3349658854,78.1365610071,77.9381515922, | |
163 | 77.7397381206,77.5413210848,77.34290099,77.1444783551,76.9460537123, | |
164 | 76.7476276085,76.5492006051,76.350773279,76.1523462226,75.9539200451, | |
165 | 75.7554953721,75.5570728472,75.3586531317,75.160236906,74.9618248697, | |
166 | 74.7634177425,74.5650162649,74.3666211991,74.1682333293,73.969853463, | |
167 | 73.7714824312,73.57312109,73.3747703208,73.1764310315,72.9781041575, | |
168 | 72.7797906624,72.5814915392,72.3832078112,72.1849405333,71.9866907928, | |
169 | 71.7884597106,71.5902484426,71.3920581808,71.1938901544,70.9957456312, | |
170 | 70.7976259192,70.5995323675,70.4014663683,70.203429358,70.0054228187, | |
171 | 69.8074482801,69.6095073209,69.4116015707,69.2137327114,69.0159024793, | |
172 | 68.8181126671,68.6203651253,68.4226617647,68.2250045581,68.0273955426, | |
173 | 67.8298368217,67.6323305676,67.4348790234,67.2374845055,67.0401494061, | |
174 | 66.8428761956,66.6456674255,66.4485257304,66.2514538315,66.0544545389, | |
175 | 65.8575307545,65.6606854752,65.4639217957,65.2672429117,65.070652123, | |
176 | 64.8741528369,64.6777485713,64.4814429582,64.2852397473,64.0891428094, | |
177 | 63.89315614,63.6972838629,63.5015302341,63.3058996458,63.1103966298, | |
178 | 62.9150258617,62.7197921649,62.5247005146,62.3297560418,62.1349640375, | |
179 | 61.9403299569,61.7458594236,61.5515582334,61.3574323592,61.1634879547, | |
180 | 60.9697313588,60.7761690999,60.5828078998,60.3896546781,60.1967165562, | |
181 | 60.0040008615,59.811515131,59.6192671154,59.427264783,59.2355163231, | |
182 | 59.0440301495,58.852814904,58.6618794596,58.4712329231,58.2808846382, | |
183 | 58.090844188,57.9011213969,57.7117263328,57.5226693086,57.3339608836, | |
184 | 57.1456118642,56.9576333046,56.7700365068,56.58283302,56.3960346403, | |
185 | 56.2096534086,56.0237016094,55.8381917678,55.6531366466,55.4685492428, | |
186 | 55.284442783,55.1008307186,54.9177267197,54.7351446693,54.5530986556, | |
187 | 54.3716029642,54.1906720696,54.0103206254,53.8305634543,53.6514155368, | |
188 | 53.4728919991,53.295008101,53.1177792216,52.9412208454,52.7653485472, | |
189 | 52.5901779759,52.4157248378,52.2420048797,52.0690338701,51.8968275811, | |
190 | 51.7254017683,51.5547721516,51.3849543941,51.2159640815,51.0478167004, | |
191 | 50.8805276169,50.7141120546,50.5485850721,50.3839615409,50.220256123, | |
192 | 50.0574832487,49.895657094,49.7347915589,49.5749002458,49.4159964377, | |
193 | 49.2580930777,49.1012027484,48.9453376526,48.7905095938,48.6367299582, | |
194 | 48.4840096974,48.3323593121,48.1817888365,48.0323078239,47.8839253338, | |
195 | 47.7366499195,47.5904896174,47.4454519373,47.3015438542,47.1587718012, | |
196 | 47.0171416637,46.876658775,46.7373279131,46.5991532994,46.4621385973, | |
197 | 46.326286914,46.1916008015,46.0580822608,45.9257327457,45.7945531685, | |
198 | 45.6645439069,45.5357048113,45.4080352138,45.2815339377,45.1561993078, | |
199 | 45.032029162,44.9090208631,44.7871713114,44.6664769582,44.5469338196, | |
200 | 44.4285374906,44.3112831602,44.195165626,44.08017931,43.9663182736, | |
201 | 43.8535762342,43.7419465802,43.6314223873,43.5219964345,43.4136612197, | |
202 | 43.3064089756,43.2002316854,43.0951210982,42.9910687444,42.8880659502, | |
203 | 42.7861038533,42.6851734163,42.5852654418,42.4863705854,42.3884793696, | |
204 | 42.2915821966,42.1956693612,42.1007310628,42.0067574174,41.913738469, | |
205 | 41.8216642003,41.7305245439,41.6403093918,41.5510086055,41.4626120252, | |
206 | 41.3751094786,41.2884907892,41.2027457849,41.1178643049,41.0338362075, | |
207 | 40.9506513767,40.8682997286,40.7867712177,40.7060558425,40.6261436509, | |
208 | 40.5470247451,40.4686892867,40.3911275007,40.3143296798,40.238286188, | |
209 | 40.1629874645,40.0884240263,40.0145864718,39.9414654832,39.869051829, | |
210 | 39.7973363663,39.7263100428,39.6559638986,39.5862890679,39.5172767805, | |
211 | 39.4489183628,39.381205239,39.3141289323,39.2476810652,39.1818533604, | |
212 | 39.1166376415,39.0520258329,38.9880099602,38.9245821507,38.861734633, | |
213 | 38.799459737,38.7377498939,38.6765976358,38.6159955956,38.5559365061, | |
214 | 38.4964132002,38.4374186098,38.3789457655,38.3209877958,38.2635379265, | |
215 | 38.20658948,38.1501358741,38.0941706218,38.03868733,37.9836796987, | |
216 | 37.9291415199,37.8750666772,37.821449144,37.7682829833,37.7155623461, | |
217 | 37.6632814707,37.6114346815,37.5600163879,37.5090210835,37.4584433446, | |
218 | 37.4082778296,37.3585192774,37.3091625068,37.260202415,37.2116339769, | |
219 | 37.1634522436,37.1156523417,37.0682294717,37.0211789077,36.9744959955, | |
220 | 36.9281761519,36.882214864,36.8366076874,36.7913502455,36.7464382288, | |
221 | 36.7018673933,36.6576335597,36.6137326126,36.5701604991,36.5269132281, | |
222 | 36.4839868692,36.4413775518,36.3990814641,36.3570948521,36.3154140187, | |
223 | 36.2740353227,36.2329551782,36.1921700533,36.1516764693,36.1114710002, | |
224 | 36.0715502713,36.0319109585,35.9925497878,35.953463534,35.9146490203, | |
225 | 35.8761031172,35.8378227417,35.7998048569,35.7620464706,35.7245446353, | |
226 | 35.6872964468,35.6502990438,35.6135496072,35.5770453592,35.5407835628, | |
227 | 35.5047615211,35.4689765763,35.4334261096,35.3981075401,35.3630183243, | |
228 | 35.3281559555,35.2935179634,35.2591019128,35.2249054039,35.190926071, | |
229 | 35.1571615823,35.1236096394,35.0902679764,35.0571343594,35.0242065864, | |
230 | 34.9914824864,34.9589599188,34.9266367732,34.8945109687,34.8625804535, | |
231 | 34.8308432042,34.7992972259,34.7679405508,34.7367712388,34.7057873762, | |
232 | 34.6749870757,34.6443684758,34.6139297407,34.5836690592,34.553584645, | |
233 | 34.523674736,34.4939375938,34.4643715034,34.4349747732,34.4057457337, | |
234 | 34.3766827382,34.3477841616,34.3190484007,34.2904738733,34.2620590183, | |
235 | 34.2338022949,34.2057021827,34.1777571813,34.1499658098,34.1223266066, | |
236 | 34.094838129,34.067498953,34.0403076731,34.0132629019,33.9863632696, | |
237 | 33.9596074241,33.9329940306,33.906521771,33.8801893442,33.8539954655, | |
238 | 33.8279388664,33.8020182942,33.7762325121,33.7505802987,33.7250604478, | |
239 | 33.6996717682,33.6744130834,33.6492832315,33.624281065,33.5994054503, | |
240 | 33.5746552679,33.5500294117,33.5255267892,33.5011463214,33.4768869419, | |
241 | 33.4527475975,33.4287272476,33.404824864,33.3810394309,33.3573699445, | |
242 | 33.333815413,33.3103748565,33.2870473064,33.2638318058,33.2407274087, | |
243 | 33.2177331806,33.1948481976,33.1720715466,33.1494023254,33.1268396418, | |
244 | 33.1043826143,33.0820303713,33.0597820513,33.0376368026,33.0155937833, | |
245 | 32.9936521611,32.971811113,32.9500698254,32.928427494,32.9068833234, | |
246 | 32.885436527,32.8640863273,32.8428319553,32.8216726506,32.8006076611, | |
247 | 32.7796362431,32.7587576613,32.7379711881,32.7172761042,32.696671698, | |
248 | 32.6761572657,32.6557321111,32.6353955456,32.615146888,32.5949854646, | |
249 | 32.5749106086,32.5549216607,32.5350179685,32.5151988864,32.4954637759, | |
250 | 32.4758120052,32.4562429491,32.4367559889,32.4173505127,32.3980259148, | |
251 | 32.3787815958,32.3596169627,32.3405314284,32.3215244122,32.3025953392, | |
252 | 32.2837436404,32.2649687528,32.246270119,32.2276471875,32.2090994121, | |
253 | 32.1906262525,32.1722271737,32.1539016461,32.1356491454,32.1174691527, | |
254 | 32.0993611542,32.0813246412,32.0633591103,32.0454640627,32.027639005, | |
255 | 32.0098834483,31.9921969088,31.9745789073,31.9570289692,31.9395466249, | |
256 | 31.922131409,31.9047828608,31.8875005241,31.870283947,31.8531326821, | |
257 | 31.8360462862,31.8190243203,31.8020663499,31.7851719442,31.768340677, | |
258 | 31.7515721256,31.7348658718,31.7182215011,31.7016386029,31.6851167705, | |
259 | 31.6686556011,31.6522546954,31.6359136583,31.6196320978,31.603409626, | |
260 | 31.5872458584,31.571140414,31.5550929153,31.5391029884,31.5231702628, | |
261 | 31.5072943712,31.49147495,31.4757116385,31.4600040794,31.4443519189, | |
262 | 31.4287548061,31.4132123933,31.3977243359,31.3822902925,31.3669099247, | |
263 | 31.3515828971,31.3363088772,31.3210875356,31.3059185458,31.2908015839, | |
264 | 31.2757363292,31.2607224636,31.245759672,31.2308476417,31.2159860631, | |
265 | 31.2011746291,31.1864130351,31.1717009795,31.1570381631,31.1424242891, | |
266 | 31.1278590637,31.1133421951,31.0988733943,31.0844523748,31.0700788523, | |
267 | 31.0557525451,31.0414731739,31.0272404614,31.0130541332,30.9989139168, | |
268 | 30.9848195421,30.9707707411,30.9567672485,30.9428088006,30.9288951362, | |
269 | 30.9150259964,30.9012011241,30.8874202647,30.8736831652,30.8599895751, | |
270 | 30.8463392459,30.8327319308,30.8191673854,30.805645367,30.7921656351, | |
271 | 30.778727951,30.7653320779,30.751977781,30.7386648273,30.7253929858, | |
272 | 30.7121620271,30.6989717239,30.6858218505,30.6727121831,30.6596424997, | |
273 | 30.64661258,30.6336222053,30.6206711589,30.6077592256,30.5948861919, | |
274 | 30.582051846,30.5692559778,30.5564983788,30.543778842,30.5310971622, | |
275 | 30.5184531356,30.5058465602,30.4932772352,30.4807449617,30.4682495421, | |
276 | 30.4557907804,30.4433684821,30.430982454,30.4186325047,30.4063184439, | |
277 | 30.394040083,30.3817972346,30.369589713,30.3574173335,30.3452799132, | |
278 | 30.3331772701,30.3211092241,30.309075596,30.2970762081,30.285110884, | |
279 | 30.2731794486,30.2612817281,30.24941755,30.237586743,30.2257891371, | |
280 | 30.2140245634,30.2022928546,30.1905938442,30.1789273672,30.1672932596, | |
281 | 30.1556913586,30.1441215028,30.1325835317,30.1210772861,30.1096026079, | |
282 | 30.09815934,30.0867473267,30.0753664132,30.0640164459,30.0526972721, | |
283 | 30.0414087405,30.0301507006,30.018923003,30.0077254995,29.9965580428, | |
284 | 29.9854204867,29.974312686,29.9632344964,29.9521857749,29.9411663791, | |
285 | 29.930176168,29.9192150012,29.9082827395,29.8973792446,29.8865043791, | |
286 | 29.8756580067,29.8648399918,29.8540501999,29.8432884974,29.8325547515, | |
287 | 29.8218488304,29.8111706032,29.8005199399,29.7898967112,29.7793007888, | |
288 | 29.7687320454,29.7581903544,29.74767559,29.7371876273,29.7267263422, | |
289 | 29.7162916116,29.705883313,29.6955013249,29.6851455263,29.6748157973, | |
290 | 29.6645120188,29.6542340722,29.64398184,29.6337552052,29.6235540517, | |
291 | 29.6133782642,29.6032277281,29.5931023295,29.5830019553,29.5729264931, | |
292 | 29.5628758312,29.5528498587,29.5428484654,29.5328715418,29.5229189789, | |
293 | 29.5129906688,29.503086504,29.4932063777,29.4833501839,29.4735178172, | |
294 | 29.4637091728,29.4539241467,29.4441626356,29.4344245366,29.4247097476, | |
295 | 29.4150181672,29.4053496945,29.3957042294,29.3860816723,29.3764819242, | |
296 | 29.3669048868,29.3573504624,29.3478185538,29.3383090646,29.3288218988, | |
297 | 29.3193569611,29.3099141568,29.3004933916,29.2910945721,29.2817176051, | |
298 | 29.2723623983,29.2630288597,29.2537168981,29.2444264227,29.2351573433, | |
299 | 29.2259095701,29.2166830142,29.2074775868,29.1982931999,29.189129766, | |
300 | 29.1799871982,29.1708654098,29.161764315,29.1526838283,29.1436238647, | |
301 | 29.1345843399,29.1255651698,29.1165662711,29.1075875607,29.0986289563, | |
302 | 29.0896903759,29.0807717379,29.0718729614,29.0629939658,29.054134671, | |
303 | 29.0452949975,29.0364748662,29.0276741982,29.0188929155,29.0101309403, | |
304 | 29.0013881953,28.9926646035,28.9839600886,28.9752745746,28.9666079859, | |
305 | 28.9579602474,28.9493312845,28.9407210228,28.9321293887,28.9235563085, | |
306 | 28.9150017094,28.9064655188,28.8979476644,28.8894480746,28.880966678, | |
307 | 28.8725034037,28.864058181,28.8556309398,28.8472216105,28.8388301235, | |
308 | 28.8304564099,28.8221004011,28.813762029,28.8054412256,28.7971379235, | |
309 | 28.7888520556,28.7805835552,28.772332356,28.764098392,28.7558815975, | |
310 | 28.7476819073,28.7394992566,28.7313335807,28.7231848155,28.7150528972, | |
311 | 28.7069377621,28.6988393474,28.69075759,28.6826924275,28.6746437979, | |
312 | 28.6666116394,28.6585958904,28.6505964899,28.6426133771,28.6346464915, | |
313 | 28.626695773,28.6187611617,28.6108425982,28.6029400232,28.595053378, | |
314 | 28.5871826039,28.5793276427,28.5714884365,28.5636649277,28.5558570589, | |
315 | 28.5480647731,28.5402880136,28.532526724,28.5247808482,28.5170503302, | |
316 | 28.5093351147,28.5016351463,28.4939503701,28.4862807313,28.4786261758, | |
317 | 28.4709866492,28.4633620978,28.4557524681,28.4481577067,28.4405777608, | |
318 | 28.4330125775,28.4254621044,28.4179262893,28.4104050804,28.4028984259, | |
319 | 28.3954062746,28.3879285752,28.3804652769,28.3730163292,28.3655816816, | |
320 | 28.3581612841,28.3507550868,28.3433630402,28.3359850949,28.3286212019, | |
321 | 28.3212713123,28.3139353775,28.3066133492,28.2993051793,28.2920108199, | |
322 | 28.2847302234,28.2774633423,28.2702101296,28.2629705384,28.2557445219, | |
323 | 28.2485320337,28.2413330275,28.2341474574,28.2269752777,28.2198164427, | |
324 | 28.2126709072,28.205538626,28.1984195544,28.1913136475,28.1842208611, | |
325 | 28.1771411508,28.1700744728,28.1630207831,28.1559800382,28.1489521948, | |
326 | 28.1419372097,28.13493504,28.1279456429,28.1209689759,28.1140049966, | |
327 | 28.107053663,28.1001149332,28.0931887653,28.0862751179,28.0793739497, | |
328 | 28.0724852196,28.0656088866,28.0587449099,28.0518932492,28.0450538639, | |
329 | 28.038226714,28.0314117595,28.0246089606,28.0178182778,28.0110396715, | |
330 | 28.0042731028,27.9975185324,27.9907759215,27.9840452315,27.9773264239, | |
331 | 27.9706194605,27.9639243029,27.9572409134,27.9505692542,27.9439092876, | |
332 | 27.9372609763,27.9306242829,27.9239991704,27.917385602,27.9107835408, | |
333 | 27.9041929503,27.8976137942,27.8910460361,27.8844896401,27.8779445702, | |
334 | 27.8714107907,27.8648882661,27.8583769608,27.8518768397,27.8453878678, | |
335 | 27.8389100099,27.8324432315,27.8259874979,27.8195427746,27.8131090273, | |
336 | 27.806686222,27.8002743245,27.7938733011,27.7874831181,27.781103742, | |
337 | 27.7747351393,27.7683772768,27.7620301215,27.7556936405,27.7493678008, | |
338 | 27.74305257,27.7367479154,27.7304538047,27.7241702058,27.7178970865, | |
339 | 27.7116344149,27.7053821593,27.6991402879,27.6929087694,27.6866875722, | |
340 | 27.6804766652,27.6742760174,27.6680855976,27.6619053752,27.6557353194, | |
341 | 27.6495753996,27.6434255855,27.6372858468,27.6311561533,27.6250364749, | |
342 | 27.6189267819,27.6128270443,27.6067372327,27.6006573174,27.594587269, | |
343 | 27.5885270585,27.5824766565,27.5764360341,27.5704051624,27.5643840127, | |
344 | 27.5583725563,27.5523707647,27.5463786095,27.5403960625,27.5344230955, | |
345 | 27.5284596804,27.5225057894,27.5165613947,27.5106264685,27.5047009834, | |
346 | 27.4987849119,27.4928782266,27.4869809004,27.4810929061,27.4752142168, | |
347 | 27.4693448056,27.4634846457,27.4576337105,27.4517919735,27.4459594082, | |
348 | 27.4401359884,27.4343216877,27.4285164802,27.4227203398,27.4169332407, | |
349 | 27.411155157,27.4053860632,27.3996259336,27.3938747428,27.3881324655, | |
350 | 27.3823990764,27.3766745503,27.3709588622,27.3652519873,27.3595539006, | |
351 | 27.3538645774,27.3481839931,27.3425121231,27.3368489431,27.3311944287, | |
352 | 27.3255485556,27.3199112998,27.3142826371,27.3086625437,27.3030509957, | |
353 | 27.2974479694,27.291853441,27.2862673871,27.2806897842,27.2751206089, | |
354 | 27.2695598379,27.2640074481,27.2584634164,27.2529277198,27.2474003354, | |
355 | 27.2418812403,27.2363704118,27.2308678274,27.2253734644,27.2198873005, | |
356 | 27.2144093132,27.2089394803,27.2034777796,27.1980241889,27.1925786864, | |
357 | 27.18714125,27.181711858,27.1762904885,27.1708771199,27.1654717306, | |
358 | 27.1600742991,27.1546848041,27.1493032241,27.1439295379,27.1385637244, | |
359 | 27.1332057625,27.1278556311,27.1225133094,27.1171787765,27.1118520117, | |
360 | 27.1065329942,27.1012217036,27.0959181192,27.0906222206,27.0853339875, | |
361 | 27.0800533996,27.0747804366,27.0695150786,27.0642573053,27.0590070968, | |
362 | 27.0537644333,27.048529295,27.0433016619,27.0380815146,27.0328688334, | |
363 | 27.0276635988,27.0224657913,27.0172753915,27.0120923803,27.0069167383, | |
364 | 27.0017484463,26.9965874854,26.9914338364,26.9862874805,26.9811483988, | |
365 | 26.9760165725,26.9708919829,26.9657746112,26.960664439,26.9555614477, | |
366 | 26.9504656189,26.9453769341,26.9402953751,26.9352209236,26.9301535615, | |
367 | 26.9250932707,26.920040033,26.9149938306,26.9099546455,26.9049224599, | |
368 | 26.899897256,26.8948790161,26.8898677226,26.8848633578,26.8798659043, | |
369 | 26.8748753447,26.8698916614,26.8649148373,26.8599448551,26.8549816974, | |
370 | 26.8500253473,26.8450757877,26.8401330015,26.8351969718,26.8302676817, | |
371 | 26.8253451143,26.820429253,26.815520081,26.8106175817,26.8057217385, | |
372 | 26.8008325349,26.7959499543,26.7910739805,26.786204597,26.7813417876, | |
373 | 26.7764855361,26.7716358262,26.7667926419,26.7619559671,26.7571257859, | |
374 | 26.7523020822,26.7474848402,26.7426740441,26.737869678,26.7330717264, | |
375 | 26.7282801735,26.7234950037,26.7187162015,26.7139437514,26.7091776379, | |
376 | 26.7044178457,26.6996643594,26.6949171638,26.6901762436,26.6854415837, | |
377 | 26.680713169,26.6759909844,26.6712750148,26.6665652454,26.6618616612, | |
378 | 26.6571642474,26.6524729891,26.6477878717,26.6431088804,26.6384360006, | |
379 | 26.6337692177,26.6291085171,26.6244538844,26.6198053051,26.6151627648, | |
380 | 26.6105262491,26.6058957438,26.6012712347,26.5966527074,26.592040148, | |
381 | 26.5874335422,26.5828328761,26.5782381356,26.5736493067,26.5690663756, | |
382 | 26.5644893285,26.5599181514,26.5553528306,26.5507933525,26.5462397032, | |
383 | 26.5416918693,26.5371498371,26.5326135931,26.5280831239,26.5235584158, | |
384 | 26.5190394557,26.5145262301,26.5100187257,26.5055169292,26.5010208275, | |
385 | 26.4965304073,26.4920456556,26.4875665593,26.4830931052,26.4786252805, | |
386 | 26.4741630721,26.4697064672,26.4652554529,26.4608100163,26.4563701447, | |
387 | 26.4519358254,26.4475070456,26.4430837927,26.4386660541,26.4342538172, | |
388 | 26.4298470695,26.4254457985,26.4210499918,26.4166596369,26.4122747215, | |
389 | 26.4078952332,26.4035211598,26.3991524891,26.3947892088,26.3904313068, | |
390 | 26.3860787709,26.3817315891,26.3773897493,26.3730532396,26.3687220479, | |
391 | 26.3643961623,26.360075571,26.3557602621,26.3514502237,26.3471454442, | |
392 | 26.3428459118,26.3385516148,26.3342625415,26.3299786803,26.3257000197, | |
393 | 26.3214265481,26.3171582539,26.3128951257,26.3086371522,26.3043843218, | |
394 | 26.3001366232,26.2958940452,26.2916565763,26.2874242055,26.2831969213, | |
395 | 26.2789747128,26.2747575687,26.2705454778,26.2663384293,26.2621364119, | |
396 | 26.2579394148,26.2537474269,26.2495604373,26.2453784351,26.2412014095, | |
397 | 26.2370293495,26.2328622446,26.2287000837,26.2245428563,26.2203905517, | |
398 | 26.2162431591,26.212100668,26.2079630678,26.2038303479,26.1997024978, | |
399 | 26.1955795069,26.1914613649,26.1873480613,26.1832395857,26.1791359278, | |
400 | 26.1750370772,26.1709430235,26.1668537567,26.1627692664,26.1586895424, | |
401 | 26.1546145745,26.1505443526,26.1464788667,26.1424181066,26.1383620622, | |
402 | 26.1343107237,26.1302640809,26.1262221239,26.1221848429,26.1181522279, | |
403 | 26.114124269,26.1101009565,26.1060822805,26.1020682313,26.098058799, | |
404 | 26.0940539741,26.0900537468,26.0860581075,26.0820670466,26.0780805544, | |
405 | 26.0740986214,26.070121238,26.0661483949,26.0621800824,26.0582162911, | |
406 | 26.0542570117,26.0503022347,26.0463519507,26.0424061505,26.0384648247, | |
407 | 26.0345279641,26.0305955593,26.0266676012,26.0227440806,26.0188249883, | |
408 | 26.0149103152,26.0110000522,26.0070941901,26.00319272,25.9992956327, | |
409 | 25.9954029194,25.9915145709,25.9876305784,25.983750933,25.9798756257, | |
410 | 25.9760046476,25.97213799,25.9682756441,25.9644176009,25.9605638518, | |
411 | 25.956714388,25.9528692009,25.9490282816,25.9451916216,25.9413592122, | |
412 | 25.9375310449,25.9337071109,25.9298874018,25.9260719091,25.9222606242, | |
413 | 25.9184535386,25.9146506439,25.9108519316,25.9070573933,25.9032670207, | |
414 | 25.8994808054 | |
415 | } | |
416 | }, | |
417 | { | |
418 | // Ri = 250k | |
419 | -5,5,200,2001, { | |
420 | 214.806581677,214.650587712,214.494441388,214.338143449,214.181694635, | |
421 | 214.025095677,213.868347304,213.711450238,213.554405194,213.397212884, | |
422 | 213.239874013,213.082389282,212.924759385,212.766985013,212.60906685, | |
423 | 212.451005576,212.292801864,212.134456385,211.975969802,211.817342776, | |
424 | 211.658575961,211.499670005,211.340625555,211.181443251,211.022123727, | |
425 | 210.862667614,210.703075539,210.543348122,210.383485982,210.22348973, | |
426 | 210.063359973,209.903097317,209.742702359,209.582175694,209.421517913, | |
427 | 209.260729602,209.099811343,208.938763714,208.777587287,208.616282633, | |
428 | 208.454850316,208.293290899,208.131604938,207.969792986,207.807855593, | |
429 | 207.645793304,207.483606661,207.321296202,207.15886246,206.996305965, | |
430 | 206.833627244,206.67082682,206.507905211,206.344862933,206.181700497, | |
431 | 206.018418412,205.855017182,205.691497309,205.527859289,205.364103618, | |
432 | 205.200230785,205.036241278,204.872135582,204.707914176,204.543577538, | |
433 | 204.379126141,204.214560458,204.049880955,203.885088096,203.720182343, | |
434 | 203.555164155,203.390033984,203.224792285,203.059439505,202.893976089, | |
435 | 202.728402482,202.562719123,202.396926447,202.23102489,202.065014882, | |
436 | 201.898896852,201.732671223,201.56633842,201.399898861,201.233352963, | |
437 | 201.066701141,200.899943805,200.733081363,200.566114223,200.399042787, | |
438 | 200.231867455,200.064588626,199.897206695,199.729722054,199.562135094, | |
439 | 199.394446202,199.226655764,199.058764161,198.890771775,198.722678983, | |
440 | 198.554486159,198.386193678,198.217801909,198.04931122,197.880721977, | |
441 | 197.712034543,197.54324928,197.374366545,197.205386696,197.036310087, | |
442 | 196.86713707,196.697867994,196.528503206,196.359043053,196.189487877, | |
443 | 196.019838019,195.850093818,195.680255611,195.510323732,195.340298515, | |
444 | 195.170180288,194.999969382,194.829666122,194.659270832,194.488783835, | |
445 | 194.318205451,194.147535999,193.976775794,193.805925153,193.634984386, | |
446 | 193.463953805,193.292833719,193.121624434,192.950326255,192.778939486, | |
447 | 192.607464428,192.43590138,192.264250641,192.092512505,191.920687267, | |
448 | 191.74877522,191.576776653,191.404691857,191.232521118,191.060264721, | |
449 | 190.887922951,190.715496088,190.542984415,190.370388209,190.197707747, | |
450 | 190.024943305,189.852095157,189.679163575,189.50614883,189.33305119, | |
451 | 189.159870923,188.986608295,188.813263571,188.639837013,188.466328882, | |
452 | 188.292739439,188.119068941,187.945317645,187.771485807,187.597573681, | |
453 | 187.423581518,187.249509571,187.075358088,186.901127317,186.726817506, | |
454 | 186.552428899,186.377961741,186.203416274,186.028792738,185.854091375, | |
455 | 185.679312422,185.504456116,185.329522693,185.154512388,184.979425434, | |
456 | 184.804262062,184.629022504,184.453706988,184.278315742,184.102848994, | |
457 | 183.927306968,183.751689889,183.57599798,183.400231463,183.224390558, | |
458 | 183.048475484,182.872486461,182.696423704,182.520287429,182.344077852, | |
459 | 182.167795186,181.991439642,181.815011432,181.638510767,181.461937854, | |
460 | 181.285292902,181.108576118,180.931787707,180.754927872,180.577996819, | |
461 | 180.400994749,180.223921863,180.046778361,179.869564443,179.692280306, | |
462 | 179.514926148,179.337502164,179.16000855,178.982445499,178.804813204, | |
463 | 178.627111857,178.449341649,178.27150277,178.093595408,177.915619752, | |
464 | 177.737575989,177.559464305,177.381284884,177.203037911,177.024723568, | |
465 | 176.846342039,176.667893504,176.489378144,176.310796138,176.132147665, | |
466 | 175.953432902,175.774652027,175.595805214,175.416892639,175.237914476, | |
467 | 175.058870898,174.879762077,174.700588185,174.521349393,174.342045871, | |
468 | 174.162677786,173.983245308,173.803748604,173.624187839,173.444563181, | |
469 | 173.264874793,173.085122839,172.905307483,172.725428887,172.545487212, | |
470 | 172.365482621,172.185415272,172.005285324,171.825092937,171.644838268, | |
471 | 171.464521475,171.284142712,171.103702136,170.923199902,170.742636163, | |
472 | 170.562011074,170.381324785,170.20057745,170.019769219,169.838900242, | |
473 | 169.65797067,169.476980651,169.295930334,169.114819867,168.933649395, | |
474 | 168.752419065,168.571129024,168.389779415,168.208370384,168.026902072, | |
475 | 167.845374625,167.663788183,167.482142888,167.300438881,167.118676302, | |
476 | 166.936855292,166.754975989,166.573038531,166.391043057,166.208989703, | |
477 | 166.026878606,165.844709901,165.662483725,165.480200212,165.297859496, | |
478 | 165.115461711,164.933006988,164.750495462,164.567927263,164.385302523, | |
479 | 164.202621372,164.019883941,163.837090359,163.654240754,163.471335256, | |
480 | 163.288373991,163.105357088,162.922284672,162.739156871,162.555973809, | |
481 | 162.372735612,162.189442405,162.006094311,161.822691453,161.639233956, | |
482 | 161.455721941,161.27215553,161.088534844,160.904860006,160.721131134, | |
483 | 160.53734835,160.353511772,160.169621519,159.985677711,159.801680464, | |
484 | 159.617629896,159.433526125,159.249369267,159.065159438,158.880896753, | |
485 | 158.696581328,158.512213278,158.327792716,158.143319756,157.958794512, | |
486 | 157.774217097,157.589587623,157.404906201,157.220172944,157.035387963, | |
487 | 156.850551368,156.665663269,156.480723777,156.295733,156.110691048, | |
488 | 155.925598029,155.740454052,155.555259223,155.370013651,155.184717443, | |
489 | 154.999370704,154.813973541,154.62852606,154.443028365,154.257480563, | |
490 | 154.071882757,153.886235051,153.70053755,153.514790357,153.328993575, | |
491 | 153.143147306,152.957251652,152.771306717,152.5853126,152.399269404, | |
492 | 152.213177229,152.027036175,151.840846344,151.654607834,151.468320744, | |
493 | 151.281985175,151.095601225,150.909168991,150.722688573,150.536160067, | |
494 | 150.349583572,150.162959184,149.976287,149.789567117,149.60279963, | |
495 | 149.415984635,149.229122227,149.042212503,148.855255556,148.668251481, | |
496 | 148.481200372,148.294102323,148.106957428,147.919765781,147.732527473, | |
497 | 147.545242597,147.357911247,147.170533514,146.98310949,146.795639267, | |
498 | 146.608122935,146.420560586,146.232952311,146.045298199,145.857598342, | |
499 | 145.669852828,145.482061748,145.294225191,145.106343245,144.918416001, | |
500 | 144.730443545,144.542425968,144.354363356,144.166255797,143.97810338, | |
501 | 143.789906191,143.601664317,143.413377845,143.225046862,143.036671454, | |
502 | 142.848251708,142.659787708,142.471279541,142.282727292,142.094131047, | |
503 | 141.905490889,141.716806905,141.528079178,141.339307792,141.150492833, | |
504 | 140.961634383,140.772732527,140.583787347,140.394798927,140.20576735, | |
505 | 140.016692699,139.827575057,139.638414505,139.449211127,139.259965004, | |
506 | 139.070676217,138.88134485,138.691970983,138.502554697,138.313096073, | |
507 | 138.123595193,137.934052137,137.744466986,137.55483982,137.36517072, | |
508 | 137.175459765,136.985707035,136.79591261,136.60607657,136.416198993, | |
509 | 136.22627996,136.036319549,135.846317839,135.656274909,135.466190838, | |
510 | 135.276065704,135.085899585,134.895692559,134.705444705,134.5151561, | |
511 | 134.324826823,134.13445695,133.944046559,133.753595729,133.563104534, | |
512 | 133.372573054,133.182001365,132.991389543,132.800737666,132.61004581, | |
513 | 132.419314051,132.228542467,132.037731132,131.846880124,131.655989518, | |
514 | 131.46505939,131.274089817,131.083080873,130.892032635,130.700945177, | |
515 | 130.509818577,130.318652908,130.127448245,129.936204665,129.744922243, | |
516 | 129.553601052,129.362241169,129.170842668,128.979405623,128.78793011, | |
517 | 128.596416203,128.404863976,128.213273504,128.021644862,127.829978123, | |
518 | 127.638273363,127.446530654,127.254750072,127.062931691,126.871075583, | |
519 | 126.679181825,126.487250488,126.295281648,126.103275378,125.911231752, | |
520 | 125.719150844,125.527032727,125.334877475,125.142685163,124.950455862, | |
521 | 124.758189648,124.565886593,124.373546772,124.181170257,123.988757122, | |
522 | 123.796307442,123.603821288,123.411298735,123.218739857,123.026144726, | |
523 | 122.833513416,122.640846001,122.448142555,122.255403149,122.062627859, | |
524 | 121.869816757,121.676969918,121.484087414,121.291169319,121.098215706, | |
525 | 120.90522665,120.712202224,120.519142502,120.326047556,120.132917462, | |
526 | 119.939752292,119.746552121,119.553317022,119.360047069,119.166742336, | |
527 | 118.973402897,118.780028826,118.586620198,118.393177086,118.199699564, | |
528 | 118.006187707,117.81264159,117.619061286,117.42544687,117.231798417, | |
529 | 117.038116001,116.844399697,116.650649581,116.456865726,116.263048209, | |
530 | 116.069197103,115.875312486,115.68139443,115.487443014,115.293458311, | |
531 | 115.099440397,114.905389349,114.711305243,114.517188154,114.323038158, | |
532 | 114.128855333,113.934639754,113.740391499,113.546110644,113.351797266, | |
533 | 113.157451442,112.963073249,112.768662766,112.574220069,112.379745237, | |
534 | 112.185238347,111.990699479,111.796128709,111.601526117,111.406891782, | |
535 | 111.212225782,111.017528197,110.822799106,110.62803859,110.433246727, | |
536 | 110.238423599,110.043569285,109.848683866,109.653767423,109.458820038, | |
537 | 109.263841792,109.068832766,108.873793042,108.678722704,108.483621833, | |
538 | 108.288490512,108.093328825,107.898136855,107.702914687,107.507662403, | |
539 | 107.31238009,107.117067832,106.921725713,106.726353821,106.53095224, | |
540 | 106.335521058,106.14006036,105.944570235,105.749050771,105.553502054, | |
541 | 105.357924174,105.16231722,104.966681281,104.771016447,104.575322809, | |
542 | 104.379600457,104.183849483,103.98806998,103.792262038,103.596425752, | |
543 | 103.400561215,103.204668521,103.008747766,102.812799044,102.616822451, | |
544 | 102.420818085,102.224786042,102.028726421,101.832639321,101.63652484, | |
545 | 101.440383079,101.244214139,101.048018121,100.851795129,100.655545265, | |
546 | 100.459268634,100.26296534,100.06663549,99.8702791895,99.6738965474, | |
547 | 99.4774876719,99.2810526729,99.0845916608,98.8881047476,98.691592046, | |
548 | 98.4950536699,98.2984897344,98.1019003557,97.9052856512,97.7086457396, | |
549 | 97.5119807408,97.315290776,97.1185759679,96.9218364403,96.7250723187, | |
550 | 96.52828373,96.3314708025,96.1346336663,95.9377724527,95.7408872952, | |
551 | 95.5439783285,95.3470456894,95.1500895163,94.9531099497,94.7561071318, | |
552 | 94.5590812068,94.3620323212,94.1649606233,93.9678662638,93.7707493956, | |
553 | 93.5736101738,93.3764487561,93.1792653025,92.9820599756,92.7848329407, | |
554 | 92.5875843657,92.3903144214,92.1930232816,91.9957111228,91.7983781248, | |
555 | 91.6010244707,91.4036503465,91.2062559421,91.0088414506,90.8114070689, | |
556 | 90.6139529975,90.4164794409,90.2189866076,90.0214747103,89.823943966, | |
557 | 89.626394596,89.4288268263,89.2312408877,89.0336370159,88.8360154516, | |
558 | 88.6383764408,88.4407202349,88.243047091,88.045357272,87.8476510469, | |
559 | 87.6499286907,87.4521904852,87.2544367185,87.0566676858,86.8588836897, | |
560 | 86.6610850397,86.4632720534,86.2654450561,86.0676043814,85.8697503714, | |
561 | 85.6718833771,85.4740037586,85.2761118852,85.0782081364,84.8802929016, | |
562 | 84.6823665808,84.4844295847,84.2864823355,84.0885252669,83.8905588249, | |
563 | 83.6925834679,83.4945996672,83.2966079077,83.0986086881,82.9006025218, | |
564 | 82.7025899369,82.504571477,82.3065477019,82.1085191881,81.9104865291, | |
565 | 81.7124503365,81.5144112404,81.31636989,81.1183269543,80.9202831233, | |
566 | 80.7222391079,80.5241956415,80.3261534801,80.1281134038,79.9300762172, | |
567 | 79.7320427503,79.5340138598,79.3359904296,79.1379733722,78.9399636292, | |
568 | 78.7419621732,78.5439700078,78.3459881699,78.14801773,77.9500597938, | |
569 | 77.7521155034,77.5541860386,77.3562726184,77.1583765021,76.960498991, | |
570 | 76.7626414298,76.5648052081,76.3669917621,76.1692025763,75.971439185, | |
571 | 75.7737031742,75.5759961834,75.3783199075,75.1806760987,74.9830665686, | |
572 | 74.78549319,74.5879578994,74.3904626989,74.1930096588,73.9956009193, | |
573 | 73.7982386937,73.6009252702,73.4036630149,73.2064543742,73.0093018775, | |
574 | 72.8122081401,72.6151758657,72.4182078498,72.2213069825,72.0244762512, | |
575 | 71.8277187444,71.6310376545,71.4344362812,71.2379180349,71.0414864401, | |
576 | 70.8451451392,70.6488978956,70.4527485979,70.2567012634,70.0607600418, | |
577 | 69.8649292195,69.6692132231,69.4736166236,69.2781441408,69.0828006466, | |
578 | 68.8875911702,68.6925209014,68.4975951954,68.302819577,68.1081997447, | |
579 | 67.9137415753,67.7194511279,67.5253346485,67.3313985744,67.137649538, | |
580 | 66.9440943715,66.750740111,66.5575940006,66.3646634965,66.1719562709, | |
581 | 65.979480216,65.7872434478,65.5952543092,65.4035213744,65.2120534512, | |
582 | 65.0208595845,64.8299490593,64.6393314028,64.4490163873,64.2590140316, | |
583 | 64.0693346033,63.8799886194,63.6909868482,63.502340309,63.3140602728, | |
584 | 63.1261582616,62.9386460478,62.7515356528,62.5648393451,62.3785696378, | |
585 | 62.1927392856,62.0073612811,61.8224488501,61.6380154473,61.4540747498, | |
586 | 61.2706406511,61.0877272534,60.9053488602,60.7235199671,60.5422552522, | |
587 | 60.3615695659,60.1814779194,60.0019954732,59.8231375236,59.6449194893, | |
588 | 59.467356897,59.290465366,59.1142605922,58.9387583312,58.7639743808, | |
589 | 58.5899245626,58.4166247035,58.2440906157,58.0723380767,57.9013828089, | |
590 | 57.7312404584,57.5619265734,57.3934565824,57.2258457724,57.0591092663, | |
591 | 56.8932620005,56.7283187029,56.5642938699,56.4012017447,56.2390562951, | |
592 | 56.0778711918,55.9176597869,55.7584350933,55.6002097646,55.442996075, | |
593 | 55.2868059006,55.1316507015,54.9775415045,54.8244888866,54.67250296, | |
594 | 54.521593358,54.3717692215,54.2230391876,54.0754113787,53.928893393, | |
595 | 53.7834922966,53.6392146163,53.4960663344,53.3540528842,53.213179147, | |
596 | 53.0734494507,52.9348675694,52.7974367242,52.6611595853,52.5260382756, | |
597 | 52.392074375,52.2592689262,52.1276224411,51.9971349089,51.8678058046, | |
598 | 51.7396340988,51.6126182678,51.4867563052,51.3620457335,51.2384836172, | |
599 | 51.1160665754,50.9947907962,50.8746520501,50.7556457053,50.6377667424, | |
600 | 50.5210097692,50.4053690366,50.2908384541,50.177411605,50.0650817627, | |
601 | 49.953841906,49.8436847348,49.7346026858,49.626587948,49.5196324774, | |
602 | 49.4137280128,49.30886609,49.2050380567,49.1022350863,49.0004481925, | |
603 | 48.899668242,48.7998859685,48.7010919851,48.6032767968,48.5064308127, | |
604 | 48.4105443574,48.3156076826,48.2216109775,48.1285443795,48.0363979842, | |
605 | 47.9451618546,47.8548260307,47.7653805379,47.6768153954,47.5891206244, | |
606 | 47.5022862551,47.4163023342,47.3311589317,47.2468461468,47.1633541147, | |
607 | 47.0806730113,46.9987930595,46.9177045334,46.8373977633,46.7578631402, | |
608 | 46.6790911195,46.6010722248,46.5237970519,46.4472562712,46.3714406313, | |
609 | 46.2963409615,46.2219481742,46.1482532672,46.0752473257,46.0029215242, | |
610 | 45.9312671284,45.8602754958,45.789938078,45.7202464213,45.6511921675, | |
611 | 45.582767055,45.5149629195,45.4477716941,45.3811854103,45.3151961979, | |
612 | 45.249796285,45.1849779988,45.1207337645,45.0570561064,44.9939376466, | |
613 | 44.9313711053,44.8693493005,44.8078651471,44.746911657,44.686481938, | |
614 | 44.6265691936,44.567166722,44.5082679158,44.449866261,44.391955336, | |
615 | 44.3345288112,44.2775804481,44.2211040981,44.1650937017,44.1095432878, | |
616 | 44.0544469725,43.9997989584,43.9455935331,43.8918250688,43.8384880208, | |
617 | 43.7855769268,43.7330864057,43.6810111566,43.6293459579,43.5780856658, | |
618 | 43.5272252138,43.4767596114,43.426683943,43.3769933668,43.3276831139, | |
619 | 43.2787484874,43.230184861,43.181987678,43.1341524507,43.0866747587, | |
620 | 43.0395502487,42.9927746327,42.9463436875,42.9002532535,42.8544992337, | |
621 | 42.8090775929,42.7639843566,42.7192156101,42.6747674974,42.6306362206, | |
622 | 42.5868180387,42.5433092665,42.5001062744,42.4572054868,42.4146033815, | |
623 | 42.3722964889,42.3302813911,42.2885547209,42.2471131613,42.2059534443, | |
624 | 42.1650723503,42.1244667073,42.0841333903,42.0440693199,42.0042714625, | |
625 | 41.9647368285,41.9254624723,41.8864454915,41.8476830258,41.8091722568, | |
626 | 41.7709104067,41.7328947382,41.6951225536,41.6575911941,41.6202980392, | |
627 | 41.5832405061,41.5464160489,41.5098221582,41.4734563605,41.4373162174, | |
628 | 41.4013993251,41.3657033141,41.3302258481,41.294964624,41.2599173708, | |
629 | 41.2250818496,41.1904558528,41.1560372035,41.1218237553,41.0878133915, | |
630 | 41.0540040246,41.0203935961,40.9869800759,40.9537614617,40.9207357786, | |
631 | 40.8879010787,40.8552554409,40.8227969699,40.7905237962,40.7584340756, | |
632 | 40.7265259888,40.694797741,40.6632475612,40.6318737025,40.6006744409, | |
633 | 40.5696480755,40.5387929281,40.5081073423,40.477589684,40.4472383402, | |
634 | 40.4170517192,40.3870282502,40.3571663827,40.3274645866,40.2979213512, | |
635 | 40.2685351859,40.2393046187,40.210228197,40.1813044866,40.1525320716, | |
636 | 40.1239095543,40.0954355544,40.0671087095,40.0389276741,40.0108911199, | |
637 | 39.982997735,39.955246224,39.9276353079,39.9001637232,39.8728302225, | |
638 | 39.8456335736,39.8185725594,39.7916459781,39.7648526423,39.7381913793, | |
639 | 39.7116610306,39.6852604519,39.6589885127,39.6328440961,39.6068260988, | |
640 | 39.5809334306,39.5551650145,39.5295197862,39.5039966942,39.4785946995, | |
641 | 39.4533127753,39.4281499069,39.4031050918,39.3781773388,39.3533656688, | |
642 | 39.3286691137,39.304086717,39.2796175331,39.2552606273,39.2310150758, | |
643 | 39.2068799653,39.1828543931,39.1589374668,39.1351283041,39.1114260327, | |
644 | 39.0878297902,39.064338724,39.0409519911,39.0176687579,38.9944882003, | |
645 | 38.9714095031,38.9484318604,38.9255544753,38.9027765596,38.8800973337, | |
646 | 38.8575160268,38.8350318765,38.8126441286,38.7903520373,38.7681548648, | |
647 | 38.7460518814,38.7240423652,38.7021256022,38.6803008859,38.6585675176, | |
648 | 38.636924806,38.6153720669,38.5939086239,38.5725338073,38.5512469547, | |
649 | 38.5300474107,38.5089345267,38.4879076609,38.4669661783,38.4461094505, | |
650 | 38.4253368556,38.4046477781,38.384041609,38.3635177454,38.3430755908, | |
651 | 38.3227145546,38.3024340525,38.2822335058,38.2621123421,38.2420699944, | |
652 | 38.2221059018,38.2022195088,38.1824102656,38.1626776278,38.1430210566, | |
653 | 38.1234400185,38.1039339853,38.0845024341,38.065144847,38.0458607114, | |
654 | 38.0266495197,38.0075107692,37.9884439622,37.9694486057,37.9505242119, | |
655 | 37.9316702972,37.912886383,37.8941719953,37.8755266647,37.8569499261, | |
656 | 37.838441319,37.8200003873,37.8016266793,37.7833197474,37.7650791485, | |
657 | 37.7469044434,37.7287951972,37.7107509792,37.6927713625,37.6748559244, | |
658 | 37.6570042459,37.6392159121,37.621490512,37.6038276382,37.5862268871, | |
659 | 37.568687859,37.5512101577,37.5337933905,37.5164371687,37.4991411068, | |
660 | 37.4819048228,37.4647279384,37.4476100786,37.4305508715,37.4135499491, | |
661 | 37.3966069463,37.3797215014,37.3628932558,37.3461218542,37.3294069446, | |
662 | 37.3127481779,37.296145208,37.2795976922,37.2631052905,37.2466676661, | |
663 | 37.2302844849,37.2139554159,37.197680131,37.1814583048,37.1652896148, | |
664 | 37.1491737414,37.1331103675,37.1170991789,37.1011398641,37.0852321142, | |
665 | 37.069375623,37.0535700867,37.0378152045,37.0221106777,37.0064562103, | |
666 | 36.990851509,36.9752962825,36.9597902425,36.9443331026,36.9289245791, | |
667 | 36.9135643906,36.8982522581,36.8829879046,36.8677710558,36.8526014395, | |
668 | 36.8374787856,36.8224028263,36.8073732962,36.7923899319,36.7774524719, | |
669 | 36.7625606573,36.747714231,36.7329129381,36.7181565255,36.7034447426, | |
670 | 36.6887773404,36.6741540721,36.6595746928,36.6450389596,36.6305466316, | |
671 | 36.6160974695,36.6016912363,36.5873276967,36.5730066171,36.5587277661, | |
672 | 36.5444909137,36.530295832,36.5161422947,36.5020300775,36.4879589576, | |
673 | 36.473928714,36.4599391274,36.4459899804,36.4320810569,36.4182121427, | |
674 | 36.4043830253,36.3905934937,36.3768433384,36.3631323519,36.3494603278, | |
675 | 36.3358270615,36.32223235,36.3086759918,36.2951577868,36.2816775364, | |
676 | 36.2682350438,36.2548301133,36.2414625508,36.2281321637,36.2148387608, | |
677 | 36.2015821522,36.1883621497,36.1751785661,36.1620312159,36.1489199148, | |
678 | 36.1358444799,36.1228047297,36.1098004839,36.0968315636,36.0838977911, | |
679 | 36.0709989901,36.0581349856,36.0453056038,36.0325106721,36.0197500193, | |
680 | 36.0070234752,35.9943308711,35.9816720393,35.9690468132,35.9564550278, | |
681 | 35.9438965189,35.9313711235,35.9188786799,35.9064190275,35.8939920068, | |
682 | 35.8815974594,35.869235228,35.8569051565,35.8446070897,35.8323408738, | |
683 | 35.8201063558,35.8079033838,35.7957318069,35.7835914756,35.771482241, | |
684 | 35.7594039553,35.747356472,35.7353396454,35.7233533306,35.7113973841, | |
685 | 35.6994716631,35.6875760259,35.6757103316,35.6638744405,35.6520682136, | |
686 | 35.640291513,35.6285442016,35.6168261434,35.6051372032,35.5934772466, | |
687 | 35.5818461403,35.5702437517,35.5586699493,35.5471246023,35.5356075808, | |
688 | 35.5241187557,35.512657999,35.5012251833,35.489820182,35.4784428696, | |
689 | 35.4670931211,35.4557708126,35.4444758209,35.4332080234,35.4219672987, | |
690 | 35.4107535258,35.3995665848,35.3884063562,35.3772727218,35.3661655635, | |
691 | 35.3550847646,35.3440302088,35.3330017805,35.321999365,35.3110228483, | |
692 | 35.300072117,35.2891470586,35.2782475612,35.2673735136,35.2565248054, | |
693 | 35.2457013268,35.2349029688,35.2241296228,35.2133811812,35.2026575371, | |
694 | 35.1919585838,35.1812842159,35.1706343282,35.1600088162,35.1494075763, | |
695 | 35.1388305053,35.1282775008,35.1177484608,35.1072432842,35.0967618704, | |
696 | 35.0863041192,35.0758699315,35.0654592084,35.0550718516,35.0447077637, | |
697 | 35.0343668477,35.0240490072,35.0137541462,35.0034821697,34.9932329829, | |
698 | 34.9830064918,34.9728026027,34.9626212228,34.9524622596,34.9423256212, | |
699 | 34.9322112164,34.9221189543,34.9120487447,34.9020004979,34.8919741248, | |
700 | 34.8819695366,34.8719866453,34.8620253633,34.8520856033,34.842167279, | |
701 | 34.8322703041,34.8223945932,34.8125400611,34.8027066232,34.7928941955, | |
702 | 34.7831026943,34.7733320366,34.7635821397,34.7538529214,34.7441443, | |
703 | 34.7344561944,34.7247885237,34.7151412076,34.7055141664,34.6959073207, | |
704 | 34.6863205914,34.6767539002,34.6672071689,34.6576803201,34.6481732765, | |
705 | 34.6386859615,34.6292182987,34.6197702123,34.6103416268,34.6009324673, | |
706 | 34.5915426592,34.5821721282,34.5728208006,34.5634886031,34.5541754628, | |
707 | 34.544881307,34.5356060638,34.5263496612,34.517112028,34.5078930933, | |
708 | 34.4986927864,34.4895110373,34.4803477761,34.4712029334,34.4620764403, | |
709 | 34.4529682279,34.4438782282,34.4348063732,34.4257525953,34.4167168273, | |
710 | 34.4076990026,34.3986990546,34.3897169172,34.3807525248,34.3718058119, | |
711 | 34.3628767135,34.353965165,34.3450711019,34.3361944604,34.3273351768, | |
712 | 34.3184931877,34.3096684302,34.3008608417,34.2920703598,34.2832969226, | |
713 | 34.2745404684,34.2658009359,34.2570782641,34.2483723923,34.2396832601, | |
714 | 34.2310108075,34.2223549748,34.2137157025,34.2050929316,34.1964866032, | |
715 | 34.1878966587,34.1793230401,34.1707656894,34.1622245491,34.1536995617, | |
716 | 34.1451906704,34.1366978184,34.1282209493,34.1197600069,34.1113149355, | |
717 | 34.1028856794,34.0944721833,34.0860743924,34.0776922518,34.0693257072, | |
718 | 34.0609747043,34.0526391894,34.0443191087,34.0360144089,34.027725037, | |
719 | 34.0194509401,34.0111920657,34.0029483616,33.9947197757,33.9865062562, | |
720 | 33.9783077517,33.970124211,33.9619555829,33.9538018168,33.9456628623, | |
721 | 33.937538669,33.929429187,33.9213343666,33.9132541583,33.9051885128, | |
722 | 33.8971373811,33.8891007144,33.8810784643,33.8730705825,33.8650770208, | |
723 | 33.8570977314,33.8491326669,33.8411817798,33.833245023,33.8253223496, | |
724 | 33.8174137129,33.8095190666,33.8016383643,33.7937715601,33.7859186082, | |
725 | 33.7780794631,33.7702540793,33.7624424119,33.7546444159,33.7468600466, | |
726 | 33.7390892595,33.7313320104,33.7235882552,33.7158579501,33.7081410514, | |
727 | 33.7004375158,33.6927472999,33.6850703608,33.6774066556,33.6697561417, | |
728 | 33.6621187768,33.6544945186,33.646883325,33.6392851544,33.6316999649, | |
729 | 33.6241277153,33.6165683642,33.6090218706,33.6014881937,33.5939672928, | |
730 | 33.5864591274,33.5789636572,33.5714808422,33.5640106423,33.5565530179, | |
731 | 33.5491079294,33.5416753374,33.5342552028,33.5268474865,33.5194521497, | |
732 | 33.5120691538,33.5046984602,33.4973400307,33.489993827,33.4826598114, | |
733 | 33.475337946,33.4680281931,33.4607305153,33.4534448754,33.4461712362, | |
734 | 33.4389095608,33.4316598125,33.4244219546,33.4171959506,33.4099817644, | |
735 | 33.4027793597,33.3955887006,33.3884097513,33.3812424763,33.3740868399, | |
736 | 33.3669428069,33.3598103421,33.3526894105,33.3455799772,33.3384820076, | |
737 | 33.3313954671,33.3243203212,33.3172565359,33.3102040768,33.3031629102, | |
738 | 33.2961330022,33.2891143192,33.2821068276,33.2751104942,33.2681252856, | |
739 | 33.2611511689,33.254188111,33.2472360793,33.2402950411,33.2333649639, | |
740 | 33.2264458153,33.2195375632,33.2126401754,33.20575362,33.1988778652, | |
741 | 33.1920128793,33.1851586308,33.1783150883,33.1714822206,33.1646599965, | |
742 | 33.157848385,33.1510473553,33.1442568766,33.1374769184,33.1307074501, | |
743 | 33.1239484414,33.1171998621,33.1104616821,33.1037338714,33.0970164003, | |
744 | 33.090309239,33.0836123579,33.0769257276,33.0702493187,33.063583102, | |
745 | 33.0569270484,33.050281129,33.0436453148,33.0370195773,33.0304038877, | |
746 | 33.0237982176,33.0172025386,33.0106168224,33.004041041,32.9974751662, | |
747 | 32.9909191702,32.9843730252,32.9778367035,32.9713101775,32.9647934199, | |
748 | 32.9582864031,32.9517891002,32.9453014838,32.938823527,32.932355203, | |
749 | 32.9258964848,32.919447346,32.9130077598,32.9065776998,32.9001571398, | |
750 | 32.8937460533,32.8873444143,32.8809521968,32.8745693748,32.8681959225, | |
751 | 32.8618318142,32.8554770243,32.8491315272,32.8427952975,32.8364683099, | |
752 | 32.8301505393,32.8238419604,32.8175425484,32.8112522782,32.8049711251, | |
753 | 32.7986990644,32.7924360713,32.7861821216,32.7799371906,32.7737012541, | |
754 | 32.7674742879,32.7612562677,32.7550471697,32.7488469698,32.7426556442, | |
755 | 32.7364731692,32.730299521,32.7241346761,32.717978611,32.7118313024, | |
756 | 32.705692727,32.6995628615,32.6934416828,32.6873291679,32.6812252939, | |
757 | 32.6751300379,32.6690433772,32.6629652891,32.656895751,32.6508347404, | |
758 | 32.6447822349,32.6387382122,32.6327026501,32.6266755264,32.620656819, | |
759 | 32.614646506,32.6086445654,32.6026509754,32.5966657144,32.5906887606, | |
760 | 32.5847200926,32.5787596887,32.5728075277,32.5668635881,32.5609278488, | |
761 | 32.5550002886,32.5490808863,32.5431696211,32.537266472,32.5313714181, | |
762 | 32.5254844387,32.519605513,32.5137346206,32.5078717408,32.5020168532, | |
763 | 32.4961699374,32.4903309731,32.4844999401,32.4786768182,32.4728615874, | |
764 | 32.4670542276,32.4612547189,32.4554630416,32.4496791757,32.4439031016, | |
765 | 32.4381347996,32.4323742503,32.426621434,32.4208763314,32.4151389231, | |
766 | 32.4094091899,32.4036871126,32.3979726719,32.3922658489,32.3865666246, | |
767 | 32.38087498,32.3751908962,32.3695143546,32.3638453363,32.3581838227, | |
768 | 32.3525297952,32.3468832354,32.3412441247,32.3356124448,32.3299881773, | |
769 | 32.3243713041,32.3187618069,32.3131596676,32.3075648682,32.3019773906, | |
770 | 32.296397217,32.2908243294,32.2852587101,32.2797003414,32.2741492056, | |
771 | 32.268605285,32.2630685622,32.2575390196,32.2520166399,32.2465014056, | |
772 | 32.2409932995,32.2354923044,32.229998403,32.2245115783,32.2190318133, | |
773 | 32.2135590908,32.208093394,32.202634706,32.1971830101,32.1917382894, | |
774 | 32.1863005272,32.1808697069,32.175445812,32.170028826,32.1646187322, | |
775 | 32.1592155144,32.1538191563,32.1484296414,32.1430469536,32.1376710768, | |
776 | 32.1323019947,32.1269396913,32.1215841506,32.1162353567,32.1108932936, | |
777 | 32.1055579455,32.1002292966,32.0949073313,32.0895920337,32.0842833883, | |
778 | 32.0789813795,32.0736859917,32.0683972096,32.0631150177,32.0578394006, | |
779 | 32.052570343,32.0473078297,32.0420518455,32.0368023751,32.0315594036, | |
780 | 32.0263229158,32.0210928968,32.0158693316,32.0106522053,32.0054415031, | |
781 | 32.0002372101,31.9950393117,31.989847793,31.9846626396,31.9794838367, | |
782 | 31.9743113698,31.9691452245,31.9639853862,31.9588318406,31.9536845733, | |
783 | 31.9485435701,31.9434088165,31.9382802985,31.9331580018,31.9280419124, | |
784 | 31.9229320162,31.9178282991,31.9127307472,31.9076393466,31.9025540833, | |
785 | 31.8974749435,31.8924019134,31.8873349793,31.8822741275,31.8772193443, | |
786 | 31.8721706161,31.8671279293,31.8620912705,31.857060626,31.8520359826, | |
787 | 31.8470173268,31.8420046452,31.8369979246,31.8319971517,31.8270023133, | |
788 | 31.8220133962,31.8170303872,31.8120532733,31.8070820415,31.8021166787, | |
789 | 31.797157172,31.7922035084,31.7872556751,31.7823136593,31.7773774481, | |
790 | 31.7724470288,31.7675223886,31.762603515,31.7576903953,31.7527830168, | |
791 | 31.7478813671,31.7429854336,31.7380952039,31.7332106655,31.728331806, | |
792 | 31.7234586132,31.7185910746,31.713729178,31.7088729112,31.7040222619, | |
793 | 31.6991772181,31.6943377676,31.6895038984,31.6846755983,31.6798528554, | |
794 | 31.6750356577,31.6702239933,31.6654178504,31.660617217,31.6558220813, | |
795 | 31.6510324316,31.6462482561,31.6414695432,31.636696281,31.6319284582, | |
796 | 31.6271660629,31.6224090837,31.6176575091,31.6129113276,31.6081705277, | |
797 | 31.6034350979,31.5987050271,31.5939803036,31.5892609164,31.5845468541, | |
798 | 31.5798381054,31.5751346592,31.5704365043,31.5657436296,31.5610560239, | |
799 | 31.5563736762,31.5516965754,31.5470247107,31.5423580709,31.5376966452, | |
800 | 31.5330404227,31.5283893925,31.5237435438,31.5191028657,31.5144673476, | |
801 | 31.5098369787,31.5052117483,31.5005916457,31.4959766602,31.4913667814, | |
802 | 31.4867619986,31.4821623013,31.477567679,31.4729781212,31.4683936175, | |
803 | 31.4638141574,31.4592397306,31.4546703267,31.4501059355,31.4455465465, | |
804 | 31.4409921497,31.4364427347,31.4318982914,31.4273588096,31.4228242792, | |
805 | 31.4182946901,31.4137700321,31.4092502953,31.4047354697,31.4002255452, | |
806 | 31.395720512,31.39122036,31.3867250795,31.3822346605,31.3777490932, | |
807 | 31.3732683678,31.3687924745,31.3643214037,31.3598551455,31.3553936903, | |
808 | 31.3509370284,31.3464851502,31.3420380461,31.3375957065,31.3331581218, | |
809 | 31.3287252826,31.3242971794,31.3198738027,31.315455143,31.311041191, | |
810 | 31.3066319372,31.3022273724,31.2978274871,31.2934322722,31.2890417183, | |
811 | 31.2846558161,31.2802745565,31.2758979303,31.2715259284,31.2671585414, | |
812 | 31.2627957605,31.2584375764,31.2540839802,31.2497349627,31.245390515, | |
813 | 31.2410506282,31.2367152932,31.2323845011,31.228058243,31.2237365101, | |
814 | 31.2194192934,31.2151065843,31.2107983738,31.2064946532,31.2021954137, | |
815 | 31.1979006466,31.1936103433,31.189324495,31.1850430931,31.180766129, | |
816 | 31.176493594,31.1722254796,31.1679617772,31.1637024784,31.1594475745, | |
817 | 31.1551970572,31.1509509179,31.1467091483,31.1424717399,31.1382386843, | |
818 | 31.1340099732,31.1297855982,31.1255655511,31.1213498235,31.1171384071, | |
819 | 31.1129312938,31.1087284753,31.1045299434,31.1003356899,31.0961457067, | |
820 | 31.0919599856 | |
821 | } | |
822 | } | |
823 | }; |
0 | // generated by ../../tools/tube_transfer.py | |
1 | // tube: 6DJ8 | |
2 | // plate current function: triode | |
3 | // mu: 28 | |
4 | // kx: 1.3 | |
5 | // kg1: 330 | |
6 | // kp: 320 | |
7 | // kvb: 300 | |
8 | ||
9 | table1d_imp<2001> tubetable_6DJ8[2] = | |
10 | { | |
11 | { | |
12 | // Ri = 68k | |
13 | -5,5,200,2001, { | |
14 | 137.512728867,137.399223264,137.285690251,137.17212984,137.058542039, | |
15 | 136.944926859,136.831284308,136.717614396,136.603917133,136.490192528, | |
16 | 136.37644059,136.262661328,136.148854752,136.035020871,135.921159694, | |
17 | 135.80727123,135.693355487,135.579412475,135.465442203,135.351444679, | |
18 | 135.237419911,135.12336791,135.009288682,134.895182238,134.781048584, | |
19 | 134.66688773,134.552699684,134.438484454,134.324242049,134.209972477, | |
20 | 134.095675745,133.981351862,133.867000836,133.752622675,133.638217387, | |
21 | 133.523784979,133.40932546,133.294838836,133.180325116,133.065784308, | |
22 | 132.951216418,132.836621455,132.721999425,132.607350337,132.492674197, | |
23 | 132.377971012,132.263240791,132.148483539,132.033699265,131.918887974, | |
24 | 131.804049675,131.689184374,131.574292077,131.459372792,131.344426526, | |
25 | 131.229453284,131.114453074,130.999425902,130.884371775,130.769290699, | |
26 | 130.654182681,130.539047726,130.423885842,130.308697033,130.193481308, | |
27 | 130.078238671,129.962969128,129.847672686,129.732349351,129.616999128, | |
28 | 129.501622024,129.386218043,129.270787192,129.155329476,129.039844901, | |
29 | 128.924333473,128.808795197,128.693230078,128.577638121,128.462019333, | |
30 | 128.346373717,128.230701281,128.115002027,127.999275963,127.883523091, | |
31 | 127.767743419,127.65193695,127.536103689,127.420243641,127.304356811, | |
32 | 127.188443204,127.072502824,126.956535675,126.840541763,126.724521091, | |
33 | 126.608473664,126.492399486,126.376298562,126.260170896,126.144016492, | |
34 | 126.027835354,125.911627486,125.795392892,125.679131576,125.562843542, | |
35 | 125.446528794,125.330187335,125.213819169,125.0974243,124.981002732, | |
36 | 124.864554467,124.74807951,124.631577864,124.515049532,124.398494517, | |
37 | 124.281912824,124.165304454,124.048669411,123.932007699,123.815319319, | |
38 | 123.698604276,123.581862572,123.465094209,123.348299192,123.231477521, | |
39 | 123.114629201,122.997754234,122.880852622,122.763924367,122.646969473, | |
40 | 122.529987942,122.412979775,122.295944976,122.178883547,122.061795488, | |
41 | 121.944680804,121.827539496,121.710371565,121.593177014,121.475955845, | |
42 | 121.358708059,121.241433658,121.124132644,121.006805019,120.889450784, | |
43 | 120.772069941,120.654662491,120.537228435,120.419767776,120.302280513, | |
44 | 120.18476665,120.067226186,119.949659123,119.832065462,119.714445204, | |
45 | 119.596798349,119.4791249,119.361424857,119.24369822,119.12594499, | |
46 | 119.008165168,118.890358755,118.772525751,118.654666156,118.536779972, | |
47 | 118.418867198,118.300927835,118.182961883,118.064969342,117.946950213, | |
48 | 117.828904495,117.710832189,117.592733295,117.474607812,117.356455741, | |
49 | 117.238277081,117.120071832,117.001839993,116.883581565,116.765296547, | |
50 | 116.646984939,116.52864674,116.410281948,116.291890565,116.173472589, | |
51 | 116.055028019,115.936556854,115.818059094,115.699534738,115.580983784, | |
52 | 115.462406232,115.343802081,115.225171329,115.106513975,114.987830018, | |
53 | 114.869119456,114.750382289,114.631618514,114.51282813,114.394011136, | |
54 | 114.27516753,114.15629731,114.037400475,113.918477022,113.799526951, | |
55 | 113.680550258,113.561546942,113.442517002,113.323460434,113.204377236, | |
56 | 113.085267407,112.966130945,112.846967846,112.727778109,112.608561731, | |
57 | 112.489318709,112.370049041,112.250752725,112.131429757,112.012080135, | |
58 | 111.892703857,111.773300918,111.653871317,111.53441505,111.414932115, | |
59 | 111.295422508,111.175886226,111.056323266,110.936733624,110.817117298, | |
60 | 110.697474283,110.577804577,110.458108176,110.338385076,110.218635274, | |
61 | 110.098858766,109.979055549,109.859225617,109.739368969,109.619485599, | |
62 | 109.499575504,109.379638679,109.259675121,109.139684826,109.019667789, | |
63 | 108.899624005,108.779553471,108.659456182,108.539332134,108.419181322, | |
64 | 108.299003742,108.178799389,108.058568258,107.938310344,107.818025643, | |
65 | 107.697714149,107.577375859,107.457010766,107.336618867,107.216200154, | |
66 | 107.095754624,106.975282272,106.854783091,106.734257077,106.613704224, | |
67 | 106.493124526,106.372517979,106.251884576,106.131224312,106.010537181, | |
68 | 105.889823177,105.769082295,105.648314528,105.52751987,105.406698316, | |
69 | 105.28584986,105.164974495,105.044072215,104.923143013,104.802186884, | |
70 | 104.681203821,104.560193818,104.439156867,104.318092963,104.197002099, | |
71 | 104.075884268,103.954739463,103.833567678,103.712368905,103.591143138, | |
72 | 103.46989037,103.348610593,103.2273038,103.105969985,102.98460914, | |
73 | 102.863221257,102.74180633,102.62036435,102.498895311,102.377399205, | |
74 | 102.255876023,102.134325759,102.012748405,101.891143952,101.769512394, | |
75 | 101.647853721,101.526167926,101.404455002,101.282714939,101.16094773, | |
76 | 101.039153366,100.917331839,100.795483141,100.673607263,100.551704197, | |
77 | 100.429773934,100.307816465,100.185831783,100.063819877,99.9417807401, | |
78 | 99.8197143622,99.6976207349,99.575499849,99.4533516955,99.3311762653, | |
79 | 99.2089735491,99.0867435378,98.964486222,98.8422015924,98.7198896394, | |
80 | 98.5975503536,98.4751837255,98.3527897454,98.2303684035,98.1079196902, | |
81 | 97.9854435957,97.86294011,97.7404092232,97.6178509253,97.4952652063, | |
82 | 97.3726520559,97.250011464,97.1273434204,97.0046479148,96.8819249367, | |
83 | 96.7591744756,96.6363965212,96.5135910627,96.3907580897,96.2678975913, | |
84 | 96.1450095569,96.0220939755,95.8991508364,95.7761801285,95.6531818408, | |
85 | 95.5301559623,95.4071024818,95.2840213882,95.1609126701,95.0377763163, | |
86 | 94.9146123152,94.7914206556,94.6682013258,94.5449543144,94.4216796095, | |
87 | 94.2983771996,94.1750470729,94.0516892175,93.9283036216,93.8048902731, | |
88 | 93.6814491601,93.5579802705,93.4344835922,93.3109591128,93.1874068203, | |
89 | 93.0638267021,92.940218746,92.8165829395,92.6929192701,92.5692277251, | |
90 | 92.4455082919,92.3217609579,92.1979857102,92.0741825361,91.9503514226, | |
91 | 91.8264923567,91.7026053255,91.5786903159,91.4547473147,91.3307763088, | |
92 | 91.2067772848,91.0827502295,90.9586951294,90.8346119711,90.7105007411, | |
93 | 90.5863614258,90.4621940116,90.3379984848,90.2137748316,90.0895230382, | |
94 | 89.9652430908,89.8409349754,89.7165986779,89.5922341844,89.4678414807, | |
95 | 89.3434205527,89.218971386,89.0944939665,88.9699882796,88.8454543111, | |
96 | 88.7208920464,88.596301471,88.4716825703,88.3470353296,88.2223597342, | |
97 | 88.0976557693,87.9729234202,87.8481626718,87.7233735093,87.5985559176, | |
98 | 87.4737098817,87.3488353864,87.2239324165,87.0990009569,86.9740409921, | |
99 | 86.8490525069,86.7240354858,86.5989899134,86.4739157741,86.3488130523, | |
100 | 86.2236817325,86.0985217988,85.9733332355,85.8481160269,85.7228701571, | |
101 | 85.5975956101,85.47229237,85.3469604207,85.2215997461,85.0962103302, | |
102 | 84.9707921567,84.8453452094,84.719869472,84.5943649281,84.4688315614, | |
103 | 84.3432693553,84.2176782934,84.092058359,83.9664095357,83.8407318067, | |
104 | 83.7150251553,83.5892895648,83.4635250183,83.337731499,83.2119089899, | |
105 | 83.0860574742,82.9601769347,82.8342673545,82.7083287164,82.5823610033, | |
106 | 82.456364198,82.3303382832,82.2042832416,82.078199056,81.9520857088, | |
107 | 81.8259431828,81.6997714604,81.5735705241,81.4473403564,81.3210809396, | |
108 | 81.1947922561,81.0684742883,80.9421270183,80.8157504285,80.6893445011, | |
109 | 80.5629092181,80.4364445617,80.309950514,80.1834270571,80.0568741728, | |
110 | 79.9302918433,79.8036800504,79.677038776,79.550368002,79.4236677102, | |
111 | 79.2969378824,79.1701785004,79.0433895459,78.9165710006,78.7897228462, | |
112 | 78.6628450643,78.5359376366,78.4090005446,78.2820337698,78.1550372939, | |
113 | 78.0280110983,77.9009551645,77.7738694739,77.6467540081,77.5196087483, | |
114 | 77.3924336761,77.2652287728,77.1379940197,77.0107293981,76.8834348895, | |
115 | 76.756110475,76.6287561361,76.5013718539,76.3739576098,76.2465133849, | |
116 | 76.1190391605,75.9915349179,75.8640006383,75.7364363029,75.6088418928, | |
117 | 75.4812173894,75.3535627738,75.2258780272,75.0981631308,74.9704180658, | |
118 | 74.8426428134,74.7148373548,74.5870016713,74.459135744,74.3312395542, | |
119 | 74.203313083,74.0753563118,73.9473692218,73.8193517943,73.6913040105, | |
120 | 73.5632258517,73.4351172993,73.3069783346,73.178808939,73.0506090938, | |
121 | 72.9223787804,72.7941179804,72.6658266751,72.537504846,72.4091524748, | |
122 | 72.2807695429,72.1523560319,72.0239119235,71.8954371994,71.7669318413, | |
123 | 71.6383958309,71.5098291501,71.3812317808,71.2526037048,71.1239449041, | |
124 | 70.9952553608,70.866535057,70.7377839747,70.6090020962,70.4801894039, | |
125 | 70.3513458799,70.2224715068,70.0935662671,69.9646301433,69.835663118, | |
126 | 69.706665174,69.5776362942,69.4485764614,69.3194856586,69.190363869, | |
127 | 69.0612110757,68.932027262,68.8028124113,68.6735665071,68.544289533, | |
128 | 68.4149814728,68.2856423104,68.1562720296,68.0268706146,67.8974380496, | |
129 | 67.767974319,67.6384794072,67.508953299,67.379395979,67.2498074323, | |
130 | 67.1201876439,66.990536599,66.8608542831,66.7311406816,66.6013957805, | |
131 | 66.4716195655,66.3418120229,66.2119731387,66.0821028996,65.9522012923, | |
132 | 65.8222683035,65.6923039203,65.5623081301,65.4322809203,65.3022222787, | |
133 | 65.1721321933,65.0420106521,64.9118576437,64.7816731566,64.65145718, | |
134 | 64.5212097028,64.3909307146,64.2606202051,64.1302781642,63.9999045824, | |
135 | 63.86949945,63.7390627581,63.6085944978,63.4780946606,63.3475632383, | |
136 | 63.2170002231,63.0864056074,62.955779384,62.8251215463,62.6944320876, | |
137 | 62.563711002,62.4329582837,62.3021739275,62.1713579283,62.0405102818, | |
138 | 61.9096309838,61.7787200307,61.6477774192,61.5168031466,61.3857972106, | |
139 | 61.2547596093,61.1236903414,60.9925894061,60.8614568029,60.7302925321, | |
140 | 60.5990965942,60.4678689907,60.3366097231,60.205318794,60.0739962062, | |
141 | 59.9426419632,59.8112560693,59.6798385291,59.5483893481,59.4169085323, | |
142 | 59.2853960884,59.1538520239,59.0222763469,58.8906690661,58.7590301912, | |
143 | 58.6273597325,58.4956577011,58.3639241087,58.2321589683,58.1003622931, | |
144 | 57.9685340977,57.8366743971,57.7047832076,57.5728605462,57.4409064308, | |
145 | 57.3089208804,57.1769039148,57.0448555549,56.9127758226,56.7806647409, | |
146 | 56.6485223339,56.5163486267,56.3841436456,56.251907418,56.1196399725, | |
147 | 55.9873413389,55.8550115484,55.7226506333,55.5902586273,55.4578355654, | |
148 | 55.3253814839,55.1928964206,55.0603804149,54.9278335073,54.7952557401, | |
149 | 54.6626471571,54.5300078037,54.3973377269,54.2646369754,54.1319055996, | |
150 | 53.9991436517,53.8663511857,53.7335282574,53.6006749245,53.4677912468, | |
151 | 53.3348772861,53.2019331059,53.0689587724,52.9359543534,52.8029199192, | |
152 | 52.6698555425,52.5367612981,52.4036372633,52.2704835179,52.1373001442, | |
153 | 52.0040872271,51.8708448542,51.7375731158,51.6042721052,51.4709419183, | |
154 | 51.3375826542,51.204194415,51.070777306,50.9373314355,50.8038569154, | |
155 | 50.6703538609,50.5368223907,50.4032626271,50.2696746961,50.1360587275, | |
156 | 50.0024148551,49.8687432167,49.7350439541,49.6013172136,49.4675631456, | |
157 | 49.3337819053,49.1999736524,49.0661385513,48.9322767715,48.7983884873, | |
158 | 48.6644738783,48.5305331297,48.3965664318,48.2625739808,48.1285559787, | |
159 | 47.9945126336,47.8604441597,47.7263507774,47.592232714,47.4580902033, | |
160 | 47.3239234861,47.1897328106,47.0555184321,46.9212806137,46.7870196261, | |
161 | 46.6527357484,46.5184292679,46.3841004803,46.2497496903,46.1153772119, | |
162 | 45.9809833681,45.846568492,45.7121329263,45.5776770243,45.4432011498, | |
163 | 45.3087056776,45.1741909936,45.0396574956,44.9051055933,44.7705357088, | |
164 | 44.635948277,44.5013437459,44.3667225771,44.2320852465,44.0974322441, | |
165 | 43.962764075,43.8280812598,43.6933843349,43.5586738531,43.4239503843, | |
166 | 43.2892145156,43.1544668524,43.0197080186,42.8849386573,42.7501594316, | |
167 | 42.6153710249,42.4805741417,42.3457695087,42.2109578746,42.0761400117, | |
168 | 41.9413167163,41.8064888093,41.6716571374,41.5368225735,41.401986018, | |
169 | 41.2671483992,41.1323106748,40.9974738322,40.8626388899,40.7278068984, | |
170 | 40.5929789412,40.4581561358,40.3233396351,40.1885306281,40.0537303414, | |
171 | 39.9189400403,39.78416103,39.6493946568,39.5146423098,39.3799054219, | |
172 | 39.2451854712,39.1104839826,38.9758025293,38.8411427342,38.7065062715, | |
173 | 38.5718948684,38.4373103067,38.3027544245,38.1682291179,38.0337363429, | |
174 | 37.8992781174,37.7648565227,37.6304737057,37.4961318809,37.3618333323, | |
175 | 37.2275804158,37.093375561,36.9592212736,36.8251201375,36.6910748171, | |
176 | 36.55708806,36.4231626987,36.2893016539,36.1555079361,36.0217846488, | |
177 | 35.8881349906,35.7545622582,35.6210698488,35.4876612628,35.3543401068, | |
178 | 35.2211100958,35.0879750567,34.9549389303,34.822005775,34.6891797689, | |
179 | 34.556465213,34.4238665343,34.2913882882,34.1590351614,34.0268119754, | |
180 | 33.8947236884,33.7627753988,33.6309723478,33.499319922,33.3678236562, | |
181 | 33.236489236,33.1053225003,32.9743294439,32.8435162196,32.7128891409, | |
182 | 32.5824546835,32.4522194881,32.3221903615,32.1923742787,32.0627783842, | |
183 | 31.9334099937,31.8042765947,31.6753858474,31.5467455858,31.4183638174, | |
184 | 31.2902487238,31.1624086599,31.0348521538,30.9075879057,30.7806247864, | |
185 | 30.6539718359,30.5276382612,30.4016334335,30.275966886,30.1506483095, | |
186 | 30.0256875494,29.9010946007,29.7768796032,29.6530528365,29.5296247133, | |
187 | 29.4066057737,29.2840066773,29.1618381963,29.0401112068,28.9188366802, | |
188 | 28.7980256739,28.6776893212,28.557838821,28.4384854266,28.3196404341, | |
189 | 28.2013151706,28.083520981,27.9662692154,27.8495712153,27.7334382994, | |
190 | 27.6178817497,27.502912796,27.3885426015,27.274782247,27.1616427153, | |
191 | 27.0491348756,26.9372694673,26.8260570842,26.7155081583,26.605632944, | |
192 | 26.4964415017,26.3879436828,26.2801491135,26.1730671799,26.066707013, | |
193 | 25.9610774742,25.8561871411,25.7520442943,25.6486569043,25.5460326191, | |
194 | 25.4441787527,25.343102274,25.2428097972,25.1433075719,25.0446014749, | |
195 | 24.9466970027,24.8495992647,24.7533129776,24.6578424604,24.5631916308, | |
196 | 24.4693640021,24.3763626815,24.284190369,24.1928493573,24.102341533, | |
197 | 24.0126683781,23.9238309727,23.8358299992,23.7486657456,23.6623381119, | |
198 | 23.576846615,23.492190396,23.4083682275,23.3253785212,23.2432193369, | |
199 | 23.1618883911,23.0813830671,23.0017004246,22.9228372103,22.8447898684, | |
200 | 22.7675545521,22.6911271343,22.6155032194,22.5406781549,22.4666470431, | |
201 | 22.3934047528,22.3209459315,22.2492650165,22.1783562475,22.1082136777, | |
202 | 22.0388311858,21.9702024871,21.9023211449,21.8351805819,21.7687740907, | |
203 | 21.7030948443,21.6381359073,21.573890245,21.5103507342,21.4475101722, | |
204 | 21.3853612859,21.3238967417,21.2631091529,21.2029910891,21.1435350836, | |
205 | 21.0847336411,21.0265792455,20.9690643664,20.9121814661,20.8559230061, | |
206 | 20.800281453,20.7452492842,20.6908189936,20.6369830967,20.5837341354, | |
207 | 20.5310646827,20.4789673469,20.4274347758,20.3764596604,20.3260347384, | |
208 | 20.2761527978,20.2268066794,20.1779892802,20.1296935556,20.081912522, | |
209 | 20.034639259,19.9878669114,19.941588691,19.8957978783,19.8504878237, | |
210 | 19.8056519493,19.7612837498,19.7173767936,19.6739247233,19.6309212573, | |
211 | 19.5883601896,19.5462353909,19.5045408084,19.4632704669,19.4224184683, | |
212 | 19.3819789922,19.3419462957,19.3023147134,19.2630786571,19.2242326162, | |
213 | 19.1857711566,19.1476889213,19.109980629,19.0726410748,19.0356651289, | |
214 | 18.9990477362,18.9627839162,18.9268687619,18.8912974396,18.8560651877, | |
215 | 18.8211673166,18.7865992077,18.7523563125,18.7184341523,18.6848283169, | |
216 | 18.6515344643,18.6185483195,18.5858656739,18.5534823845,18.5213943728, | |
217 | 18.4895976244,18.4580881876,18.4268621732,18.3959157529,18.3652451591, | |
218 | 18.3348466836,18.3047166771,18.2748515479,18.2452477615,18.2159018395, | |
219 | 18.1868103586,18.1579699502,18.1293772992,18.1010291432,18.0729222719, | |
220 | 18.0450535259,18.0174197962,17.9900180234,17.9628451967,17.9358983531, | |
221 | 17.9091745768,17.8826709984,17.856384794,17.8303131846,17.804453435, | |
222 | 17.7788028537,17.7533587915,17.7281186413,17.7030798369,17.6782398529, | |
223 | 17.6535962035,17.629146442,17.60488816,17.5808189872,17.5569365901, | |
224 | 17.5332386719,17.5097229715,17.4863872631,17.4632293556,17.4402470917, | |
225 | 17.4174383478,17.3948010329,17.3723330884,17.3500324875,17.3278972343, | |
226 | 17.3059253639,17.2841149411,17.2624640605,17.2409708457,17.2196334488, | |
227 | 17.19845005,17.177418857,17.1565381047,17.1358060544,17.1152209936, | |
228 | 17.0947812357,17.0744851191,17.0543310071,17.0343172874,17.0144423714, | |
229 | 16.9947046944,16.9751027147,16.9556349131,16.9362997931,16.9170958798, | |
230 | 16.8980217202,16.8790758822,16.8602569547,16.8415635471,16.8229942888, | |
231 | 16.804547829,16.7862228364,16.7680179988,16.7499320229,16.7319636336, | |
232 | 16.714111574,16.6963746054,16.6787515061,16.661241072,16.6438421159, | |
233 | 16.6265534672,16.6093739717,16.5923024914,16.5753379039,16.5584791027, | |
234 | 16.5417249963,16.5250745085,16.5085265778,16.4920801573,16.4757342144, | |
235 | 16.4594877306,16.4433397013,16.4272891353,16.4113350551,16.3954764962, | |
236 | 16.3797125071,16.3640421492,16.3484644962,16.3329786343,16.3175836618, | |
237 | 16.3022786889,16.2870628377,16.2719352417,16.2568950459,16.2419414064, | |
238 | 16.2270734904,16.2122904759,16.1975915515,16.1829759164,16.1684427801, | |
239 | 16.1539913623,16.1396208926,16.1253306106,16.1111197655,16.0969876161, | |
240 | 16.0829334306,16.0689564863,16.0550560698,16.0412314765,16.0274820108, | |
241 | 16.0138069857,16.0002057227,15.9866775518,15.9732218113,15.9598378476, | |
242 | 15.9465250152,15.9332826765,15.9201102017,15.9070069688,15.8939723631, | |
243 | 15.8810057776,15.8681066125,15.8552742754,15.8425081808,15.8298077503, | |
244 | 15.8171724125,15.8046016028,15.7920947632,15.7796513423,15.7672707954, | |
245 | 15.754952584,15.7426961761,15.7305010459,15.7183666735,15.7062925455, | |
246 | 15.694278154,15.6823229973,15.6704265793,15.6585884097,15.6468080039, | |
247 | 15.6350848828,15.6234185725,15.611808605,15.6002545171,15.5887558512, | |
248 | 15.5773121548,15.5659229802,15.5545878851,15.543306432,15.5320781883, | |
249 | 15.5209027261,15.5097796223,15.4987084586,15.4876888213,15.476720301, | |
250 | 15.465802493,15.454934997,15.4441174172,15.4333493618,15.4226304434, | |
251 | 15.4119602788,15.4013384891,15.3907646991,15.3802385379,15.3697596385, | |
252 | 15.3593276378,15.3489421765,15.3386028993,15.3283094545,15.3180614942, | |
253 | 15.3078586739,15.2977006532,15.2875870947,15.277517665,15.267492034, | |
254 | 15.2575098748,15.2475708642,15.2376746822,15.2278210121,15.2180095404, | |
255 | 15.208239957,15.1985119547,15.1888252296,15.1791794809,15.1695744108, | |
256 | 15.1600097243,15.1504851298,15.1410003383,15.1315550638,15.1221490232, | |
257 | 15.1127819361,15.1034535249,15.094163515,15.0849116342,15.0756976132, | |
258 | 15.0665211851,15.057382086,15.0482800541,15.0392148306,15.030186159, | |
259 | 15.0211937853,15.012237458,15.003316928,14.9944319486,14.9855822755, | |
260 | 14.9767676668,14.9679878826,14.9592426857,14.950531841,14.9418551155, | |
261 | 14.9332122786,14.9246031017,14.9160273584,14.9074848247,14.8989752782, | |
262 | 14.8904984989,14.8820542689,14.8736423721,14.8652625946,14.8569147243, | |
263 | 14.8485985512,14.8403138672,14.832060466,14.8238381434,14.8156466968, | |
264 | 14.8074859258,14.7993556314,14.7912556167,14.7831856865,14.7751456474, | |
265 | 14.7671353076,14.7591544771,14.7512029678,14.7432805929,14.7353871675, | |
266 | 14.7275225084,14.7196864338,14.7118787638,14.7040993197,14.6963479248, | |
267 | 14.6886244037,14.6809285825,14.6732602889,14.6656193522,14.6580056031, | |
268 | 14.6504188737,14.6428589975,14.6353258098,14.6278191469,14.6203388467, | |
269 | 14.6128847485,14.6054566928,14.5980545218,14.5906780788,14.5833272083, | |
270 | 14.5760017565,14.5687015706,14.5614264991,14.554176392,14.5469511003, | |
271 | 14.5397504764,14.532574374,14.5254226477,14.5182951536,14.511191749, | |
272 | 14.5041122922,14.4970566428,14.4900246616,14.4830162103,14.476031152, | |
273 | 14.4690693508,14.4621306719,14.4552149818,14.4483221476,14.4414520381, | |
274 | 14.4346045227,14.427779472,14.4209767576,14.4141962524,14.4074378298, | |
275 | 14.4007013648,14.3939867329,14.3872938109,14.3806224764,14.3739726081, | |
276 | 14.3673440856,14.3607367896,14.3541506013,14.3475854034,14.3410410791, | |
277 | 14.3345175128,14.3280145895,14.3215321954,14.3150702174,14.3086285433, | |
278 | 14.3022070619,14.2958056626,14.2894242359,14.283062673,14.276720866, | |
279 | 14.2703987079,14.2640960923,14.2578129137,14.2515490676,14.24530445, | |
280 | 14.2390789579,14.232872489,14.2266849416,14.2205162152,14.2143662096, | |
281 | 14.2082348255,14.2021219646,14.1960275289,14.1899514215,14.1838935459, | |
282 | 14.1778538067,14.1718321088,14.165828358,14.1598424609,14.1538743246, | |
283 | 14.1479238569,14.1419909664,14.1360755623,14.1301775544,14.1242968532, | |
284 | 14.11843337,14.1125870164,14.106757705,14.1009453487,14.0951498615, | |
285 | 14.0893711574,14.0836091515,14.0778637594,14.0721348971,14.0664224814, | |
286 | 14.0607264296,14.0550466597,14.0493830902,14.0437356402,14.0381042293, | |
287 | 14.0324887777,14.0268892062,14.0213054361,14.0157373894,14.0101849885, | |
288 | 14.0046481563,13.9991268163,13.9936208926,13.9881303098,13.9826549929, | |
289 | 13.9771948675,13.9717498598,13.9663198964,13.9609049044,13.9555048114, | |
290 | 13.9501195456,13.9447490356,13.9393932105,13.9340519998,13.9287253336, | |
291 | 13.9234131425,13.9181153575,13.91283191,13.9075627319,13.9023077557, | |
292 | 13.8970669141,13.8918401405,13.8866273686,13.8814285326,13.876243567, | |
293 | 13.871072407,13.865914988,13.860771246,13.8556411172,13.8505245383, | |
294 | 13.8454214467,13.8403317797,13.8352554755,13.8301924725,13.8251427093, | |
295 | 13.8201061252,13.8150826598,13.8100722531,13.8050748454,13.8000903775, | |
296 | 13.7951187905,13.790160026,13.7852140259,13.7802807323,13.775360088, | |
297 | 13.7704520359,13.7655565194,13.7606734822,13.7558028685,13.7509446227, | |
298 | 13.7460986895,13.7412650141,13.7364435419,13.7316342189,13.7268369912, | |
299 | 13.7220518053,13.717278608,13.7125173466,13.7077679684,13.7030304215, | |
300 | 13.6983046538,13.693590614,13.6888882508,13.6841975133,13.679518351, | |
301 | 13.6748507136,13.6701945512,13.665549814,13.6609164529,13.6562944187, | |
302 | 13.6516836627,13.6470841366,13.6424957921,13.6379185813,13.6333524569, | |
303 | 13.6287973714,13.6242532779,13.6197201297,13.6151978803,13.6106864838, | |
304 | 13.6061858941,13.6016960656,13.5972169532,13.5927485117,13.5882906964, | |
305 | 13.5838434627,13.5794067665,13.5749805636,13.5705648106,13.5661594637, | |
306 | 13.5617644799,13.5573798162,13.5530054299,13.5486412786,13.54428732, | |
307 | 13.5399435123,13.5356098136,13.5312861826,13.526972578,13.5226689589, | |
308 | 13.5183752845,13.5140915142,13.5098176079,13.5055535255,13.5012992271, | |
309 | 13.4970546733,13.4928198245,13.4885946418,13.4843790862,13.4801731191, | |
310 | 13.4759767019,13.4717897965,13.4676123647,13.4634443689,13.4592857713, | |
311 | 13.4551365347,13.4509966219,13.4468659959,13.4427446199,13.4386324575, | |
312 | 13.4345294722,13.4304356279,13.4263508888,13.422275219,13.418208583, | |
313 | 13.4141509456,13.4101022715,13.4060625259,13.4020316739,13.3980096811, | |
314 | 13.393996513,13.3899921354,13.3859965145,13.3820096163,13.3780314073, | |
315 | 13.374061854,13.3701009232,13.3661485818,13.362204797,13.358269536, | |
316 | 13.3543427662,13.3504244554,13.3465145714,13.3426130821,13.3387199557, | |
317 | 13.3348351605,13.3309586652,13.3270904383,13.3232304487,13.3193786654, | |
318 | 13.3155350575,13.3116995946,13.3078722459,13.3040529813,13.3002417706, | |
319 | 13.2964385836,13.2926433907,13.2888561621,13.2850768682,13.2813054797, | |
320 | 13.2775419674,13.2737863022,13.2700384552,13.2662983976,13.2625661008, | |
321 | 13.2588415363,13.2551246758,13.2514154912,13.2477139545,13.2440200377, | |
322 | 13.2403337131,13.2366549531,13.2329837303,13.2293200174,13.2256637873, | |
323 | 13.2220150128,13.2183736671,13.2147397235,13.2111131554,13.2074939363, | |
324 | 13.2038820398,13.2002774397,13.19668011,13.1930900248,13.1895071582, | |
325 | 13.1859314845,13.1823629783,13.178801614,13.1752473665,13.1717002105, | |
326 | 13.168160121,13.1646270732,13.1611010422,13.1575820033,13.1540699321, | |
327 | 13.1505648041,13.1470665951,13.1435752808,13.1400908372,13.1366132404, | |
328 | 13.1331424666,13.1296784921,13.1262212933,13.1227708467,13.1193271291, | |
329 | 13.1158901171,13.1124597877,13.1090361179,13.1056190848,13.1022086655, | |
330 | 13.0988048375,13.0954075782,13.0920168651,13.0886326759,13.0852549884, | |
331 | 13.0818837805,13.0785190301,13.0751607154,13.0718088145,13.0684633057, | |
332 | 13.0651241676,13.0617913785,13.0584649171,13.0551447622,13.0518308925, | |
333 | 13.048523287,13.0452219246,13.0419267846,13.0386378462,13.0353550886, | |
334 | 13.0320784913,13.0288080338,13.0255436958,13.0222854569,13.019033297, | |
335 | 13.0157871959,13.0125471336,13.0093130904,13.0060850462,13.0028629815, | |
336 | 12.9996468766,12.9964367119,12.993232468,12.9900341256,12.9868416654, | |
337 | 12.9836550682,12.9804743149,12.9772993866,12.9741302643,12.9709669292, | |
338 | 12.9678093625,12.9646575458,12.9615114602,12.9583710875,12.9552364092, | |
339 | 12.9521074069,12.9489840625,12.9458663579,12.9427542749,12.9396477957, | |
340 | 12.9365469022,12.9334515768,12.9303618016,12.9272775591,12.9241988316, | |
341 | 12.9211256016,12.9180578519,12.9149955649,12.9119387235,12.9088873106, | |
342 | 12.9058413089,12.9028007015,12.8997654714,12.8967356018,12.8937110759, | |
343 | 12.8906918769,12.8876779882,12.8846693933,12.8816660756,12.8786680187, | |
344 | 12.8756752064,12.8726876222,12.86970525,12.8667280736,12.8637560771, | |
345 | 12.8607892443,12.8578275594,12.8548710066,12.8519195701,12.848973234, | |
346 | 12.8460319829,12.8430958011,12.8401646731,12.8372385835,12.8343175169, | |
347 | 12.831401458,12.8284903916,12.8255843025,12.8226831755,12.8197869957, | |
348 | 12.8168957481,12.8140094178,12.8111279898,12.8082514496,12.8053797822, | |
349 | 12.8025129731,12.7996510076,12.7967938713,12.7939415497,12.7910940284, | |
350 | 12.7882512929,12.7854133292,12.7825801228,12.7797516597,12.7769279257, | |
351 | 12.7741089069,12.7712945892,12.7684849587,12.7656800016,12.762879704, | |
352 | 12.7600840522,12.7572930325,12.7545066312,12.7517248349,12.74894763, | |
353 | 12.7461750029,12.7434069404,12.7406434291,12.7378844557,12.7351300068, | |
354 | 12.7323800695,12.7296346305,12.7268936767,12.7241571952,12.721425173, | |
355 | 12.7186975971,12.7159744547,12.7132557331,12.7105414194,12.7078315009, | |
356 | 12.7051259651,12.7024247993,12.699727991,12.6970355276,12.6943473968, | |
357 | 12.6916635861,12.6889840833,12.6863088759,12.6836379519,12.680971299, | |
358 | 12.678308905,12.6756507579,12.6729968456,12.6703471562,12.6677016776, | |
359 | 12.6650603981,12.6624233057,12.6597903887,12.6571616353,12.6545370337, | |
360 | 12.6519165725,12.6493002398,12.6466880242,12.6440799142,12.6414758982, | |
361 | 12.6388759649,12.6362801029,12.6336883008,12.6311005473,12.6285168312, | |
362 | 12.6259371414,12.6233614666,12.6207897957,12.6182221177,12.6156584215, | |
363 | 12.6130986962,12.6105429308,12.6079911145,12.6054432363,12.6028992855, | |
364 | 12.6003592512,12.5978231229,12.5952908898,12.5927625412,12.5902380665, | |
365 | 12.5877174553,12.585200697,12.582687781,12.580178697,12.5776734346, | |
366 | 12.5751719835,12.5726743332,12.5701804736,12.5676903943,12.5652040853, | |
367 | 12.5627215363,12.5602427373,12.5577676781,12.5552963487,12.5528287392, | |
368 | 12.5503648395,12.5479046397,12.54544813,12.5429953005,12.5405461414, | |
369 | 12.5381006428,12.5356587952,12.5332205887,12.5307860138,12.5283550607, | |
370 | 12.52592772,12.523503982,12.5210838372,12.5186672762,12.5162542895, | |
371 | 12.5138448677,12.5114390014,12.5090366814,12.5066378982,12.5042426426, | |
372 | 12.5018509054,12.4994626774,12.4970779493,12.4946967122,12.4923189569, | |
373 | 12.4899446743,12.4875738554,12.4852064912,12.4828425728,12.4804820912, | |
374 | 12.4781250374,12.4757714028,12.4734211784,12.4710743554,12.468730925, | |
375 | 12.4663908786,12.4640542075,12.4617209029,12.4593909562,12.4570643588, | |
376 | 12.4547411022,12.4524211778,12.4501045771,12.4477912916,12.4454813129, | |
377 | 12.4431746326,12.4408712422,12.4385711334,12.4362742979,12.4339807274, | |
378 | 12.4316904136,12.4294033483,12.4271195232,12.4248389303,12.4225615613, | |
379 | 12.4202874082,12.4180164628,12.4157487171,12.413484163,12.4112227927, | |
380 | 12.408964598,12.406709571,12.4044577039,12.4022089887,12.3999634176, | |
381 | 12.3977209827,12.3954816763,12.3932454906,12.3910124178,12.3887824501, | |
382 | 12.38655558,12.3843317998,12.3821111017,12.3798934782,12.3776789218, | |
383 | 12.3754674248,12.3732589797,12.371053579,12.3688512153,12.366651881, | |
384 | 12.3644555688,12.3622622713,12.3600719811,12.3578846908,12.3557003931, | |
385 | 12.3535190807,12.3513407464,12.3491653829,12.3469929829,12.3448235394, | |
386 | 12.342657045,12.3404934928,12.3383328755,12.336175186,12.3340204173, | |
387 | 12.3318685624,12.3297196142,12.3275735657,12.3254304099,12.3232901399, | |
388 | 12.3211527488,12.3190182296,12.3168865756,12.3147577797,12.3126318353, | |
389 | 12.3105087354,12.3083884733,12.3062710423,12.3041564356,12.3020446464, | |
390 | 12.2999356681,12.2978294941,12.2957261176,12.2936255321,12.2915277309, | |
391 | 12.2894327075,12.2873404553,12.2852509678,12.2831642384,12.2810802607, | |
392 | 12.2789990281,12.2769205344,12.2748447729,12.2727717373,12.2707014213, | |
393 | 12.2686338185,12.2665689225,12.2645067269,12.2624472256,12.2603904123, | |
394 | 12.2583362806,12.2562848243,12.2542360373,12.2521899133,12.2501464462, | |
395 | 12.2481056297,12.2460674579,12.2440319245,12.2419990234,12.2399687487, | |
396 | 12.2379410942,12.2359160539,12.2338936219,12.231873792,12.2298565583, | |
397 | 12.227841915,12.225829856,12.2238203754,12.2218134674,12.2198091261, | |
398 | 12.2178073455,12.2158081199,12.2138114435,12.2118173105,12.209825715, | |
399 | 12.2078366513,12.2058501137,12.2038660965,12.2018845939,12.1999056003, | |
400 | 12.1979291099,12.1959551172,12.1939836165,12.1920146022,12.1900480687, | |
401 | 12.1880840104,12.1861224218,12.1841632973,12.1822066314,12.1802524186, | |
402 | 12.1783006534,12.1763513304,12.174404444,12.1724599888,12.1705179595, | |
403 | 12.1685783507,12.1666411568,12.1647063727,12.1627739928,12.160844012, | |
404 | 12.1589164248,12.156991226,12.1550684103,12.1531479725,12.1512299072, | |
405 | 12.1493142093,12.1474008735,12.1454898947,12.1435812676,12.1416749871, | |
406 | 12.1397710481,12.1378694453,12.1359701738,12.1340732283,12.1321786038, | |
407 | 12.1302862953,12.1283962977,12.1265086058,12.1246232148,12.1227401197, | |
408 | 12.1208593153,12.1189807968,12.1171045592,12.1152305975,12.1133589068, | |
409 | 12.1114894822,12.1096223189,12.1077574118,12.1058947562,12.1040343472, | |
410 | 12.1021761799,12.1003202496,12.0984665514,12.0966150806,12.0947658323, | |
411 | 12.0929188017,12.0910739843,12.0892313751,12.0873909695,12.0855527628, | |
412 | 12.0837167503,12.0818829273,12.0800512891,12.0782218311,12.0763945487, | |
413 | 12.0745694373,12.0727464922,12.0709257088,12.0691070826,12.067290609, | |
414 | 12.0654762834 | |
415 | } | |
416 | }, | |
417 | { | |
418 | // Ri = 250k | |
419 | -5,5,200,2001, { | |
420 | 137.512728867,137.399223264,137.285690251,137.17212984,137.058542039, | |
421 | 136.944926859,136.831284308,136.717614396,136.603917133,136.490192528, | |
422 | 136.37644059,136.262661328,136.148854752,136.035020871,135.921159694, | |
423 | 135.80727123,135.693355487,135.579412475,135.465442203,135.351444679, | |
424 | 135.237419911,135.12336791,135.009288682,134.895182238,134.781048584, | |
425 | 134.66688773,134.552699684,134.438484454,134.324242049,134.209972477, | |
426 | 134.095675745,133.981351862,133.867000836,133.752622675,133.638217387, | |
427 | 133.523784979,133.40932546,133.294838836,133.180325116,133.065784308, | |
428 | 132.951216418,132.836621455,132.721999425,132.607350337,132.492674197, | |
429 | 132.377971012,132.263240791,132.148483539,132.033699265,131.918887974, | |
430 | 131.804049675,131.689184374,131.574292077,131.459372792,131.344426526, | |
431 | 131.229453284,131.114453074,130.999425902,130.884371775,130.769290699, | |
432 | 130.654182681,130.539047726,130.423885842,130.308697033,130.193481308, | |
433 | 130.078238671,129.962969128,129.847672686,129.732349351,129.616999128, | |
434 | 129.501622024,129.386218043,129.270787192,129.155329476,129.039844901, | |
435 | 128.924333473,128.808795197,128.693230078,128.577638121,128.462019333, | |
436 | 128.346373717,128.230701281,128.115002027,127.999275963,127.883523091, | |
437 | 127.767743419,127.65193695,127.536103689,127.420243641,127.304356811, | |
438 | 127.188443204,127.072502824,126.956535675,126.840541763,126.724521091, | |
439 | 126.608473664,126.492399486,126.376298562,126.260170896,126.144016492, | |
440 | 126.027835354,125.911627486,125.795392892,125.679131576,125.562843542, | |
441 | 125.446528794,125.330187335,125.213819169,125.0974243,124.981002732, | |
442 | 124.864554467,124.74807951,124.631577864,124.515049532,124.398494517, | |
443 | 124.281912824,124.165304454,124.048669411,123.932007699,123.815319319, | |
444 | 123.698604276,123.581862572,123.465094209,123.348299192,123.231477521, | |
445 | 123.114629201,122.997754234,122.880852622,122.763924367,122.646969473, | |
446 | 122.529987942,122.412979775,122.295944976,122.178883547,122.061795488, | |
447 | 121.944680804,121.827539496,121.710371565,121.593177014,121.475955845, | |
448 | 121.358708059,121.241433658,121.124132644,121.006805019,120.889450784, | |
449 | 120.772069941,120.654662491,120.537228435,120.419767776,120.302280513, | |
450 | 120.18476665,120.067226186,119.949659123,119.832065462,119.714445204, | |
451 | 119.596798349,119.4791249,119.361424857,119.24369822,119.12594499, | |
452 | 119.008165168,118.890358755,118.772525751,118.654666156,118.536779972, | |
453 | 118.418867198,118.300927835,118.182961883,118.064969342,117.946950213, | |
454 | 117.828904495,117.710832189,117.592733295,117.474607812,117.356455741, | |
455 | 117.238277081,117.120071832,117.001839993,116.883581565,116.765296548, | |
456 | 116.646984939,116.52864674,116.410281948,116.291890565,116.173472589, | |
457 | 116.055028019,115.936556854,115.818059094,115.699534738,115.580983784, | |
458 | 115.462406232,115.343802081,115.225171329,115.106513975,114.987830018, | |
459 | 114.869119456,114.750382289,114.631618514,114.51282813,114.394011136, | |
460 | 114.27516753,114.15629731,114.037400475,113.918477022,113.799526951, | |
461 | 113.680550258,113.561546942,113.442517002,113.323460434,113.204377236, | |
462 | 113.085267407,112.966130945,112.846967846,112.727778109,112.608561731, | |
463 | 112.489318709,112.370049041,112.250752725,112.131429757,112.012080135, | |
464 | 111.892703857,111.773300918,111.653871317,111.53441505,111.414932115, | |
465 | 111.295422508,111.175886226,111.056323266,110.936733624,110.817117298, | |
466 | 110.697474283,110.577804577,110.458108176,110.338385076,110.218635274, | |
467 | 110.098858766,109.979055549,109.859225618,109.739368969,109.619485599, | |
468 | 109.499575504,109.379638679,109.259675121,109.139684826,109.019667789, | |
469 | 108.899624005,108.779553471,108.659456182,108.539332134,108.419181322, | |
470 | 108.299003742,108.178799389,108.058568258,107.938310344,107.818025643, | |
471 | 107.69771415,107.577375859,107.457010766,107.336618867,107.216200154, | |
472 | 107.095754624,106.975282272,106.854783091,106.734257077,106.613704224, | |
473 | 106.493124526,106.372517979,106.251884576,106.131224312,106.010537181, | |
474 | 105.889823177,105.769082295,105.648314528,105.52751987,105.406698317, | |
475 | 105.28584986,105.164974495,105.044072215,104.923143013,104.802186884, | |
476 | 104.681203821,104.560193818,104.439156867,104.318092963,104.197002099, | |
477 | 104.075884268,103.954739463,103.833567678,103.712368905,103.591143138, | |
478 | 103.46989037,103.348610593,103.227303801,103.105969985,102.98460914, | |
479 | 102.863221258,102.74180633,102.620364351,102.498895311,102.377399205, | |
480 | 102.255876023,102.134325759,102.012748405,101.891143953,101.769512394, | |
481 | 101.647853721,101.526167927,101.404455002,101.282714939,101.16094773, | |
482 | 101.039153366,100.917331839,100.795483141,100.673607263,100.551704197, | |
483 | 100.429773934,100.307816466,100.185831783,100.063819878,99.9417807406, | |
484 | 99.8197143628,99.6976207354,99.5754998496,99.4533516961,99.3311762659, | |
485 | 99.2089735498,99.0867435385,98.9644862227,98.8422015931,98.7198896402, | |
486 | 98.5975503544,98.4751837263,98.3527897462,98.2303684044,98.1079196912, | |
487 | 97.9854435967,97.862940111,97.7404092242,97.6178509264,97.4952652074, | |
488 | 97.3726520571,97.2500114653,97.1273434217,97.0046479161,96.881924938, | |
489 | 96.759174477,96.6363965227,96.5135910643,96.3907580913,96.267897593, | |
490 | 96.1450095586,96.0220939773,95.8991508382,95.7761801304,95.6531818428, | |
491 | 95.5301559644,95.407102484,95.2840213905,95.1609126725,95.0377763187, | |
492 | 94.9146123178,94.7914206583,94.6682013286,94.5449543172,94.4216796125, | |
493 | 94.2983772027,94.1750470761,94.0516892209,93.9283036251,93.8048902767, | |
494 | 93.6814491639,93.5579802744,93.4344835962,93.3109591171,93.1874068247, | |
495 | 93.0638267067,92.9402187508,92.8165829445,92.6929192752,92.5692277304, | |
496 | 92.4455082975,92.3217609637,92.1979857163,92.0741825423,91.9503514291, | |
497 | 91.8264923635,91.7026053326,91.5786903232,91.4547473223,91.3307763167, | |
498 | 91.206777293,91.082750238,90.9586951383,90.8346119803,90.7105007507, | |
499 | 90.5863614358,90.462194022,90.3379984956,90.2137748429,90.0895230499, | |
500 | 89.965243103,89.840934988,89.7165986911,89.5922341981,89.467841495, | |
501 | 89.3434205675,89.2189714014,89.0944939825,88.9699882963,88.8454543284, | |
502 | 88.7208920644,88.5963014897,88.4716825897,88.3470353498,88.2223597552, | |
503 | 88.0976557912,87.9729234429,87.8481626954,87.7233735338,87.5985559431, | |
504 | 87.4737099082,87.3488354139,87.2239324452,87.0990009867,86.9740410231, | |
505 | 86.8490525391,86.7240355193,86.5989899482,86.4739158103,86.34881309, | |
506 | 86.2236817716,86.0985218395,85.9733332779,85.8481160709,85.7228702028, | |
507 | 85.5975956577,85.4722924194,85.3469604721,85.2215997996,85.0962103858, | |
508 | 84.9707922146,84.8453452696,84.7198695345,84.5943649931,84.4688316289, | |
509 | 84.3432694255,84.2176783664,84.092058435,83.9664096147,83.8407318888, | |
510 | 83.7150252407,83.5892896536,83.4635251106,83.3377315949,83.2119090897, | |
511 | 83.0860575779,82.9601770426,82.8342674667,82.708328833,82.5823611245, | |
512 | 82.456364324,82.3303384143,82.2042833779,82.0781991977,81.9520858562, | |
513 | 81.825943336,81.6997716197,81.5735706898,81.4473405286,81.3210811187, | |
514 | 81.1947924423,81.0684744819,80.9421272196,80.8157506378,80.6893447187, | |
515 | 80.5629094444,80.436444797,80.3099507586,80.1834273114,80.0568744373, | |
516 | 79.9302921182,79.8036803362,79.6770390732,79.550368311,79.4236680315, | |
517 | 79.2969382165,79.1701788478,79.0433899071,78.9165713762,78.7897232367, | |
518 | 78.6628454704,78.5359380588,78.4090009835,78.2820342262,78.1550377685, | |
519 | 78.0280115917,77.9009556775,77.7738700074,77.6467545627,77.519609325, | |
520 | 77.3924342757,77.2652293962,77.1379946679,77.0107300721,76.8834355903, | |
521 | 76.7561112037,76.6287568937,76.5013726416,76.3739584288,76.2465142365, | |
522 | 76.119040046,75.9915358386,75.8640015956,75.7364372982,75.6088429277, | |
523 | 75.4812184654,75.3535638926,75.2258791905,75.0981643403,74.9704193234, | |
524 | 74.842644121,74.7148387145,74.587003085,74.4591372139,74.3312410825, | |
525 | 74.2033146721,74.0753579641,73.9473709398,73.8193535805,73.6913058677, | |
526 | 73.5632277828,73.4351193072,73.3069804223,73.1788111097,73.0506113508, | |
527 | 72.9223811272,72.7941204204,72.6658292121,72.537507484,72.4091552176, | |
528 | 72.2807723947,72.1523589971,72.0239150066,71.8954404051,71.7669351744, | |
529 | 71.6383992966,71.5098327536,71.3812355275,71.2526076005,71.1239489547, | |
530 | 70.9952595725,70.8665394361,70.7377885279,70.6090068305,70.4801943263, | |
531 | 70.3513509981,70.2224768285,70.0935718004,69.9646358965,69.8356691, | |
532 | 69.7066713939,69.5776427614,69.4485831857,69.3194926503,69.1903711386, | |
533 | 69.0612186344,68.9320351212,68.802820583,68.6735750037,68.5442983675, | |
534 | 68.4149906585,68.2856518613,68.1562819603,68.0268809401,67.8974487857, | |
535 | 67.7679854819,67.638491014,67.5089653673,67.3794085272,67.2498204794, | |
536 | 67.1202012097,66.9905507042,66.8608689491,66.7311559309,66.601411636, | |
537 | 66.4716360515,66.3418291643,66.2119909618,66.0821214314,65.9522205608, | |
538 | 65.8222883382,65.6923247516,65.5623297897,65.4323034412,65.302245695, | |
539 | 65.1721565406,65.0420359675,64.9118839657,64.7817005253,64.6514856368, | |
540 | 64.5212392911,64.3909614794,64.2606521931,64.1303114242,63.9999391648, | |
541 | 63.8695354075,63.7391001453,63.6086333716,63.47813508,63.3476052649, | |
542 | 63.2170439207,63.0864510425,62.9558266257,62.8251706663,62.6944831608, | |
543 | 62.5637641059,62.4330134991,62.3022313383,62.1714176218,62.0405723488, | |
544 | 61.9096955186,61.7787871314,61.6478471879,61.5168756894,61.3858726377, | |
545 | 61.2548380355,61.1237718859,60.9926741928,60.8615449607,60.730384195, | |
546 | 60.5991919017,60.4679680876,60.3367127601,60.2054259277,60.0741075994, | |
547 | 59.9427577854,59.8113764964,59.6799637443,59.5485195417,59.4170439022, | |
548 | 59.2855368404,59.1539983719,59.0224285133,58.8908272824,58.7591946978, | |
549 | 58.6275307794,58.4958355482,58.3641090265,58.2323512377,58.1005622064, | |
550 | 57.9687419586,57.8368905217,57.7050079243,57.5730941965,57.4411493697, | |
551 | 57.3091734771,57.1771665531,57.0451286339,56.9130597573,56.7809599628, | |
552 | 56.6488292914,56.5166677863,56.3844754921,56.2522524556,56.1199987253, | |
553 | 55.9877143521,55.8553993885,55.7230538895,55.5906779121,55.4582715156, | |
554 | 55.3258347616,55.1933677144,55.0608704404,54.9283430087,54.7957854911, | |
555 | 54.6631979622,54.5305804991,54.3979331822,54.2652560946,54.1325493226, | |
556 | 53.9998129557,53.8670470866,53.7342518116,53.6014272301,53.4685734456, | |
557 | 53.3356905649,53.202778699,53.0698379626,52.9368684747,52.8038703584, | |
558 | 52.6708437413,52.5377887554,52.4047055373,52.2715942288,52.1384549761, | |
559 | 52.005287931,51.8720932505,51.7388710969,51.6056216384,51.4723450489, | |
560 | 51.3390415085,51.2057112034,51.0723543264,50.9389710768,50.8055616609, | |
561 | 50.6721262922,50.5386651916,50.4051785874,50.271666716,50.1381298218, | |
562 | 50.0045681577,49.8709819854,49.7373715755,49.6037372078,49.470079172, | |
563 | 49.3363977676,49.2026933043,49.0689661028,48.9352164944,48.8014448221, | |
564 | 48.6676514405,48.5338367167,48.40000103,48.2661447731,48.1322683519, | |
565 | 47.9983721867,47.8644567117,47.7305223766,47.5965696462,47.4625990014, | |
566 | 47.3286109398,47.1946059759,47.0605846422,46.9265474893,46.792495087, | |
567 | 46.6584280245,46.5243469117,46.3902523791,46.2561450792,46.122025687, | |
568 | 45.9878949008,45.853753443,45.7196020608,45.5854415275,45.4512726429, | |
569 | 45.3170962344,45.1829131581,45.0487242995,44.9145305749,44.7803329321, | |
570 | 44.6461323516,44.5119298478,44.3777264702,44.2435233043,44.1093214733, | |
571 | 43.9751221389,43.8409265029,43.7067358086,43.5725513419,43.4383744332, | |
572 | 43.3042064584,43.1700488409,43.0359030526,42.9017706161,42.7676531062, | |
573 | 42.6335521515,42.4994694361,42.3654067018,42.2313657496,42.0973484418, | |
574 | 41.9633567039,41.8293925267,41.6954579684,41.5615551566,41.4276862907, | |
575 | 41.293853644,41.1600595658,41.0263064842,40.8925969082,40.7589334302, | |
576 | 40.6253187286,40.4917555701,40.3582468127,40.2247954079,40.0914044039, | |
577 | 39.9580769478,39.8248162888,39.691625781,39.5585088858,39.4254691754, | |
578 | 39.2925103354,39.1596361679,39.0268505942,38.8941576581,38.7615615286, | |
579 | 38.6290665035,38.4966770114,38.3643976159,38.2322330175,38.1001880572, | |
580 | 37.9682677194,37.8364771346,37.7048215822,37.5733064936,37.4419374545, | |
581 | 37.3107202079,37.1796606565,37.0487648651,36.9180390628,36.7874896455, | |
582 | 36.6571231776,36.526946394,36.3969662016,36.2671896813,36.1376240885, | |
583 | 36.0082768545,35.8791555875,35.7502680727,35.6216222725,35.4932263267, | |
584 | 35.3650885517,35.23721744,35.1096216587,34.9823100482,34.8552916201, | |
585 | 34.7285755548,34.6021711986,34.4760880604,34.3503358077,34.2249242626, | |
586 | 34.0998633968,33.9751633259,33.8508343041,33.7268867171,33.6033310755, | |
587 | 33.4801780068,33.3574382475,33.2351226341,33.1132420942,32.9918076357, | |
588 | 32.8708303373,32.7503213367,32.6302918195,32.5107530067,32.3917161423, | |
589 | 32.2731924804,32.1551932711,32.037729747,31.9208131085,31.8044545095, | |
590 | 31.6886650419,31.5734557206,31.4588374679,31.3448210978,31.2314173004, | |
591 | 31.1186366258,31.0064894684,30.8949860509,30.7841364092,30.6739503761, | |
592 | 30.5644375666,30.455607363,30.3474688999,30.2400310502,30.1333024117, | |
593 | 30.0272912935,29.9220057037,29.8174533375,29.7136415657,29.6105774244, | |
594 | 29.5082676055,29.4067184471,29.3059359261,29.2059256507,29.1066928541, | |
595 | 29.0082423889,28.9105787231,28.8137059359,28.7176277156,28.6223473578, | |
596 | 28.5278677641,28.4341914432,28.3413205108,28.2492566924,28.1580013255, | |
597 | 28.0675553634,27.9779193796,27.8890935724,27.8010777713,27.7138714431, | |
598 | 27.6274736993,27.5418833035,27.4570986796,27.373117921,27.289938799, | |
599 | 27.2075587732,27.1259750009,27.0451843475,26.965183397,26.8859684628, | |
600 | 26.8075355984,26.7298806087,26.652999061,26.5768862962,26.5015374399, | |
601 | 26.426947414,26.3531109471,26.2800225865,26.2076767084,26.1360675291, | |
602 | 26.0651891153,25.9950353953,25.9256001685,25.8568771158,25.7888598095, | |
603 | 25.7215417227,25.6549162387,25.5889766601,25.5237162175,25.4591280777, | |
604 | 25.3952053525,25.331941106,25.2693283624,25.2073601134,25.1460293249, | |
605 | 25.0853289441,25.0252519052,24.9657911364,24.9069395648,24.8486901225, | |
606 | 24.7910357516,24.7339694092,24.677484072,24.6215727409,24.5662284448, | |
607 | 24.5114442449,24.4572132382,24.4035285609,24.3503833915,24.2977709541, | |
608 | 24.2456845208,24.1941174145,24.1430630113,24.0925147424,24.0424660964, | |
609 | 23.992910621,23.9438419248,23.8952536784,23.8471396162,23.7994935376, | |
610 | 23.7523093077,23.7055808586,23.6593021901,23.6134673704,23.5680705368, | |
611 | 23.5231058959,23.4785677245,23.4344503694,23.3907482481,23.3474558483, | |
612 | 23.3045677287,23.2620785186,23.2199829176,23.1782756959,23.1369516941, | |
613 | 23.0960058224,23.055433061,23.0152284591,22.9753871351,22.9359042758, | |
614 | 22.8967751359,22.8579950378,22.8195593706,22.7814635902,22.743703218, | |
615 | 22.7062738406,22.6691711094,22.6323907394,22.5959285091,22.5597802593, | |
616 | 22.5239418928,22.4884093734,22.4531787255,22.4182460329,22.3836074384, | |
617 | 22.3492591431,22.3151974054,22.2814185405,22.2479189191,22.2146949676, | |
618 | 22.1817431664,22.1490600496,22.1166422042,22.0844862693,22.0525889354, | |
619 | 22.0209469434,21.9895570842,21.9584161977,21.9275211724,21.896868944, | |
620 | 21.8664564954,21.8362808557,21.8063390992,21.7766283451,21.7471457566, | |
621 | 21.7178885402,21.6888539452,21.6600392626,21.631441825,21.6030590054, | |
622 | 21.5748882168,21.5469269116,21.5191725808,21.4916227535,21.4642749962, | |
623 | 21.4371269121,21.4101761408,21.3834203573,21.3568572718,21.3304846287, | |
624 | 21.3043002064,21.2783018166,21.2524873036,21.2268545441,21.2014014463, | |
625 | 21.1761259495,21.1510260236,21.1260996686,21.1013449141,21.0767598189, | |
626 | 21.0523424701,21.0280909831,21.004003501,20.9800781938,20.9563132586, | |
627 | 20.9327069183,20.9092574221,20.8859630443,20.8628220842,20.8398328657, | |
628 | 20.8169937368,20.7943030693,20.7717592581,20.7493607214,20.7271058996, | |
629 | 20.7049932554,20.6830212735,20.6611884598,20.6394933414,20.617934466, | |
630 | 20.5965104018,20.5752197372,20.5540610799,20.5330330574,20.512134316, | |
631 | 20.491363521,20.4707193559,20.4502005225,20.4298057403,20.4095337464, | |
632 | 20.3893832953,20.3693531584,20.3494421236,20.3296489955,20.3099725947, | |
633 | 20.2904117577,20.2709653368,20.2516321995,20.2324112284,20.2133013213, | |
634 | 20.1943013902,20.1754103619,20.1566271772,20.1379507909,20.1193801714, | |
635 | 20.1009143009,20.0825521747,20.0642928011,20.0461352015,20.0280784098, | |
636 | 20.0101214725,19.9922634483,19.9745034079,19.9568404342,19.9392736215, | |
637 | 19.9218020757,19.9044249141,19.8871412651,19.8699502683,19.8528510738, | |
638 | 19.8358428425,19.818924746,19.8020959659,19.7853556942,19.7687031328, | |
639 | 19.7521374934,19.7356579977,19.7192638768,19.702954371,19.6867287302, | |
640 | 19.6705862133,19.6545260883,19.6385476318,19.6226501296,19.6068328756, | |
641 | 19.5910951724,19.5754363311,19.5598556707,19.5443525186,19.5289262099, | |
642 | 19.5135760879,19.4983015033,19.4831018147,19.4679763881,19.4529245969, | |
643 | 19.4379458218,19.4230394509,19.4082048791,19.3934415084,19.3787487479, | |
644 | 19.3641260131,19.3495727265,19.3350883172,19.3206722206,19.3063238786, | |
645 | 19.2920427395,19.2778282577,19.263679894,19.2495971149,19.2355793932, | |
646 | 19.2216262073,19.2077370416,19.1939113861,19.1801487367,19.1664485945, | |
647 | 19.1528104664,19.1392338645,19.1257183064,19.1122633148,19.0988684177, | |
648 | 19.0855331483,19.0722570446,19.0590396499,19.0458805122,19.0327791844, | |
649 | 19.0197352243,19.0067481941,18.993817661,18.9809431967,18.9681243774, | |
650 | 18.9553607836,18.9426520006,18.9299976177,18.9173972287,18.9048504315, | |
651 | 18.8923568283,18.8799160254,18.8675276332,18.855191266,18.8429065421, | |
652 | 18.8306730839,18.8184905175,18.8063584728,18.7942765836,18.7822444873, | |
653 | 18.7702618249,18.7583282413,18.7464433847,18.734606907,18.7228184636, | |
654 | 18.7110777131,18.6993843177,18.6877379431,18.6761382579,18.6645849344, | |
655 | 18.6530776479,18.6416160769,18.6301999032,18.6188288114,18.6075024895, | |
656 | 18.5962206284,18.5849829221,18.5737890673,18.5626387639,18.5515317145, | |
657 | 18.5404676247,18.5294462029,18.5184671601,18.5075302104,18.4966350702, | |
658 | 18.4857814588,18.4749690983,18.4641977132,18.4534670307,18.4427767803, | |
659 | 18.4321266945,18.4215165079,18.4109459577,18.4004147836,18.3899227277, | |
660 | 18.3794695343,18.3690549502,18.3586787246,18.3483406089,18.3380403567, | |
661 | 18.327777724,18.3175524689,18.3073643518,18.2972131352,18.2870985837, | |
662 | 18.2770204641,18.2669785453,18.2569725982,18.2470023957,18.2370677129, | |
663 | 18.2271683268,18.2173040164,18.2074745625,18.1976797481,18.187919358, | |
664 | 18.1781931787,18.1685009989,18.1588426089,18.149217801,18.1396263691, | |
665 | 18.1300681091,18.1205428184,18.1110502966,18.1015903445,18.0921627649, | |
666 | 18.0827673623,18.0734039429,18.0640723142,18.0547722859,18.0455036688, | |
667 | 18.0362662756,18.0270599206,18.0178844194,18.0087395894,17.9996252494, | |
668 | 17.9905412198,17.9814873225,17.9724633808,17.9634692195,17.9545046649, | |
669 | 17.9455695447,17.9366636879,17.9277869252,17.9189390885,17.9101200109, | |
670 | 17.9013295273,17.8925674735,17.883833687,17.8751280064,17.8664502716, | |
671 | 17.857800324,17.849178006,17.8405831614,17.8320156354,17.8234752741, | |
672 | 17.8149619251,17.8064754372,17.7980156603,17.7895824455,17.7811756451, | |
673 | 17.7727951126,17.7644407026,17.7561122709,17.7478096744,17.7395327711, | |
674 | 17.7312814201,17.7230554816,17.714854817,17.7066792887,17.69852876, | |
675 | 17.6904030955,17.6823021608,17.6742258224,17.6661739479,17.6581464059, | |
676 | 17.6501430661,17.642163799,17.6342084763,17.6262769706,17.6183691553, | |
677 | 17.6104849049,17.6026240949,17.5947866017,17.5869723025,17.5791810756, | |
678 | 17.5714128001,17.5636673559,17.5559446241,17.5482444865,17.5405668256, | |
679 | 17.5329115251,17.5252784694,17.5176675436,17.510078634,17.5025116274, | |
680 | 17.4949664116,17.4874428751,17.4799409074,17.4724603986,17.4650012398, | |
681 | 17.4575633227,17.4501465398,17.4427507845,17.4353759509,17.4280219338, | |
682 | 17.4206886288,17.4133759324,17.4060837415,17.3988119541,17.3915604686, | |
683 | 17.3843291844,17.3771180014,17.3699268203,17.3627555424,17.35560407, | |
684 | 17.3484723057,17.341360153,17.3342675159,17.3271942994,17.3201404088, | |
685 | 17.3131057502,17.3060902305,17.2990937569,17.2921162377,17.2851575813, | |
686 | 17.2782176971,17.2712964951,17.2643938858,17.2575097803,17.2506440905, | |
687 | 17.2437967285,17.2369676075,17.2301566409,17.2233637429,17.2165888281, | |
688 | 17.2098318119,17.2030926101,17.1963711391,17.189667316,17.1829810581, | |
689 | 17.1763122836,17.1696609112,17.1630268599,17.1564100495,17.1498104003, | |
690 | 17.1432278329,17.1366622687,17.1301136294,17.1235818374,17.1170668156, | |
691 | 17.1105684871,17.1040867758,17.0976216062,17.0911729029,17.0847405913, | |
692 | 17.0783245972,17.0719248468,17.0655412669,17.0591737847,17.0528223279, | |
693 | 17.0464868247,17.0401672035,17.0338633936,17.0275753244,17.0213029259, | |
694 | 17.0150461285,17.008804863,17.0025790607,16.9963686535,16.9901735733, | |
695 | 16.9839937528,16.9778291251,16.9716796235,16.9655451818,16.9594257344, | |
696 | 16.9533212159,16.9472315614,16.9411567063,16.9350965866,16.9290511385, | |
697 | 16.9230202986,16.9170040041,16.9110021924,16.9050148013,16.8990417691, | |
698 | 16.8930830343,16.8871385358,16.8812082131,16.8752920059,16.8693898542, | |
699 | 16.8635016985,16.8576274795,16.8517671385,16.8459206169,16.8400878566, | |
700 | 16.8342687999,16.8284633893,16.8226715677,16.8168932783,16.8111284648, | |
701 | 16.8053770711,16.7996390414,16.7939143204,16.7882028529,16.7825045842, | |
702 | 16.7768194599,16.7711474258,16.7654884282,16.7598424137,16.7542093289, | |
703 | 16.7485891212,16.7429817379,16.7373871268,16.731805236,16.7262360139, | |
704 | 16.7206794092,16.7151353708,16.7096038479,16.7040847902,16.6985781476, | |
705 | 16.69308387,16.687601908,16.6821322124,16.676674734,16.6712294241, | |
706 | 16.6657962344,16.6603751165,16.6549660228,16.6495689054,16.6441837172, | |
707 | 16.6388104109,16.6334489397,16.6280992572,16.6227613169,16.617435073, | |
708 | 16.6121204796,16.6068174911,16.6015260624,16.5962461483,16.5909777043, | |
709 | 16.5857206857,16.5804750482,16.575240748,16.5700177411,16.5648059841, | |
710 | 16.5596054337,16.5544160468,16.5492377806,16.5440705926,16.5389144403, | |
711 | 16.5337692817,16.5286350749,16.5235117782,16.5183993502,16.5132977498, | |
712 | 16.5082069358,16.5031268677,16.4980575048,16.4929988068,16.4879507336, | |
713 | 16.4829132453,16.4778863024,16.4728698652,16.4678638946,16.4628683516, | |
714 | 16.4578831973,16.4529083931,16.4479439006,16.4429896815,16.438045698, | |
715 | 16.4331119121,16.4281882863,16.4232747832,16.4183713655,16.4134779963, | |
716 | 16.4085946388,16.4037212562,16.3988578123,16.3940042707,16.3891605954, | |
717 | 16.3843267505,16.3795027004,16.3746884096,16.3698838428,16.3650889649, | |
718 | 16.3603037408,16.3555281359,16.3507621156,16.3460056454,16.3412586913, | |
719 | 16.336521219,16.3317931948,16.3270745849,16.3223653558,16.3176654741, | |
720 | 16.3129749068,16.3082936207,16.303621583,16.298958761,16.2943051222, | |
721 | 16.2896606343,16.285025265,16.2803989824,16.2757817546,16.2711735499, | |
722 | 16.2665743366,16.2619840836,16.2574027594,16.2528303331,16.2482667737, | |
723 | 16.2437120505,16.2391661329,16.2346289903,16.2301005925,16.2255809094, | |
724 | 16.2210699108,16.2165675671,16.2120738484,16.2075887252,16.203112168, | |
725 | 16.1986441477,16.194184635,16.189733601,16.1852910168,16.1808568537, | |
726 | 16.1764310832,16.1720136768,16.1676046063,16.1632038434,16.1588113602, | |
727 | 16.1544271288,16.1500511214,16.1456833105,16.1413236685,16.1369721682, | |
728 | 16.1326287822,16.1282934836,16.1239662453,16.1196470405,16.1153358426, | |
729 | 16.1110326249,16.1067373611,16.1024500248,16.0981705898,16.0938990301, | |
730 | 16.0896353196,16.0853794327,16.0811313435,16.0768910266,16.0726584563, | |
731 | 16.0684336075,16.0642164549,16.0600069734,16.055805138,16.0516109239, | |
732 | 16.0474243062,16.0432452604,16.0390737619,16.0349097864,16.0307533095, | |
733 | 16.026604307,16.022462755,16.0183286294,16.0142019064,16.0100825622, | |
734 | 16.0059705733,16.0018659161,15.9977685672,15.9936785032,15.9895957011, | |
735 | 15.9855201377,15.98145179,15.9773906352,15.9733366504,15.9692898131, | |
736 | 15.9652501006,15.9612174904,15.9571919603,15.9531734879,15.949162051, | |
737 | 15.9451576277,15.941160196,15.9371697339,15.9331862197,15.9292096318, | |
738 | 15.9252399486,15.9212771486,15.9173212104,15.9133721128,15.9094298345, | |
739 | 15.9054943544,15.9015656517,15.8976437053,15.8937284944,15.8898199983, | |
740 | 15.8859181964,15.8820230682,15.8781345932,15.874252751,15.8703775214, | |
741 | 15.8665088841,15.8626468192,15.8587913065,15.8549423262,15.8510998585, | |
742 | 15.8472638835,15.8434343817,15.8396113335,15.8357947194,15.8319845199, | |
743 | 15.8281807158,15.8243832879,15.8205922169,15.8168074838,15.8130290697, | |
744 | 15.8092569556,15.8054911227,15.8017315522,15.7979782256,15.7942311241, | |
745 | 15.7904902294,15.7867555229,15.7830269864,15.7793046016,15.7755883502, | |
746 | 15.7718782142,15.7681741756,15.7644762164,15.7607843186,15.7570984646, | |
747 | 15.7534186365,15.7497448167,15.7460769876,15.7424151318,15.7387592317, | |
748 | 15.7351092701,15.7314652295,15.7278270929,15.7241948431,15.720568463, | |
749 | 15.7169479355,15.7133332439,15.7097243711,15.7061213004,15.7025240152, | |
750 | 15.6989324987,15.6953467343,15.6917667056,15.6881923961,15.6846237894, | |
751 | 15.6810608692,15.6775036193,15.6739520235,15.6704060657,15.6668657298, | |
752 | 15.6633309998,15.6598018599,15.6562782942,15.652760287,15.6492478224, | |
753 | 15.6457408848,15.6422394587,15.6387435286,15.6352530788,15.6317680941, | |
754 | 15.6282885592,15.6248144586,15.6213457773,15.6178825,15.6144246117, | |
755 | 15.6109720973,15.6075249419,15.6040831305,15.6006466483,15.5972154805, | |
756 | 15.5937896123,15.5903690291,15.5869537163,15.5835436592,15.5801388435, | |
757 | 15.5767392546,15.5733448782,15.5699556999,15.5665717054,15.5631928806, | |
758 | 15.5598192113,15.5564506833,15.5530872827,15.5497289954,15.5463758074, | |
759 | 15.543027705,15.5396846742,15.5363467014,15.5330137727,15.5296858744, | |
760 | 15.5263629931,15.5230451151,15.5197322269,15.5164243151,15.5131213662, | |
761 | 15.5098233669,15.5065303039,15.5032421639,15.4999589337,15.4966806003, | |
762 | 15.4934071504,15.4901385711,15.4868748494,15.4836159722,15.4803619267, | |
763 | 15.4771127001,15.4738682796,15.4706286523,15.4673938057,15.464163727, | |
764 | 15.4609384036,15.457717823,15.4545019727,15.4512908402,15.4480844132, | |
765 | 15.4448826791,15.4416856258,15.4384932409,15.4353055122,15.4321224276, | |
766 | 15.4289439748,15.4257701418,15.4226009166,15.4194362872,15.4162762415, | |
767 | 15.4131207678,15.409969854,15.4068234885,15.4036816594,15.400544355, | |
768 | 15.3974115636,15.3942832736,15.3911594733,15.3880401512,15.3849252958, | |
769 | 15.3818148956,15.3787089391,15.3756074151,15.3725103121,15.3694176188, | |
770 | 15.366329324,15.3632454164,15.3601658849,15.3570907183,15.3540199055, | |
771 | 15.3509534355,15.3478912972,15.3448334797,15.341779972,15.3387307632, | |
772 | 15.3356858425,15.3326451991,15.3296088221,15.3265767009,15.3235488246, | |
773 | 15.3205251828,15.3175057647,15.3144905597,15.3114795573,15.308472747, | |
774 | 15.3054701184,15.3024716609,15.2994773642,15.2964872179,15.2935012118, | |
775 | 15.2905193354,15.2875415787,15.2845679312,15.281598383,15.2786329238, | |
776 | 15.2756715436,15.2727142322,15.2697609796,15.2668117759,15.2638666111, | |
777 | 15.2609254752,15.2579883584,15.2550552508,15.2521261426,15.249201024, | |
778 | 15.2462798852,15.2433627166,15.2404495084,15.2375402511,15.2346349349, | |
779 | 15.2317335503,15.2288360878,15.2259425378,15.2230528908,15.2201671375, | |
780 | 15.2172852684,15.2144072741,15.2115331453,15.2086628726,15.2057964467, | |
781 | 15.2029338585,15.2000750986,15.197220158,15.1943690274,15.1915216977, | |
782 | 15.1886781598,15.1858384047,15.1830024233,15.1801702066,15.1773417457, | |
783 | 15.1745170316,15.1716960554,15.1688788083,15.1660652813,15.1632554657, | |
784 | 15.1604493526,15.1576469334,15.1548481993,15.1520531416,15.1492617516, | |
785 | 15.1464740206,15.1436899402,15.1409095017,15.1381326965,15.1353595161, | |
786 | 15.1325899521,15.1298239959,15.1270616392,15.1243028735,15.1215476904, | |
787 | 15.1187960816,15.1160480388,15.1133035537,15.1105626179,15.1078252234, | |
788 | 15.1050913618,15.1023610249,15.0996342047,15.0969108929,15.0941910815, | |
789 | 15.0914747624,15.0887619276,15.086052569,15.0833466786,15.0806442485, | |
790 | 15.0779452707,15.0752497372,15.0725576403,15.0698689721,15.0671837246, | |
791 | 15.0645018902,15.0618234609,15.0591484291,15.0564767869,15.0538085268, | |
792 | 15.051143641,15.0484821218,15.0458239617,15.0431691529,15.0405176879, | |
793 | 15.0378695592,15.0352247593,15.0325832805,15.0299451154,15.0273102566, | |
794 | 15.0246786966,15.022050428,15.0194254434,15.0168037355,15.0141852968, | |
795 | 15.0115701201,15.0089581981,15.0063495236,15.0037440891,15.0011418876, | |
796 | 14.9985429119,14.9959471547,14.9933546088,14.9907652673,14.9881791229, | |
797 | 14.9855961686,14.9830163972,14.9804398018,14.9778663754,14.9752961109, | |
798 | 14.9727290013,14.9701650398,14.9676042193,14.965046533,14.962491974, | |
799 | 14.9599405354,14.9573922104,14.9548469921,14.9523048738,14.9497658486, | |
800 | 14.9472299098,14.9446970507,14.9421672646,14.9396405447,14.9371168844, | |
801 | 14.9345962771,14.932078716,14.9295641947,14.9270527064,14.9245442447, | |
802 | 14.9220388029,14.9195363747,14.9170369533,14.9145405324,14.9120471055, | |
803 | 14.9095566662,14.9070692079,14.9045847244,14.9021032092,14.8996246559, | |
804 | 14.8971490582,14.8946764098,14.8922067044,14.8897399356,14.8872760973, | |
805 | 14.884815183,14.8823571867,14.8799021021,14.877449923,14.8750006433, | |
806 | 14.8725542567,14.8701107571,14.8676701385,14.8652323947,14.8627975196, | |
807 | 14.8603655072,14.8579363515,14.8555100463,14.8530865858,14.8506659638, | |
808 | 14.8482481745,14.8458332119,14.84342107,14.841011743,14.8386052248, | |
809 | 14.8362015098,14.8338005919,14.8314024654,14.8290071244,14.8266145631, | |
810 | 14.8242247756,14.8218377564,14.8194534995,14.8170719992,14.8146932498, | |
811 | 14.8123172457,14.809943981,14.8075734502,14.8052056476,14.8028405675, | |
812 | 14.8004782043,14.7981185525,14.7957616063,14.7934073604,14.791055809, | |
813 | 14.7887069467,14.7863607679,14.7840172671,14.7816764389,14.7793382777, | |
814 | 14.7770027781,14.7746699347,14.7723397421,14.7700121947,14.7676872873, | |
815 | 14.7653650145,14.7630453708,14.760728351,14.7584139497,14.7561021616, | |
816 | 14.7537929814,14.7514864038,14.7491824235,14.7468810354,14.7445822341, | |
817 | 14.7422860144,14.7399923711,14.7377012991,14.7354127931,14.733126848, | |
818 | 14.7308434587,14.72856262,14.7262843267,14.7240085739,14.7217353563, | |
819 | 14.719464669,14.7171965068,14.7149308648,14.7126677378,14.7104071209, | |
820 | 14.7081490091 | |
821 | } | |
822 | } | |
823 | }; |
0 | /* | |
1 | * Copyright (C) 2009, 2010 Hermann Meyer, James Warden, Andreas Degert | |
2 | * Copyright (C) 2011 Pete Shorthose | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License as published by | |
6 | * the Free Software Foundation; either version 2 of the License, or | |
7 | * (at your option) any later version. | |
8 | * | |
9 | * This program is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU General Public License | |
15 | * along with this program; if not, write to the Free Software | |
16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 | * --------------------------------------------------------------------------- | |
18 | * | |
19 | * This is the 6V6 tube table | |
20 | * This file is part of the Guitarix Audio Engine | |
21 | * | |
22 | * ---------------------------------------------------------------------------- | |
23 | */ | |
24 | ||
25 | table1d_imp<2001> tubetable_6V6[2] = | |
26 | { | |
27 | { | |
28 | // Ri = 68k | |
29 | -5,5,200,2001, { | |
30 | 239.919843376,239.854937108,239.789738489,239.724247218,239.658462996, | |
31 | 239.592385535,239.526014546,239.459349752,239.392390878,239.325137654, | |
32 | 239.257589818,239.189747112,239.121609284,239.053176087,238.984447281, | |
33 | 238.91542263,238.846101903,238.776484877,238.706571332,238.636361055, | |
34 | 238.565853836,238.495049475,238.423947772,238.352548536,238.280851579, | |
35 | 238.208856722,238.136563787,238.063972604,237.991083007,237.917894835, | |
36 | 237.844407935,237.770622155,237.696537352,237.622153385,237.54747012, | |
37 | 237.472487429,237.397205186,237.321623273,237.245741575,237.169559984, | |
38 | 237.093078396,237.016296711,236.939214835,236.86183268,236.78415016, | |
39 | 236.706167196,236.627883714,236.549299644,236.470414921,236.391229484, | |
40 | 236.311743279,236.231956253,236.151868362,236.071479563,235.99078982, | |
41 | 235.9097991,235.828507376,235.746914624,235.665020826,235.582825967, | |
42 | 235.500330038,235.417533033,235.334434951,235.251035796,235.167335575, | |
43 | 235.083334301,234.999031988,234.914428659,234.829524337,234.744319051, | |
44 | 234.658812834,234.573005723,234.48689776,234.400488988,234.313779459, | |
45 | 234.226769224,234.13945834,234.05184687,233.963934876,233.875722429, | |
46 | 233.7872096,233.698396466,233.609283107,233.519869606,233.430156051, | |
47 | 233.340142534,233.249829147,233.159215991,233.068303166,232.977090779, | |
48 | 232.885578937,232.793767753,232.701657342,232.609247824,232.516539321, | |
49 | 232.423531959,232.330225867,232.236621177,232.142718023,232.048516546, | |
50 | 231.954016887,231.85921919,231.764123605,231.66873028,231.573039372, | |
51 | 231.477051037,231.380765434,231.284182727,231.187303082,231.090126667, | |
52 | 230.992653654,230.894884217,230.796818534,230.698456783,230.599799147, | |
53 | 230.500845813,230.401596966,230.302052798,230.202213502,230.102079273, | |
54 | 230.001650309,229.900926811,229.799908981,229.698597024,229.596991149, | |
55 | 229.495091566,229.392898486,229.290412124,229.187632698,229.084560426, | |
56 | 228.98119553,228.877538233,228.77358876,228.66934734,228.564814202, | |
57 | 228.459989578,228.354873701,228.249466808,228.143769136,228.037780925, | |
58 | 227.931502416,227.824933853,227.718075481,227.610927548,227.503490301, | |
59 | 227.395763992,227.287748873,227.179445197,227.070853221,226.961973202, | |
60 | 226.852805398,226.743350071,226.633607482,226.523577894,226.413261574, | |
61 | 226.302658786,226.1917698,226.080594885,225.969134311,225.857388351, | |
62 | 225.745357278,225.633041366,225.520440893,225.407556135,225.294387371, | |
63 | 225.180934881,225.067198945,224.953179846,224.838877868,224.724293293, | |
64 | 224.609426409,224.494277501,224.378846857,224.263134765,224.147141516, | |
65 | 224.030867399,223.914312706,223.79747773,223.680362764,223.562968102, | |
66 | 223.445294038,223.32734087,223.209108892,223.090598404,222.971809703, | |
67 | 222.852743088,222.733398858,222.613777314,222.493878757,222.373703489, | |
68 | 222.253251812,222.132524028,222.011520442,221.890241357,221.768687078, | |
69 | 221.64685791,221.524754159,221.402376131,221.279724132,221.15679847, | |
70 | 221.033599452,220.910127386,220.78638258,220.662365343,220.538075983, | |
71 | 220.413514811,220.288682136,220.163578268,220.038203517,219.912558193, | |
72 | 219.786642608,219.660457072,219.534001897,219.407277394,219.280283874, | |
73 | 219.15302165,219.025491033,218.897692335,218.769625868,218.641291945, | |
74 | 218.512690877,218.383822977,218.254688558,218.125287932,217.995621411, | |
75 | 217.865689308,217.735491935,217.605029605,217.47430263,217.343311321, | |
76 | 217.212055993,217.080536955,216.948754521,216.816709003,216.684400712, | |
77 | 216.551829959,216.418997057,216.285902317,216.152546049,216.018928564, | |
78 | 215.885050174,215.750911189,215.616511919,215.481852673,215.346933762, | |
79 | 215.211755495,215.076318182,214.94062213,214.804667649,214.668455047, | |
80 | 214.531984632,214.395256711,214.258271591,214.121029579,213.983530982, | |
81 | 213.845776106,213.707765256,213.569498737,213.430976855,213.292199913, | |
82 | 213.153168215,213.013882065,212.874341767,212.734547621,212.594499931, | |
83 | 212.454198998,212.313645122,212.172838605,212.031779746,211.890468845, | |
84 | 211.748906201,211.607092111,211.465026874,211.322710786,211.180144145, | |
85 | 211.037327247,210.894260386,210.750943858,210.607377956,210.463562975, | |
86 | 210.319499207,210.175186945,210.03062648,209.885818102,209.740762104, | |
87 | 209.595458773,209.449908399,209.30411127,209.158067675,209.011777899, | |
88 | 208.865242228,208.718460949,208.571434346,208.424162703,208.276646303, | |
89 | 208.128885428,207.980880361,207.832631382,207.684138772,207.53540281, | |
90 | 207.386423774,207.237201943,207.087737593,206.938031001,206.788082442, | |
91 | 206.637892191,206.487460522,206.336787708,206.185874021,206.034719731, | |
92 | 205.883325111,205.73169043,205.579815955,205.427701956,205.275348699, | |
93 | 205.122756451,204.969925477,204.816856041,204.663548407,204.510002838, | |
94 | 204.356219595,204.20219894,204.047941132,203.893446431,203.738715095, | |
95 | 203.583747381,203.428543545,203.273103843,203.117428529,202.961517858, | |
96 | 202.80537208,202.648991449,202.492376215,202.335526628,202.178442936, | |
97 | 202.021125388,201.86357423,201.705789708,201.547772068,201.389521553, | |
98 | 201.231038406,201.072322869,200.913375184,200.75419559,200.594784326, | |
99 | 200.435141631,200.275267741,200.115162893,199.954827322,199.794261261, | |
100 | 199.633464944,199.472438602,199.311182467,199.149696769,198.987981736, | |
101 | 198.826037597,198.663864578,198.501462905,198.338832802,198.175974495, | |
102 | 198.012888205,197.849574154,197.686032562,197.52226365,197.358267635, | |
103 | 197.194044735,197.029595166,196.864919145,196.700016884,196.534888597, | |
104 | 196.369534496,196.203954793,196.038149697,195.872119417,195.70586416, | |
105 | 195.539384134,195.372679544,195.205750595,195.03859749,194.871220431, | |
106 | 194.703619619,194.535795255,194.367747539,194.199476666,194.030982836, | |
107 | 193.862266242,193.69332708,193.524165544,193.354781825,193.185176116, | |
108 | 193.015348605,192.845299483,192.675028937,192.504537154,192.333824319, | |
109 | 192.162890617,191.991736232,191.820361346,191.648766139,191.476950793, | |
110 | 191.304915485,191.132660394,190.960185696,190.787491567,190.61457818, | |
111 | 190.44144571,190.268094328,190.094524205,189.92073551,189.746728413, | |
112 | 189.572503081,189.398059679,189.223398374,189.048519329,188.873422706, | |
113 | 188.698108668,188.522577375,188.346828986,188.17086366,187.994681553, | |
114 | 187.818282821,187.641667619,187.4648361,187.287788416,187.110524719, | |
115 | 186.933045159,186.755349884,186.577439042,186.399312779,186.220971241, | |
116 | 186.042414571,185.863642913,185.684656407,185.505455195,185.326039416, | |
117 | 185.146409208,184.966564707,184.78650605,184.606233371,184.425746802, | |
118 | 184.245046478,184.064132527,183.88300508,183.701664266,183.520110212, | |
119 | 183.338343043,183.156362885,182.974169862,182.791764095,182.609145707, | |
120 | 182.426314816,182.243271543,182.060016004,181.876548316,181.692868595, | |
121 | 181.508976953,181.324873504,181.14055836,180.95603163,180.771293424, | |
122 | 180.58634385,180.401183013,180.215811021,180.030227975,179.844433981, | |
123 | 179.658429138,179.472213549,179.285787311,179.099150523,178.912303282, | |
124 | 178.725245682,178.537977819,178.350499785,178.162811672,177.974913571, | |
125 | 177.78680557,177.598487758,177.409960222,177.221223046,177.032276316, | |
126 | 176.843120113,176.653754521,176.464179619,176.274395486,176.084402201, | |
127 | 175.894199839,175.703788477,175.513168189,175.322339047,175.131301123, | |
128 | 174.940054487,174.748599208,174.556935354,174.365062992,174.172982186, | |
129 | 173.980693001,173.788195499,173.595489741,173.402575787,173.209453697, | |
130 | 173.016123528,172.822585335,172.628839174,172.434885098,172.240723159, | |
131 | 172.046353409,171.851775896,171.65699067,171.461997778,171.266797264, | |
132 | 171.071389174,170.87577355,170.679950435,170.483919869,170.28768189, | |
133 | 170.091236537,169.894583847,169.697723853,169.500656591,169.303382093, | |
134 | 169.105900389,168.90821151,168.710315484,168.512212338,168.313902098, | |
135 | 168.115384789,167.916660433,167.717729053,167.518590668,167.319245298, | |
136 | 167.11969296,166.919933671,166.719967446,166.519794298,166.31941424, | |
137 | 166.118827282,165.918033434,165.717032704,165.515825098,165.314410622, | |
138 | 165.112789281,164.910961076,164.708926008,164.506684078,164.304235284, | |
139 | 164.101579623,163.898717091,163.695647681,163.492371386,163.288888199, | |
140 | 163.085198108,162.881301103,162.67719717,162.472886295,162.268368463, | |
141 | 162.063643656,161.858711857,161.653573044,161.448227196,161.242674291, | |
142 | 161.036914304,160.83094721,160.62477298,160.418391588,160.211803002, | |
143 | 160.005007191,159.798004121,159.590793759,159.383376069,159.175751012, | |
144 | 158.967918551,158.759878644,158.551631251,158.343176326,158.134513827, | |
145 | 157.925643705,157.716565915,157.507280405,157.297787126,157.088086025, | |
146 | 156.878177048,156.66806014,156.457735244,156.247202301,156.036461253, | |
147 | 155.825512036,155.614354589,155.402988847,155.191414744,154.979632212, | |
148 | 154.767641183,154.555441585,154.343033346,154.130416393,153.91759065, | |
149 | 153.704556041,153.491312486,153.277859907,153.064198221,152.850327345, | |
150 | 152.636247195,152.421957684,152.207458725,151.992750227,151.7778321, | |
151 | 151.562704251,151.347366586,151.131819009,150.916061423,150.700093728, | |
152 | 150.483915823,150.267527608,150.050928976,149.834119824,149.617100043, | |
153 | 149.399869526,149.182428161,148.964775837,148.746912439,148.528837853, | |
154 | 148.310551961,148.092054646,147.873345786,147.65442526,147.435292944, | |
155 | 147.215948713,146.99639244,146.776623997,146.556643254,146.336450078, | |
156 | 146.116044336,145.895425893,145.674594613,145.453550356,145.232292983, | |
157 | 145.010822352,144.789138319,144.567240739,144.345129466,144.122804351, | |
158 | 143.900265243,143.677511992,143.454544443,143.231362442,143.007965832, | |
159 | 142.784354453,142.560528148,142.336486752,142.112230104,141.887758038, | |
160 | 141.663070388,141.438166985,141.213047659,140.987712238,140.762160551, | |
161 | 140.536392421,140.310407672,140.084206127,139.857787605,139.631151926, | |
162 | 139.404298906,139.177228362,138.949940108,138.722433955,138.494709716, | |
163 | 138.266767199,138.038606213,137.810226563,137.581628056,137.352810494, | |
164 | 137.12377368,136.894517415,136.665041496,136.435345723,136.205429892, | |
165 | 135.975293798,135.744937235,135.514359995,135.283561869,135.052542648, | |
166 | 134.82130212,134.589840073,134.358156292,134.126250564,133.894122672, | |
167 | 133.661772399,133.429199528,133.19640384,132.963385115,132.730143131, | |
168 | 132.496677668,132.262988503,132.029075413,131.794938175,131.560576562, | |
169 | 131.325990352,131.091179317,130.856143233,130.620881872,130.385395008, | |
170 | 130.149682414,129.913743863,129.677579128,129.441187981,129.204570195, | |
171 | 128.967725544,128.730653801,128.493354739,128.255828133,128.018073758, | |
172 | 127.780091388,127.541880801,127.303441774,127.064774085,126.825877513, | |
173 | 126.58675184,126.347396848,126.107812322,125.867998046,125.627953809, | |
174 | 125.387679402,125.147174616,124.906439246,124.665473091,124.424275951, | |
175 | 124.18284763,123.941187934,123.699296676,123.457173669,123.214818733, | |
176 | 122.97223169,122.729412369,122.486360602,122.243076228,121.99955909, | |
177 | 121.755809038,121.511825927,121.26760962,121.023159987,120.778476904, | |
178 | 120.533560256,120.288409935,120.043025842,119.797407887,119.551555992, | |
179 | 119.305470084,119.059150105,118.812596006,118.565807749,118.318785311, | |
180 | 118.071528678,117.824037853,117.57631285,117.328353699,117.080160446, | |
181 | 116.831733152,116.583071896,116.334176775,116.085047901,115.835685411, | |
182 | 115.586089457,115.336260215,115.086197883,114.835902681,114.585374855, | |
183 | 114.334614673,114.083622432,113.832398456,113.580943098,113.329256739, | |
184 | 113.077339793,112.825192708,112.572815961,112.320210071,112.067375588, | |
185 | 111.814313105,111.561023251,111.307506702,111.053764172,110.799796425, | |
186 | 110.545604269,110.291188564,110.036550219,109.781690197,109.526609517, | |
187 | 109.271309257,109.015790552,108.760054603,108.504102673,108.247936094, | |
188 | 107.99155627,107.734964676,107.478162863,107.221152462,106.963935187, | |
189 | 106.706512834,106.448887292,106.191060538,105.933034646,105.674811791, | |
190 | 105.416394248,105.157784399,104.89898474,104.639997879,104.380826542, | |
191 | 104.121473582,103.861941977,103.602234839,103.342355417,103.082307103, | |
192 | 102.822093435,102.561718104,102.30118496,102.040498015,101.779661449, | |
193 | 101.518679619,101.25755706,100.996298495,100.734908838,100.473393204, | |
194 | 100.211756913,99.9500054931,99.6881446953,99.4261804934,99.1641190935, | |
195 | 98.9019669409,98.6397307266,98.3774173951,98.115034151,97.8525884667, | |
196 | 97.5900880897,97.32754105,97.0649556675,96.8023405592,96.5397046474, | |
197 | 96.2770571663,96.01440767,95.7517660395,95.4891424902,95.226547579, | |
198 | 94.9639922112,94.7014876479,94.4390455122,94.1766777957,93.9143968652, | |
199 | 93.6522154685,93.39014674,93.1282042061,92.8664017902,92.6047538171, | |
200 | 92.3432750174,92.0819805307,91.820885909,91.5600071186,91.2993605427, | |
201 | 91.0389629817,90.7788316539,90.5189841954,90.2594386585,90.0002135096, | |
202 | 89.7413276266,89.4828002945,89.2246512005,88.9669004284,88.709568451, | |
203 | 88.4526761221,88.196244667,87.940295672,87.6848510727,87.4299331406, | |
204 | 87.1755644693,86.9217679583,86.6685667964,86.4159844438,86.1640446119, | |
205 | 85.9127712432,85.6621884888,85.4123206855,85.163192331,84.914828058, | |
206 | 84.6672526082,84.4204908033,84.1745675171,83.9295076449,83.6853360732, | |
207 | 83.4420776478,83.1997571419,82.9583992232,82.7180284205,82.4786690901, | |
208 | 82.2403453816,82.0030812043,81.7669001925,81.5318256718,81.2978806254, | |
209 | 81.0650876604,80.8334689751,80.6030463265,80.373840999,80.1458737738, | |
210 | 79.9191648987,79.6937340602,79.469600356,79.2467822688,79.025297642, | |
211 | 78.8051636567,78.5863968102,78.3690128963,78.1530269874,77.9384534185, | |
212 | 77.7253057722,77.5135968673,77.3033387471,77.0945426718,76.8872191109, | |
213 | 76.6813777391,76.4770274327,76.274176269,76.0728315269,75.8729996892, | |
214 | 75.674686447,75.4778967059,75.2826345928,75.0889034655,74.896705923, | |
215 | 74.7060438173,74.5169182664,74.3293296689,74.1432777192,73.958761424, | |
216 | 73.7757791196,73.5943284902,73.4144065864,73.2360098455,73.0591341108, | |
217 | 72.8837746527,72.7099261894,72.5375829084,72.3667384877,72.1973861174, | |
218 | 72.0295185219,71.8631279807,71.698206351,71.5347450886,71.3727352695, | |
219 | 71.2121676108,71.0530324916,70.895319974,70.7390198224,70.5841215239, | |
220 | 70.4306143075,70.2784871629,70.127728859,69.9783279618,69.8302728517, | |
221 | 69.6835517406,69.5381526878,69.3940636164,69.251272328,69.1097665175, | |
222 | 68.9695337873,68.8305616607,68.692837595,68.556348994,68.4210832195, | |
223 | 68.2870276031,68.1541694565,68.0224960825,67.8919947839,67.7626528733, | |
224 | 67.6344576819,67.5073965675,67.3814569225,67.2566261813,67.132891827, | |
225 | 67.0102413984,66.8886624955,66.7681427857,66.6486700089,66.5302319826, | |
226 | 66.4128166063,66.2964118658,66.1810058376,66.0665866919,65.9531426963, | |
227 | 65.8406622188,65.7291337307,65.6185458088,65.5088871381,65.4001465135, | |
228 | 65.2923128418,65.1853751436,65.0793225539,64.9741443241,64.869829823, | |
229 | 64.7663685372,64.6637500722,64.5619641527,64.4610006235,64.3608494493, | |
230 | 64.261500715,64.1629446261,64.0651715079,63.9681718061,63.8719360861, | |
231 | 63.776455033,63.6817194506,63.5877202614,63.4944485058,63.4018953417, | |
232 | 63.3100520431,63.2189100002,63.1284607182,63.038695816,62.9496070262, | |
233 | 62.8611861931,62.7734252727,62.6863163309,62.5998515428,62.5140231916, | |
234 | 62.4288236674,62.344245466,62.2602811881,62.1769235376,62.094165321, | |
235 | 62.0119994454,61.9304189184,61.8494168459,61.7689864313,61.6891209743, | |
236 | 61.6098138696,61.5310586057,61.4528487634,61.3751780152,61.2980401233, | |
237 | 61.2214289391,61.1453384013,61.0697625353,60.9946954515,60.9201313444, | |
238 | 60.8460644913,60.772489251,60.699400063,60.6267914458,60.554657996, | |
239 | 60.4829943874,60.4117953693,60.3410557658,60.2707704748,60.2009344661, | |
240 | 60.1315427815,60.0625905326,59.9940729003,59.9259851339,59.8583225495, | |
241 | 59.7910805294,59.724254521,59.6578400356,59.5918326476,59.5262279936, | |
242 | 59.4610217712,59.3962097382,59.3317877115,59.2677515663,59.2040972355, | |
243 | 59.140820708,59.0779180285,59.0153852966,58.9532186654,58.8914143412, | |
244 | 58.8299685825,58.768877699,58.708138051,58.6477460488,58.5876981511, | |
245 | 58.5279908653,58.4686207459,58.4095843943,58.3508784577,58.2924996285, | |
246 | 58.2344446436,58.1767102838,58.119293373,58.0621907773,58.005399405, | |
247 | 57.948916205,57.892738167,57.8368623204,57.7812857339,57.7260055146, | |
248 | 57.6710188078,57.616322796,57.5619146987,57.5077917713,57.4539513053, | |
249 | 57.4003906269,57.3471070972,57.2940981111,57.241361097,57.1888935166, | |
250 | 57.1366928636,57.084756664,57.0330824751,56.9816678854,56.9305105136, | |
251 | 56.8796080089,56.8289580495,56.7785583433,56.7284066266,56.6785006639, | |
252 | 56.6288382478,56.5794171979,56.5302353612,56.4812906111,56.432580847, | |
253 | 56.3841039945,56.3358580041,56.2878408518,56.2400505378,56.1924850868, | |
254 | 56.1451425476,56.0980209921,56.0511185157,56.0044332366,55.9579632956, | |
255 | 55.9117068555,55.8656621011,55.8198272387,55.7742004958,55.7287801209, | |
256 | 55.6835643831,55.6385515716,55.5937399958,55.5491279849,55.5047138872, | |
257 | 55.4604960706,55.4164729216,55.3726428452,55.3290042651,55.2855556227, | |
258 | 55.2422953775,55.1992220065,55.1563340038,55.1136298808,55.0711081657, | |
259 | 55.0287674032,54.9866061544,54.9446229966,54.9028165229,54.8611853421, | |
260 | 54.8197280785,54.7784433715,54.7373298757,54.6963862605,54.6556112098, | |
261 | 54.6150034221,54.5745616098,54.5342844997,54.4941708323,54.4542193616, | |
262 | 54.4144288551,54.3747980937,54.3353258713,54.2960109948,54.2568522837, | |
263 | 54.2178485702,54.1789986988,54.1403015262,54.1017559213,54.0633607649, | |
264 | 54.0251149495,53.9870173791,53.9490669694,53.9112626471,53.8736033501, | |
265 | 53.8360880275,53.7987156391,53.7614851554,53.7243955574,53.6874458368, | |
266 | 53.6506349953,53.6139620448,53.5774260075,53.5410259151,53.5047608095, | |
267 | 53.4686297419,53.4326317732,53.3967659736,53.3610314227,53.3254272092, | |
268 | 53.2899524309,53.2546061945,53.2193876154,53.184295818,53.149329935, | |
269 | 53.1144891078,53.079772486,53.0451792278,53.0107084993,52.9763594747, | |
270 | 52.9421313363,52.9080232742,52.8740344864,52.8401641783,52.8064115633, | |
271 | 52.772775862,52.7392563025,52.7058521203,52.672562558,52.6393868653, | |
272 | 52.6063242993,52.5733741236,52.5405356091,52.5078080332,52.4751906802, | |
273 | 52.442682841,52.4102838131,52.3779929004,52.3458094133,52.3137326685, | |
274 | 52.281761989,52.2498967038,52.2181361484,52.1864796639,52.1549265977, | |
275 | 52.123476303,52.0921281387,52.0608814697,52.0297356664,51.998690105, | |
276 | 51.9677441672,51.9368972401,51.9061487165,51.8754979942,51.8449444767, | |
277 | 51.8144875727,51.7841266957,51.7538612649,51.7236907043,51.6936144428, | |
278 | 51.6636319146,51.6337425585,51.6039458184,51.5742411427,51.544627985, | |
279 | 51.5151058032,51.4856740601,51.4563322228,51.4270797633,51.3979161578, | |
280 | 51.3688408872,51.3398534365,51.3109532954,51.2821399576,51.2534129212, | |
281 | 51.2247716884,51.1962157658,51.1677446638,51.1393578971,51.1110549843, | |
282 | 51.0828354481,51.0546988151,51.0266446158,50.9986723845,50.9707816593, | |
283 | 50.9429719823,50.9152428991,50.8875939591,50.8600247153,50.8325347244, | |
284 | 50.8051235466,50.7777907458,50.7505358892,50.7233585476,50.6962582952, | |
285 | 50.6692347097,50.6422873719,50.6154158663,50.5886197804,50.5618987051, | |
286 | 50.5352522345,50.5086799659,50.4821814997,50.4557564396,50.4294043921, | |
287 | 50.4031249672,50.3769177775,50.3507824389,50.3247185701,50.2987257929, | |
288 | 50.2728037319,50.2469520147,50.2211702716,50.1954581358,50.1698152434, | |
289 | 50.1442412332,50.1187357466,50.0932984281,50.0679289244,50.0426268854, | |
290 | 50.0173919631,49.9922238125,49.967122091,49.9420864588,49.9171165783, | |
291 | 49.8922121146,49.8673727353,49.8425981105,49.8178879127,49.7932418167, | |
292 | 49.7686594998,49.7441406417,49.7196849244,49.6952920323,49.670961652, | |
293 | 49.6466934725,49.622487185,49.5983424828,49.5742590617,49.5502366195, | |
294 | 49.5262748563,49.5023734741,49.4785321775,49.4547506727,49.4310286684, | |
295 | 49.4073658752,49.3837620058,49.3602167748,49.336729899,49.3133010971, | |
296 | 49.28993009,49.2666166002,49.2433603524,49.2201610732,49.197018491, | |
297 | 49.1739323363,49.1509023413,49.12792824,49.1050097686,49.0821466646, | |
298 | 49.0593386678,49.0365855194,49.0138869628,48.9912427428,48.968652606, | |
299 | 48.9461163009,48.9236335776,48.901204188,48.8788278855,48.8565044252, | |
300 | 48.8342335641,48.8120150606,48.7898486748,48.7677341684,48.7456713047, | |
301 | 48.7236598486,48.7016995666,48.6797902266,48.6579315983,48.6361234527, | |
302 | 48.6143655624,48.5926577015,48.5709996457,48.5493911719,48.5278320588, | |
303 | 48.5063220864,48.484861036,48.4634486905,48.4420848342,48.4207692528, | |
304 | 48.3995017333,48.3782820642,48.3571100353,48.3359854377,48.314908064, | |
305 | 48.2938777081,48.272894165,48.2519572313,48.2310667048,48.2102223845, | |
306 | 48.1894240707,48.1686715652,48.1479646707,48.1273031914,48.1066869326, | |
307 | 48.0861157009,48.0655893041,48.0451075513,48.0246702526,48.0042772194, | |
308 | 47.9839282643,47.963623201,47.9433618444,47.9231440105,47.9029695165, | |
309 | 47.8828381808,47.8627498227,47.8427042628,47.8227013227,47.8027408252, | |
310 | 47.7828225941,47.7629464542,47.7431122316,47.7233197533,47.7035688473, | |
311 | 47.6838593428,47.6641910699,47.6445638598,47.6249775446,47.6054319576, | |
312 | 47.5859269331,47.5664623061,47.5470379129,47.5276535906,47.5083091774, | |
313 | 47.4890045124,47.4697394356,47.450513788,47.4313274116,47.4121801493, | |
314 | 47.3930718448,47.3740023428,47.3549714891,47.3359791301,47.3170251133, | |
315 | 47.2981092869,47.2792315003,47.2603916035,47.2415894475,47.2228248841, | |
316 | 47.2040977659,47.1854079466,47.1667552804,47.1481396226,47.1295608293, | |
317 | 47.1110187573,47.0925132644,47.0740442089,47.0556114503,47.0372148487, | |
318 | 47.0188542649,47.0005295607,46.9822405986,46.9639872418,46.9457693543, | |
319 | 46.9275868009,46.9094394473,46.8913271597,46.8732498052,46.8552072516, | |
320 | 46.8371993674,46.8192260219,46.8012870852,46.7833824279,46.7655119216, | |
321 | 46.7476754383,46.7298728509,46.712104033,46.6943688588,46.6766672034, | |
322 | 46.6589989423,46.6413639518,46.6237621091,46.6061932917,46.5886573779, | |
323 | 46.5711542468,46.5536837781,46.5362458519,46.5188403494,46.501467152, | |
324 | 46.4841261421,46.4668172024,46.4495402166,46.4322950687,46.4150816434, | |
325 | 46.3978998262,46.3807495031,46.3636305605,46.3465428857,46.3294863665, | |
326 | 46.3124608912,46.2954663489,46.2785026291,46.261569622,46.2446672182, | |
327 | 46.2277953091,46.2109537865,46.1941425428,46.1773614712,46.1606104651, | |
328 | 46.1438894186,46.1271982264,46.1105367837,46.0939049864,46.0773027305, | |
329 | 46.0607299131,46.0441864315,46.0276721836,46.0111870677,45.9947309829, | |
330 | 45.9783038286,45.9619055047,45.9455359118,45.9291949509,45.9128825234, | |
331 | 45.8965985314,45.8803428774,45.8641154643,45.8479161957,45.8317449755, | |
332 | 45.8156017082,45.7994862988,45.7833986526,45.7673386755,45.751306274, | |
333 | 45.7353013548,45.7193238253,45.7033735933,45.6874505668,45.6715546547, | |
334 | 45.6556857661,45.6398438106,45.6240286981,45.6082403393,45.5924786449, | |
335 | 45.5767435264,45.5610348956,45.5453526646,45.5296967462,45.5140670535, | |
336 | 45.4984635,45.4828859995,45.4673344665,45.4518088158,45.4363089625, | |
337 | 45.4208348222,45.4053863109,45.3899633451,45.3745658416,45.3591937176, | |
338 | 45.3438468908,45.328525279,45.3132288009,45.297957375,45.2827109208, | |
339 | 45.2674893576,45.2522926056,45.2371205849,45.2219732164,45.2068504212, | |
340 | 45.1917521207,45.1766782368,45.1616286916,45.1466034078,45.1316023084, | |
341 | 45.1166253165,45.101672356,45.0867433507,45.0718382252,45.0569569041, | |
342 | 45.0420993126,45.027265376,45.0124550203,44.9976681714,44.9829047559, | |
343 | 44.9681647005,44.9534479326,44.9387543794,44.924083969,44.9094366294, | |
344 | 44.8948122891,44.8802108769,44.865632322,44.8510765539,44.8365435024, | |
345 | 44.8220330976,44.8075452698,44.7930799499,44.778637069,44.7642165583, | |
346 | 44.7498183497,44.735442375,44.7210885667,44.7067568573,44.6924471798, | |
347 | 44.6781594673,44.6638936534,44.6496496719,44.6354274569,44.6212269429, | |
348 | 44.6070480645,44.5928907568,44.578754955,44.5646405947,44.5505476118, | |
349 | 44.5364759423,44.5224255228,44.50839629,44.4943881808,44.4804011325, | |
350 | 44.4664350827,44.4524899692,44.43856573,44.4246623036,44.4107796285, | |
351 | 44.3969176438,44.3830762885,44.369255502,44.3554552242,44.341675395, | |
352 | 44.3279159545,44.3141768433,44.3004580021,44.2867593719,44.2730808939, | |
353 | 44.2594225098,44.2457841612,44.2321657901,44.2185673388,44.2049887499, | |
354 | 44.191429966,44.1778909302,44.1643715857,44.150871876,44.1373917448, | |
355 | 44.1239311362,44.1104899942,44.0970682634,44.0836658884,44.0702828141, | |
356 | 44.0569189857,44.0435743485,44.0302488482,44.0169424307,44.0036550418, | |
357 | 43.990386628,43.9771371358,43.9639065119,43.9506947033,43.9375016571, | |
358 | 43.9243273208,43.911171642,43.8980345685,43.8849160484,43.8718160299, | |
359 | 43.8587344616,43.8456712922,43.8326264705,43.8195999457,43.8065916671, | |
360 | 43.7936015843,43.780629647,43.7676758052,43.7547400091,43.7418222089, | |
361 | 43.7289223553,43.7160403991,43.7031762912,43.6903299827,43.6775014252, | |
362 | 43.66469057,43.6518973691,43.6391217743,43.6263637378,43.613623212, | |
363 | 43.6009001494,43.5881945027,43.5755062248,43.5628352689,43.5501815883, | |
364 | 43.5375451365,43.524925867,43.5123237339,43.499738691,43.4871706927, | |
365 | 43.4746196934,43.4620856476,43.4495685102,43.437068236,43.4245847802, | |
366 | 43.4121180981,43.3996681453,43.3872348772,43.3748182499,43.3624182192, | |
367 | 43.3500347414,43.3376677729,43.32531727,43.3129831897,43.3006654886, | |
368 | 43.2883641239,43.2760790527,43.2638102324,43.2515576206,43.2393211749, | |
369 | 43.2271008533,43.2148966136,43.2027084142,43.1905362133,43.1783799696, | |
370 | 43.1662396416,43.1541151882,43.1420065683,43.1299137412,43.1178366661, | |
371 | 43.1057753025,43.0937296101,43.0816995485,43.0696850777,43.0576861577, | |
372 | 43.0457027489,43.0337348116,43.0217823063,43.0098451938,42.9979234347, | |
373 | 42.9860169902,42.9741258213,42.9622498893,42.9503891557,42.938543582, | |
374 | 42.9267131299,42.9148977612,42.9030974381,42.8913121225,42.8795417768, | |
375 | 42.8677863635,42.856045845,42.8443201841,42.8326093436,42.8209132865, | |
376 | 42.809231976,42.7975653752,42.7859134476,42.7742761567,42.7626534662, | |
377 | 42.7510453398,42.7394517416,42.7278726355,42.7163079857,42.7047577566, | |
378 | 42.6932219127,42.6817004185,42.6701932388,42.6587003383,42.6472216822, | |
379 | 42.6357572354,42.6243069633,42.6128708311,42.6014488044,42.5900408488, | |
380 | 42.57864693,42.5672670139,42.5559010665,42.5445490538,42.5332109421, | |
381 | 42.5218866978,42.5105762873,42.4992796772,42.4879968343,42.4767277253, | |
382 | 42.4654723173,42.4542305773,42.4430024724,42.4317879701,42.4205870377, | |
383 | 42.4093996427,42.3982257529,42.3870653359,42.3759183598,42.3647847924, | |
384 | 42.3536646019,42.3425577565,42.3314642245,42.3203839745,42.309316975, | |
385 | 42.2982631946,42.2872226021,42.2761951665,42.2651808567,42.2541796418, | |
386 | 42.2431914911,42.2322163739,42.2212542596,42.2103051178,42.1993689181, | |
387 | 42.1884456302,42.1775352242,42.1666376698,42.1557529372,42.1448809965, | |
388 | 42.1340218181,42.1231753722,42.1123416295,42.1015205604,42.0907121357, | |
389 | 42.0799163261,42.0691331025,42.058362436,42.0476042976,42.0368586585, | |
390 | 42.0261254899,42.0154047634,42.0046964503,41.9940005222,41.9833169508, | |
391 | 41.972645708,41.9619867655,41.9513400953,41.9407056694,41.9300834602, | |
392 | 41.9194734397,41.9088755803,41.8982898545,41.8877162349,41.8771546939, | |
393 | 41.8666052044,41.8560677391,41.845542271,41.8350287731,41.8245272183, | |
394 | 41.81403758,41.8035598313,41.7930939457,41.7826398964,41.7721976572, | |
395 | 41.7617672016,41.7513485032,41.740941536,41.7305462738,41.7201626905, | |
396 | 41.7097907601,41.699430457,41.6890817552,41.6787446291,41.668419053, | |
397 | 41.6581050015,41.6478024491,41.6375113705,41.6272317404,41.6169635335, | |
398 | 41.6067067249,41.5964612895,41.5862272023,41.5760044385,41.5657929734, | |
399 | 41.5555927821,41.5454038401,41.535226123,41.5250596061,41.5149042652, | |
400 | 41.5047600759,41.4946270141,41.4845050556,41.4743941762,41.4642943522, | |
401 | 41.4542055595,41.4441277743,41.4340609729,41.4240051315,41.4139602267, | |
402 | 41.4039262349,41.3939031326,41.3838908964,41.3738895031,41.3638989294, | |
403 | 41.3539191523,41.3439501485,41.3339918952,41.3240443693,41.3141075481, | |
404 | 41.3041814088,41.2942659286,41.2843610849,41.2744668552,41.2645832169, | |
405 | 41.2547101477,41.2448476251,41.234995627,41.225154131,41.2153231151, | |
406 | 41.2055025572,41.1956924352,41.1858927273,41.1761034116,41.1663244663, | |
407 | 41.1565558696,41.1467976,41.1370496357,41.1273119554,41.1175845375, | |
408 | 41.1078673606,41.0981604035,41.0884636448,41.0787770634,41.0691006382, | |
409 | 41.059434348,41.049778172,41.0401320891,41.0304960786,41.0208701195, | |
410 | 41.0112541912,41.0016482731,40.9920523444,40.9824663846,40.9728903734, | |
411 | 40.9633242901,40.9537681146,40.9442218265,40.9346854055,40.9251588316, | |
412 | 40.9156420845,40.9061351443,40.8966379909,40.8871506045,40.8776729651, | |
413 | 40.868205053,40.8587468484,40.8492983317,40.8398594831,40.8304302833, | |
414 | 40.8210107125,40.8116007515,40.8022003807,40.792809581,40.7834283329, | |
415 | 40.7740566174,40.7646944152,40.7553417072,40.7459984744,40.7366646979, | |
416 | 40.7273403586,40.7180254378,40.7087199165,40.6994237762,40.6901369979, | |
417 | 40.6808595632,40.6715914533,40.6623326499,40.6530831343,40.6438428882, | |
418 | 40.6346118932,40.625390131,40.6161775833,40.6069742319,40.5977800587, | |
419 | 40.5885950455,40.5794191744,40.5702524272,40.5610947862,40.5519462333, | |
420 | 40.5428067507,40.5336763208,40.5245549257,40.5154425477,40.5063391692, | |
421 | 40.4972447727,40.4881593407,40.4790828555,40.4700152999,40.4609566565, | |
422 | 40.4519069079,40.4428660369,40.4338340262,40.4248108587,40.4157965172, | |
423 | 40.4067909847,40.3977942441,40.3888062786,40.3798270711,40.3708566047, | |
424 | 40.3618948628,40.3529418284,40.3439974848,40.3350618154,40.3261348035, | |
425 | 40.3172164326,40.3083066861,40.2994055475,40.2905130003,40.2816290283, | |
426 | 40.2727536149,40.2638867439,40.2550283991,40.2461785643,40.2373372232, | |
427 | 40.2285043598,40.219679958,40.2108640017,40.202056475,40.1932573619, | |
428 | 40.1844666466,40.1756843131,40.1669103458,40.1581447288,40.1493874464, | |
429 | 40.1406384829,40.1318978228,40.1231654504,40.1144413503,40.1057255068, | |
430 | 40.0970179046 | |
431 | } | |
432 | }, | |
433 | { | |
434 | // Ri = 250k | |
435 | -5,5,200,2001, { | |
436 | 239.919843376,239.854937108,239.789738489,239.724247218,239.658462996, | |
437 | 239.592385535,239.526014546,239.459349752,239.392390878,239.325137654, | |
438 | 239.257589818,239.189747112,239.121609284,239.053176087,238.984447281, | |
439 | 238.91542263,238.846101903,238.776484877,238.706571332,238.636361055, | |
440 | 238.565853836,238.495049475,238.423947772,238.352548536,238.280851579, | |
441 | 238.208856722,238.136563787,238.063972604,237.991083007,237.917894835, | |
442 | 237.844407935,237.770622155,237.696537352,237.622153385,237.54747012, | |
443 | 237.472487429,237.397205186,237.321623273,237.245741575,237.169559984, | |
444 | 237.093078396,237.016296711,236.939214835,236.86183268,236.78415016, | |
445 | 236.706167196,236.627883714,236.549299644,236.470414921,236.391229484, | |
446 | 236.311743279,236.231956253,236.151868362,236.071479563,235.99078982, | |
447 | 235.9097991,235.828507376,235.746914624,235.665020826,235.582825967, | |
448 | 235.500330038,235.417533033,235.334434951,235.251035796,235.167335575, | |
449 | 235.083334301,234.999031988,234.914428659,234.829524337,234.744319051, | |
450 | 234.658812834,234.573005723,234.48689776,234.400488988,234.313779459, | |
451 | 234.226769224,234.13945834,234.05184687,233.963934876,233.875722429, | |
452 | 233.7872096,233.698396466,233.609283107,233.519869606,233.430156051, | |
453 | 233.340142534,233.249829147,233.159215991,233.068303166,232.977090779, | |
454 | 232.885578937,232.793767753,232.701657342,232.609247824,232.516539321, | |
455 | 232.423531959,232.330225867,232.236621177,232.142718023,232.048516546, | |
456 | 231.954016887,231.85921919,231.764123605,231.66873028,231.573039372, | |
457 | 231.477051037,231.380765434,231.284182727,231.187303082,231.090126667, | |
458 | 230.992653654,230.894884217,230.796818534,230.698456783,230.599799147, | |
459 | 230.500845813,230.401596966,230.302052798,230.202213502,230.102079273, | |
460 | 230.001650309,229.900926811,229.799908981,229.698597024,229.596991149, | |
461 | 229.495091566,229.392898486,229.290412124,229.187632698,229.084560426, | |
462 | 228.98119553,228.877538233,228.77358876,228.66934734,228.564814202, | |
463 | 228.459989578,228.354873701,228.249466808,228.143769136,228.037780925, | |
464 | 227.931502416,227.824933853,227.718075481,227.610927548,227.503490301, | |
465 | 227.395763992,227.287748873,227.179445197,227.070853221,226.961973202, | |
466 | 226.852805398,226.743350071,226.633607482,226.523577894,226.413261574, | |
467 | 226.302658786,226.1917698,226.080594885,225.969134311,225.857388351, | |
468 | 225.745357278,225.633041366,225.520440893,225.407556135,225.294387371, | |
469 | 225.180934881,225.067198945,224.953179846,224.838877868,224.724293293, | |
470 | 224.609426409,224.494277501,224.378846857,224.263134765,224.147141516, | |
471 | 224.030867399,223.914312706,223.79747773,223.680362764,223.562968102, | |
472 | 223.445294038,223.32734087,223.209108892,223.090598404,222.971809703, | |
473 | 222.852743088,222.733398858,222.613777314,222.493878757,222.373703489, | |
474 | 222.253251812,222.132524028,222.011520442,221.890241357,221.768687078, | |
475 | 221.64685791,221.524754159,221.402376131,221.279724132,221.15679847, | |
476 | 221.033599452,220.910127386,220.78638258,220.662365343,220.538075983, | |
477 | 220.413514811,220.288682136,220.163578268,220.038203517,219.912558193, | |
478 | 219.786642608,219.660457072,219.534001897,219.407277394,219.280283874, | |
479 | 219.15302165,219.025491033,218.897692335,218.769625868,218.641291945, | |
480 | 218.512690877,218.383822977,218.254688558,218.125287932,217.995621411, | |
481 | 217.865689308,217.735491935,217.605029605,217.47430263,217.343311321, | |
482 | 217.212055993,217.080536955,216.948754521,216.816709003,216.684400712, | |
483 | 216.551829959,216.418997057,216.285902317,216.152546049,216.018928564, | |
484 | 215.885050174,215.750911189,215.616511919,215.481852673,215.346933762, | |
485 | 215.211755495,215.076318182,214.94062213,214.804667649,214.668455047, | |
486 | 214.531984632,214.395256711,214.258271591,214.121029579,213.983530982, | |
487 | 213.845776106,213.707765256,213.569498737,213.430976855,213.292199913, | |
488 | 213.153168215,213.013882066,212.874341767,212.734547621,212.594499931, | |
489 | 212.454198998,212.313645123,212.172838605,212.031779747,211.890468845, | |
490 | 211.748906201,211.607092111,211.465026874,211.322710786,211.180144146, | |
491 | 211.037327247,210.894260386,210.750943858,210.607377956,210.463562975, | |
492 | 210.319499207,210.175186945,210.03062648,209.885818102,209.740762104, | |
493 | 209.595458773,209.449908399,209.304111271,209.158067675,209.011777899, | |
494 | 208.865242229,208.71846095,208.571434346,208.424162703,208.276646303, | |
495 | 208.128885429,207.980880362,207.832631383,207.684138772,207.53540281, | |
496 | 207.386423774,207.237201943,207.087737593,206.938031001,206.788082442, | |
497 | 206.637892192,206.487460523,206.336787708,206.185874021,206.034719732, | |
498 | 205.883325112,205.73169043,205.579815956,205.427701956,205.2753487, | |
499 | 205.122756451,204.969925477,204.816856041,204.663548407,204.510002838, | |
500 | 204.356219596,204.202198941,204.047941133,203.893446432,203.738715096, | |
501 | 203.583747382,203.428543546,203.273103844,203.11742853,202.961517859, | |
502 | 202.805372081,202.64899145,202.492376216,202.335526629,202.178442938, | |
503 | 202.021125389,201.863574231,201.70578971,201.547772069,201.389521554, | |
504 | 201.231038407,201.072322871,200.913375185,200.754195591,200.594784328, | |
505 | 200.435141633,200.275267743,200.115162895,199.954827324,199.794261263, | |
506 | 199.633464946,199.472438604,199.31118247,199.149696771,198.987981739, | |
507 | 198.826037599,198.66386458,198.501462908,198.338832806,198.175974498, | |
508 | 198.012888208,197.849574157,197.686032566,197.522263653,197.358267639, | |
509 | 197.194044739,197.029595171,196.864919149,196.700016888,196.534888602, | |
510 | 196.369534501,196.203954798,196.038149702,195.872119422,195.705864166, | |
511 | 195.53938414,195.372679551,195.205750602,195.038597496,194.871220438, | |
512 | 194.703619627,194.535795263,194.367747547,194.199476675,194.030982844, | |
513 | 193.862266251,193.69332709,193.524165554,193.354781836,193.185176127, | |
514 | 193.015348617,192.845299495,192.675028949,192.504537166,192.333824332, | |
515 | 192.162890631,191.991736246,191.820361361,191.648766155,191.476950809, | |
516 | 191.304915502,191.132660411,190.960185714,190.787491586,190.6145782, | |
517 | 190.441445731,190.268094349,190.094524227,189.920735533,189.746728437, | |
518 | 189.572503106,189.398059705,189.223398401,189.048519357,188.873422736, | |
519 | 188.698108699,188.522577407,188.34682902,188.170863695,187.994681589, | |
520 | 187.818282858,187.641667658,187.46483614,187.287788459,187.110524763, | |
521 | 186.933045205,186.755349932,186.577439092,186.399312831,186.220971295, | |
522 | 186.042414627,185.863642971,185.684656468,185.505455258,185.326039482, | |
523 | 185.146409276,184.966564778,184.786506124,184.606233447,184.425746882, | |
524 | 184.245046561,184.064132614,183.883005171,183.70166436,183.52011031, | |
525 | 183.338343145,183.156362991,182.974169972,182.79176421,182.609145826, | |
526 | 182.426314941,182.243271672,182.060016139,181.876548456,181.69286874, | |
527 | 181.508977105,181.324873662,181.140558524,180.956031801,180.771293602, | |
528 | 180.586344035,180.401183206,180.215811221,180.030228184,179.844434198, | |
529 | 179.658429365,179.472213784,179.285787556,179.099150778,178.912303547, | |
530 | 178.725245958,178.537978106,178.350500084,178.162811983,177.974913895, | |
531 | 177.786805907,177.598488109,177.409960587,177.221223426,177.032276711, | |
532 | 176.843120525,176.653754949,176.464180064,176.274395949,176.084402683, | |
533 | 175.894200341,175.703788999,175.513168732,175.322339612,175.131301711, | |
534 | 174.940055099,174.748599845,174.556936017,174.365063682,174.172982904, | |
535 | 173.980693748,173.788196276,173.59549055,173.402576629,173.209454574, | |
536 | 173.01612444,172.822586284,172.628840161,172.434886125,172.240724228, | |
537 | 172.046354521,171.851777054,171.656991875,171.461999032,171.266798569, | |
538 | 171.071390532,170.875774963,170.679951906,170.483921399,170.287683483, | |
539 | 170.091238194,169.894585571,169.697725648,169.500658458,169.303384036, | |
540 | 169.105902411,168.908213614,168.710317673,168.512214616,168.313904469, | |
541 | 168.115387256,167.916663,167.717731724,167.518593448,167.31924819, | |
542 | 167.11969597,166.919936804,166.719970706,166.51979769,166.319417769, | |
543 | 166.118830954,165.918037255,165.71703668,165.515829236,165.314414928, | |
544 | 165.112793761,164.910965738,164.70893086,164.506689127,164.304240538, | |
545 | 164.10158509,163.898722779,163.6956536,163.492377545,163.288894608, | |
546 | 163.085204777,162.881308042,162.677204391,162.472893809,162.268376282, | |
547 | 162.063651792,161.858720322,161.653581853,161.448236362,161.242683829, | |
548 | 161.036924229,160.830957537,160.624783727,160.41840277,160.211814637, | |
549 | 160.005019298,159.79801672,159.590806869,159.38338971,159.175765206, | |
550 | 158.967933321,158.759894013,158.551647242,158.343192966,158.134531141, | |
551 | 157.925661722,157.716584662,157.507299912,157.297807424,157.088107145, | |
552 | 156.878199025,156.668083008,156.457759039,156.247227061,156.036487016, | |
553 | 155.825538844,155.614382484,155.403017872,155.191444946,154.979663638, | |
554 | 154.767673882,154.55547561,154.34306875,154.130453232,153.917628982, | |
555 | 153.704595926,153.491353989,153.277903091,153.064243155,152.850374101, | |
556 | 152.636295846,152.422008306,152.207511398,151.992805035,151.777889129, | |
557 | 151.562763591,151.347428331,151.131883256,150.916128273,150.700163287, | |
558 | 150.483988202,150.267602919,150.051007339,149.834201362,149.617184885, | |
559 | 149.399957805,149.182520017,148.964871415,148.74701189,148.528941333, | |
560 | 148.310659634,148.092166681,147.873462361,147.654546557,147.435419156, | |
561 | 147.216080038,146.996529086,146.776766179,146.556791196,146.336604013, | |
562 | 146.116204508,145.895592554,145.674768025,145.453730794,145.23248073, | |
563 | 145.011017705,144.789341586,144.56745224,144.345349535,144.123033334, | |
564 | 143.900503503,143.677759903,143.454802397,143.231630845,143.008245106, | |
565 | 142.784645041,142.560830506,142.336801358,142.112557454,141.888098647, | |
566 | 141.663424793,141.438535745,141.213431356,140.988111477,140.76257596, | |
567 | 140.536824656,140.310857414,140.084674085,139.858274517,139.631658559, | |
568 | 139.40482606,139.177776866,138.950510827,138.72302779,138.495327601, | |
569 | 138.267410109,138.039275161,137.810922605,137.582352287,137.353564057, | |
570 | 137.124557761,136.89533325,136.665890372,136.436228977,136.206348916, | |
571 | 135.976250041,135.745932202,135.515395255,135.284639054,135.053663455, | |
572 | 134.822468314,134.591053492,134.359418849,134.127564247,133.895489551, | |
573 | 133.663194629,133.430679348,133.197943581,132.964987203,132.73181009, | |
574 | 132.498412124,132.264793187,132.030953168,131.796891958,131.562609451, | |
575 | 131.328105548,131.093380151,130.85843317,130.623264518,130.387874115, | |
576 | 130.152261884,129.916427758,129.680371672,129.444093571,129.207593404, | |
577 | 128.970871129,128.733926713,128.496760129,128.259371358,128.021760393, | |
578 | 127.783927234,127.545871891,127.307594385,127.069094748,126.830373023, | |
579 | 126.591429265,126.352263542,126.112875935,125.873266537,125.633435457, | |
580 | 125.393382821,125.153108766,124.91261345,124.671897045,124.430959742, | |
581 | 124.189801752,123.948423304,123.706824648,123.465006057,123.222967823, | |
582 | 122.980710263,122.738233721,122.495538562,122.252625181,122.009493998, | |
583 | 121.766145463,121.522580057,121.278798292,121.034800711,120.790587894, | |
584 | 120.546160453,120.30151904,120.056664344,119.811597095,119.566318064, | |
585 | 119.320828067,119.075127963,118.82921866,118.583101115,118.336776335, | |
586 | 118.090245381,117.84350937,117.596569475,117.349426929,117.102083029, | |
587 | 116.854539134,116.606796673,116.358857143,116.110722114,115.862393231, | |
588 | 115.613872218,115.365160881,115.116261108,114.867174879,114.61790426, | |
589 | 114.368451414,114.118818604,113.86900819,113.619022642,113.368864537, | |
590 | 113.118536565,112.868041535,112.617382378,112.366562149,112.115584036, | |
591 | 111.864451361,111.613167587,111.361736321,111.11016132,110.858446499, | |
592 | 110.60659593,110.354613852,110.102504677,109.850272992,109.597923569, | |
593 | 109.345461366,109.09289154,108.840219447,108.587450649,108.334590925, | |
594 | 108.081646272,107.828622915,107.575527312,107.322366164,107.069146415, | |
595 | 106.815875267,106.562560181,106.309208889,106.055829395,105.802429989, | |
596 | 105.549019247,105.295606044,105.042199559,104.78880928,104.535445014, | |
597 | 104.282116893,104.028835379,103.775611272,103.522455718,103.26938021, | |
598 | 103.016396602,102.763517107,102.510754307,102.258121157,102.00563099, | |
599 | 101.75329752,101.501134848,101.249157464,100.997380252,100.74581849, | |
600 | 100.494487852,100.243404412,99.9925846399,99.7420454065,99.4918039784, | |
601 | 99.2418780182,98.992285581,98.7430451111,98.4941754376,98.2456957684, | |
602 | 97.9976256841,97.7499851301,97.5027944079,97.2560741654,97.0098453854, | |
603 | 96.764129374,96.5189477467,96.2743224139,96.030275565,95.7868296514, | |
604 | 95.5440073677,95.3018316327,95.0603255681,94.8195124769,94.5794158196, | |
605 | 94.3400591904,94.1014662917,93.8636609074,93.6266668754,93.3905080596, | |
606 | 93.1552083202,92.9207914838,92.687281313,92.4547014744,92.2230755076, | |
607 | 91.9924267924,91.7627785162,91.5341536421,91.3065748752,91.0800646308, | |
608 | 90.8546450013,90.6303377244,90.4071641513,90.1851452154,89.9643014023, | |
609 | 89.7446527197,89.5262186689,89.309018217,89.0930697707,88.8783911506, | |
610 | 88.6649995678,88.452911601,88.2421431758,88.0327095454,87.8246252726, | |
611 | 87.6179042144,87.4125595073,87.2086035549,87.0060480178,86.8049038042, | |
612 | 86.6051810635,86.4068891809,86.2100367742,86.0146316924,85.820681016, | |
613 | 85.6281910588,85.4371673718,85.2476147483,85.059537231,84.8729381203, | |
614 | 84.6878199835,84.5041846669,84.3220333071,84.1413663453,83.9621835415, | |
615 | 83.78448399,83.6082661365,83.4335277947,83.2602661648,83.088477852, | |
616 | 82.918158886,82.7493047404,82.581910353,82.4159701465,82.2514780484, | |
617 | 82.0884275127,81.9268115401,81.7666226995,81.6078531484,81.450494654, | |
618 | 81.2945386136,81.1399760753,80.9867977578,80.8349940706,80.6845551334, | |
619 | 80.5354707951,80.387730653,80.2413240706,80.0962401958,79.9524679782, | |
620 | 79.8099961858,79.668813422,79.5289081407,79.3902686621,79.2528831875, | |
621 | 79.1167398133,78.9818265451,78.8481313104,78.7156419717,78.5843463383, | |
622 | 78.4542321781,78.3252872283,78.1974992063,78.0708558196,77.9453447751, | |
623 | 77.8209537885,77.6976705926,77.5754829453,77.4543786377,77.3343455008, | |
624 | 77.2153714125,77.097444304,76.9805521656,76.8646830525,76.7498250897, | |
625 | 76.6359664772,76.5230954944,76.411200504,76.3002699564,76.1902923926, | |
626 | 76.081256448,75.9731508553,75.865964447,75.7596861581,75.6543050282, | |
627 | 75.5498102036,75.446190939,75.3434365993,75.2415366608,75.1404807122, | |
628 | 75.0402584562,74.94085971,74.8422744057,74.7444925918,74.6475044324, | |
629 | 74.5513002088,74.4558703183,74.3612052756,74.2672957116,74.1741323741, | |
630 | 74.0817061269,73.9900079501,73.8990289392,73.8087603045,73.7191933711, | |
631 | 73.630319578,73.542130477,73.4546177327,73.3677731209,73.2815885286, | |
632 | 73.1960559524,73.1111674979,73.0269153786,72.943291915,72.8602895336, | |
633 | 72.7779007657,72.6961182464,72.6149347136,72.5343430066,72.4543360653, | |
634 | 72.3749069287,72.296048734,72.2177547155,72.140018203,72.062832621, | |
635 | 71.9861914875,71.9100884125,71.834517097,71.7594713319,71.6849449967, | |
636 | 71.6109320582,71.5374265695,71.4644226687,71.3919145776,71.3198966008, | |
637 | 71.2483631244,71.1773086147,71.1067276173,71.0366147558,70.9669647305, | |
638 | 70.8977723176,70.829032368,70.7607398058,70.692889628,70.6254769025, | |
639 | 70.5584967677,70.491944431,70.4258151681,70.3601043217,70.2948073007, | |
640 | 70.2299195789,70.1654366943,70.1013542477,70.0376679022,69.974373382, | |
641 | 69.9114664714,69.848943014,69.7867989115,69.7250301233,69.663632665, | |
642 | 69.6026026079,69.5419360781,69.4816292553,69.4216783727,69.3620797151, | |
643 | 69.302829619,69.2439244713,69.1853607088,69.127134817,69.0692433298, | |
644 | 69.0116828285,68.9544499408,68.8975413407,68.8409537471,68.7846839236, | |
645 | 68.7287286773,68.6730848588,68.6177493608,68.5627191177,68.5079911053, | |
646 | 68.4535623394,68.399429876,68.3455908099,68.2920422747,68.238781442, | |
647 | 68.1858055204,68.1331117557,68.0806974294,68.0285598591,67.9766963971, | |
648 | 67.9251044304,67.8737813799,67.8227247,67.7719318779,67.7214004334, | |
649 | 67.671127918,67.6211119148,67.5713500377,67.521839931,67.4725792692, | |
650 | 67.4235657562,67.3747971248,67.3262711367,67.2779855816,67.2299382769, | |
651 | 67.1821270675,67.1345498251,67.0872044479,67.0400888603,66.9932010121, | |
652 | 66.9465388788,66.9001004606,66.8538837821,66.8078868926,66.7621078646, | |
653 | 66.7165447945,66.6711958016,66.626059028,66.5811326384,66.5364148192, | |
654 | 66.491903779,66.4475977476,66.4034949759,66.3595937358,66.3158923195, | |
655 | 66.2723890395,66.2290822282,66.1859702377,66.1430514394,66.1003242235, | |
656 | 66.0577869994,66.0154381946,65.9732762552,65.9312996451,65.8895068457, | |
657 | 65.8478963563,65.806466693,65.7652163892,65.7241439947,65.6832480761, | |
658 | 65.642527216,65.6019800131,65.5616050819,65.5214010526,65.4813665705, | |
659 | 65.4415002962,65.4018009052,65.3622670877,65.3228975484,65.2836910063, | |
660 | 65.2446461946,65.2057618602,65.1670367641,65.1284696804,65.0900593968, | |
661 | 65.0518047142,65.0137044463,64.9757574197,64.9379624738,64.9003184602, | |
662 | 64.8628242429,64.825478698,64.7882807137,64.7512291898,64.7143230378, | |
663 | 64.6775611809,64.6409425534,64.6044661009,64.5681307798,64.5319355578, | |
664 | 64.4958794131,64.4599613344,64.4241803212,64.388535383,64.3530255396, | |
665 | 64.317649821,64.282407267,64.2472969272,64.2123178609,64.1774691369, | |
666 | 64.1427498335,64.1081590383,64.0736958481,64.0393593686,64.0051487146, | |
667 | 63.9710630098,63.9371013865,63.9032629857,63.8695469568,63.8359524576, | |
668 | 63.8024786545,63.7691247216,63.7358898415,63.7027732045,63.669774009, | |
669 | 63.636891461,63.6041247743,63.5714731704,63.5389358781,63.5065121337, | |
670 | 63.4742011808,63.4420022703,63.4099146602,63.3779376154,63.3460704081, | |
671 | 63.3143123171,63.2826626281,63.2511206336,63.2196856325,63.1883569306, | |
672 | 63.1571338399,63.1260156789,63.0950017724,63.0640914515,63.0332840535, | |
673 | 63.0025789217,62.9719754055,62.9414728602,62.9110706472,62.8807681334, | |
674 | 62.8505646917,62.8204597006,62.7904525442,62.7605426122,62.7307292997, | |
675 | 62.7010120074,62.6713901411,62.6418631122,62.6124303372,62.5830912378, | |
676 | 62.5538452407,62.5246917779,62.4956302862,62.4666602075,62.4377809884, | |
677 | 62.4089920806,62.3802929404,62.3516830289,62.3231618119,62.2947287596, | |
678 | 62.2663833472,62.238125054,62.2099533641,62.1818677657,62.1538677518, | |
679 | 62.1259528192,62.0981224695,62.0703762081,62.0427135449,62.0151339937, | |
680 | 61.9876370727,61.9602223038,61.9328892131,61.9056373307,61.8784661904, | |
681 | 61.8513753301,61.8243642916,61.7974326202,61.7705798651,61.7438055793, | |
682 | 61.7171093194,61.6904906456,61.6639491218,61.6374843153,61.6110957971, | |
683 | 61.5847831416,61.5585459265,61.5323837333,61.5062961465,61.4802827541, | |
684 | 61.4543431474,61.4284769208,61.4026836724,61.376963003,61.3513145168, | |
685 | 61.3257378211,61.3002325264,61.2747982461,61.2494345967,61.2241411979, | |
686 | 61.1989176721,61.1737636448,61.1486787445,61.1236626024,61.0987148526, | |
687 | 61.0738351323,61.049023081,61.0242783416,60.9996005592,60.9749893819, | |
688 | 60.9504444605,60.9259654483,60.9015520014,60.8772037785,60.8529204409, | |
689 | 60.8287016523,60.8045470791,60.7804563903,60.7564292571,60.7324653534, | |
690 | 60.7085643554,60.6847259419,60.660949794,60.637235595,60.6135830308, | |
691 | 60.5899917896,60.5664615617,60.5429920399,60.5195829191,60.4962338965, | |
692 | 60.4729446717,60.4497149461,60.4265444237,60.4034328102,60.3803798139, | |
693 | 60.357385145,60.3344485156,60.3115696402,60.2887482352,60.2659840191, | |
694 | 60.2432767122,60.2206260372,60.1980317183,60.1754934821,60.1530110568, | |
695 | 60.1305841728,60.1082125622,60.0858959592,60.0636340995,60.041426721, | |
696 | 60.0192735634,59.9971743681,59.9751288783,59.9531368392,59.9311979974, | |
697 | 59.9093121016,59.8874789021,59.865698151,59.8439696018,59.8222930102, | |
698 | 59.8006681332,59.7790947295,59.7575725597,59.7361013857,59.7146809713, | |
699 | 59.6933110816,59.6719914837,59.6507219459,59.6295022382,59.6083321322, | |
700 | 59.587211401,59.5661398192,59.5451171629,59.5241432098,59.5032177389, | |
701 | 59.4823405308,59.4615113675,59.4407300325,59.4199963107,59.3993099884, | |
702 | 59.3786708534,59.3580786947,59.3375333029,59.3170344698,59.2965819887, | |
703 | 59.2761756541,59.2558152619,59.2355006095,59.2152314953,59.1950077192, | |
704 | 59.1748290824,59.1546953873,59.1346064375,59.1145620381,59.0945619952, | |
705 | 59.0746061163,59.05469421,59.0348260863,59.0150015562,58.9952204321, | |
706 | 58.9754825273,58.9557876566,58.9361356358,58.9165262819,58.896959413, | |
707 | 58.8774348483,58.8579524084,58.8385119146,58.8191131897,58.7997560573, | |
708 | 58.7804403424,58.7611658707,58.7419324694,58.7227399664,58.7035881909, | |
709 | 58.684476973,58.665406144,58.6463755361,58.6273849825,58.6084343176, | |
710 | 58.5895233766,58.5706519958,58.5518200125,58.533027265,58.5142735925, | |
711 | 58.4955588353,58.4768828345,58.4582454322,58.4396464715,58.4210857965, | |
712 | 58.402563252,58.384078684,58.3656319393,58.3472228655,58.3288513112, | |
713 | 58.310517126,58.2922201602,58.2739602651,58.2557372929,58.2375510965, | |
714 | 58.2194015299,58.2012884478,58.1832117056,58.16517116,58.1471666681, | |
715 | 58.129198088,58.1112652786,58.0933680997,58.0755064118,58.0576800761, | |
716 | 58.039888955,58.0221329113,58.0044118086,57.9867255116,57.9690738855, | |
717 | 57.9514567963,57.9338741109,57.9163256968,57.8988114223,57.8813311564, | |
718 | 57.8638847691,57.8464721308,57.8290931127,57.8117475869,57.7944354261, | |
719 | 57.7771565037,57.7599106939,57.7426978714,57.7255179118,57.7083706914, | |
720 | 57.691256087,57.6741739762,57.6571242374,57.6401067494,57.6231213918, | |
721 | 57.6061680451,57.58924659,57.5723569081,57.5554988818,57.5386723939, | |
722 | 57.5218773279,57.505113568,57.488380999,57.4716795062,57.4550089757, | |
723 | 57.4383692942,57.4217603489,57.4051820278,57.3886342192,57.3721168123, | |
724 | 57.3556296967,57.3391727627,57.3227459011,57.3063490034,57.2899819617, | |
725 | 57.2736446684,57.2573370167,57.2410589004,57.2248102138,57.2085908517, | |
726 | 57.1924007095,57.1762396831,57.1601076691,57.1440045645,57.127930267, | |
727 | 57.1118846745,57.0958676858,57.0798792,57.063919117,57.0479873368, | |
728 | 57.0320837602,57.0162082886,57.0003608236,56.9845412676,56.9687495233, | |
729 | 56.952985494,56.9372490836,56.9215401962,56.9058587367,56.8902046103, | |
730 | 56.8745777228,56.8589779803,56.8434052895,56.8278595578,56.8123406926, | |
731 | 56.796848602,56.7813831948,56.7659443798,56.7505320667,56.7351461652, | |
732 | 56.719786586,56.7044532397,56.6891460378,56.6738648919,56.6586097143, | |
733 | 56.6433804175,56.6281769146,56.6129991191,56.597846945,56.5827203065, | |
734 | 56.5676191185,56.5525432961,56.537492755,56.5224674112,56.507467181, | |
735 | 56.4924919814,56.4775417297,56.4626163434,56.4477157406,56.4328398399, | |
736 | 56.41798856,56.4031618202,56.3883595402,56.37358164,56.35882804, | |
737 | 56.3440986611,56.3293934243,56.3147122514,56.3000550642,56.2854217851, | |
738 | 56.2708123367,56.2562266421,56.2416646249,56.2271262086,56.2126113176, | |
739 | 56.1981198764,56.1836518097,56.1692070429,56.1547855016,56.1403871117, | |
740 | 56.1260117995,56.1116594916,56.097330115,56.0830235971,56.0687398656, | |
741 | 56.0544788483,56.0402404738,56.0260246706,56.0118313678,55.9976604948, | |
742 | 55.9835119812,55.969385757,55.9552817525,55.9411998985,55.9271401258, | |
743 | 55.9131023657,55.89908655,55.8850926104,55.8711204792,55.8571700891, | |
744 | 55.8432413727,55.8293342633,55.8154486945,55.8015845998,55.7877419134, | |
745 | 55.7739205698,55.7601205035,55.7463416495,55.7325839431,55.7188473199, | |
746 | 55.7051317156,55.6914370665,55.677763309,55.6641103798,55.6504782158, | |
747 | 55.6368667544,55.6232759331,55.6097056897,55.5961559624,55.5826266896, | |
748 | 55.5691178099,55.5556292623,55.542160986,55.5287129205,55.5152850055, | |
749 | 55.501877181,55.4884893873,55.475121565,55.4617736549,55.448445598, | |
750 | 55.4351373357,55.4218488095,55.4085799613,55.3953307332,55.3821010675, | |
751 | 55.3688909069,55.3557001941,55.3425288723,55.3293768848,55.3162441752, | |
752 | 55.3031306873,55.2900363653,55.2769611534,55.2639049962,55.2508678385, | |
753 | 55.2378496253,55.2248503018,55.2118698137,55.1989081067,55.1859651266, | |
754 | 55.1730408198,55.1601351326,55.1472480117,55.134379404,55.1215292566, | |
755 | 55.1086975168,55.0958841322,55.0830890507,55.0703122201,55.0575535887, | |
756 | 55.0448131049,55.0320907175,55.0193863752,55.0067000272,54.9940316227, | |
757 | 54.9813811114,54.9687484428,54.956133567,54.943536434,54.9309569943, | |
758 | 54.9183951983,54.9058509969,54.893324341,54.8808151818,54.8683234706, | |
759 | 54.8558491591,54.8433921989,54.8309525421,54.8185301409,54.8061249475, | |
760 | 54.7937369146,54.7813659949,54.7690121413,54.7566753071,54.7443554455, | |
761 | 54.73205251,54.7197664544,54.7074972325,54.6952447985,54.6830091066, | |
762 | 54.6707901112,54.6585877671,54.646402029,54.634232852,54.6220801911, | |
763 | 54.6099440019,54.5978242398,54.5857208606,54.5736338202,54.5615630746, | |
764 | 54.5495085801,54.5374702932,54.5254481704,54.5134421685,54.5014522444, | |
765 | 54.4894783554,54.4775204586,54.4655785116,54.4536524719,54.4417422974, | |
766 | 54.429847946,54.4179693758,54.4061065451,54.3942594124,54.3824279364, | |
767 | 54.3706120757,54.3588117893,54.3470270364,54.3352577761,54.323503968, | |
768 | 54.3117655715,54.3000425465,54.2883348527,54.2766424504,54.2649652996, | |
769 | 54.2533033607,54.2416565943,54.2300249609,54.2184084215,54.206806937, | |
770 | 54.1952204684,54.1836489771,54.1720924245,54.1605507722,54.1490239817, | |
771 | 54.1375120151,54.1260148343,54.1145324014,54.1030646788,54.0916116288, | |
772 | 54.0801732141,54.0687493974,54.0573401415,54.0459454094,54.0345651643, | |
773 | 54.0231993694,54.0118479883,54.0005109843,53.9891883213,53.977879963, | |
774 | 53.9665858734,53.9553060167,53.944040357,53.9327888587,53.9215514863, | |
775 | 53.9103282045,53.8991189781,53.8879237718,53.8767425508,53.8655752802, | |
776 | 53.8544219253,53.8432824515,53.8321568244,53.8210450096,53.8099469729, | |
777 | 53.7988626803,53.7877920977,53.7767351915,53.7656919278,53.7546622731, | |
778 | 53.7436461939,53.7326436569,53.721654629,53.7106790769,53.6997169678, | |
779 | 53.6887682688,53.6778329471,53.6669109702,53.6560023055,53.6451069207, | |
780 | 53.6342247836,53.6233558619,53.6125001237,53.6016575371,53.5908280702, | |
781 | 53.5800116914,53.5692083692,53.558418072,53.5476407686,53.5368764276, | |
782 | 53.5261250181,53.5153865089,53.5046608693,53.4939480683,53.4832480754, | |
783 | 53.47256086,53.4618863916,53.4512246399,53.4405755746,53.4299391657, | |
784 | 53.419315383,53.4087041967,53.398105577,53.3875194941,53.3769459184, | |
785 | 53.3663848205,53.355836171,53.3452999404,53.3347760998,53.3242646199, | |
786 | 53.3137654719,53.3032786267,53.2928040557,53.2823417301,53.2718916214, | |
787 | 53.261453701,53.2510279406,53.240614312,53.2302127868,53.2198233371, | |
788 | 53.2094459348,53.1990805521,53.1887271611,53.1783857341,53.1680562435, | |
789 | 53.1577386619,53.1474329617,53.1371391157,53.1268570966,53.1165868773, | |
790 | 53.1063284308,53.09608173,53.0858467482,53.0756234586,53.0654118344, | |
791 | 53.0552118491,53.0450234762,53.0348466893,53.0246814621,53.0145277683, | |
792 | 53.0043855819,52.9942548766,52.9841356267,52.9740278062,52.9639313893, | |
793 | 52.9538463503,52.9437726636,52.9337103037,52.9236592451,52.9136194624, | |
794 | 52.9035909305,52.8935736241,52.883567518,52.8735725874,52.8635888072, | |
795 | 52.8536161525,52.8436545987,52.833704121,52.8237646948,52.8138362956, | |
796 | 52.8039188989,52.7940124804,52.7841170158,52.7742324808,52.7643588514, | |
797 | 52.7544961035,52.7446442132,52.7348031565,52.7249729097,52.7151534489, | |
798 | 52.7053447507,52.6955467913,52.6857595473,52.6759829952,52.6662171118, | |
799 | 52.6564618738,52.6467172578,52.636983241,52.6272598001,52.6175469122, | |
800 | 52.6078445544,52.598152704,52.5884713381,52.5788004341,52.5691399694, | |
801 | 52.5594899214,52.5498502678,52.5402209861,52.5306020539,52.5209934492, | |
802 | 52.5113951496,52.5018071332,52.4922293778,52.4826618616,52.4731045626, | |
803 | 52.463557459,52.4540205291,52.4444937512,52.4349771037,52.425470565, | |
804 | 52.4159741138,52.4064877284,52.3970113878,52.3875450705,52.3780887554, | |
805 | 52.3686424213,52.3592060472,52.3497796121,52.340363095,52.3309564751, | |
806 | 52.3215597316,52.3121728436,52.3027957907,52.293428552,52.2840711072, | |
807 | 52.2747234357,52.2653855171,52.2560573311,52.2467388573,52.2374300756, | |
808 | 52.2281309658,52.2188415077,52.2095616814,52.2002914668,52.1910308441, | |
809 | 52.1817797934,52.1725382949,52.1633063289,52.1540838757,52.1448709156, | |
810 | 52.1356674293,52.1264733971,52.1172887997,52.1081136176,52.0989478315, | |
811 | 52.0897914223,52.0806443707,52.0715066576,52.0623782639,52.0532591707, | |
812 | 52.0441493588,52.0350488095,52.0259575039,52.0168754232,52.0078025486, | |
813 | 51.9987388616,51.9896843435,51.9806389757,51.9716027398,51.9625756172, | |
814 | 51.9535575896,51.9445486387,51.9355487462,51.9265578938,51.9175760635, | |
815 | 51.908603237,51.8996393962,51.8906845233,51.8817386003,51.8728016091, | |
816 | 51.8638735321,51.8549543514,51.8460440492,51.8371426079,51.8282500099, | |
817 | 51.8193662375,51.8104912732,51.8016250996,51.7927676992,51.7839190547, | |
818 | 51.7750791486,51.7662479639,51.7574254831,51.7486116892,51.7398065651, | |
819 | 51.7310100936,51.7222222578,51.7134430406,51.7046724253,51.6959103948, | |
820 | 51.6871569323,51.6784120212,51.6696756447,51.660947786,51.6522284287, | |
821 | 51.643517556,51.6348151515,51.6261211987,51.6174356812,51.6087585825, | |
822 | 51.6000898864,51.5914295766,51.5827776367,51.5741340507,51.5654988023, | |
823 | 51.5568718755,51.5482532542,51.5396429225,51.5310408642,51.5224470636, | |
824 | 51.5138615047,51.5052841718,51.496715049,51.4881541206,51.4796013709, | |
825 | 51.4710567843,51.4625203452,51.453992038,51.4454718472,51.4369597573, | |
826 | 51.428455753,51.4199598188,51.4114719394,51.4029920995,51.3945202839, | |
827 | 51.3860564773,51.3776006646,51.3691528308,51.3607129606,51.352281039, | |
828 | 51.3438570512,51.3354409821,51.3270328167,51.3186325404,51.3102401382, | |
829 | 51.3018555953,51.293478897,51.2851100286,51.2767489755,51.268395723, | |
830 | 51.2600502566,51.2517125617,51.2433826238,51.2350604285,51.2267459613, | |
831 | 51.218439208,51.210140154,51.2018487853,51.1935650874,51.1852890462, | |
832 | 51.1770206476,51.1687598773,51.1605067213,51.1522611655,51.1440231959, | |
833 | 51.1357927985,51.1275699594,51.1193546647,51.1111469005,51.1029466529, | |
834 | 51.0947539083,51.0865686527,51.0783908726,51.0702205543,51.062057684, | |
835 | 51.0539022483,51.0457542335,51.0376136261,51.0294804127,51.0213545797, | |
836 | 51.0132361137 | |
837 | } | |
838 | } | |
839 | }; |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | Ampf::Ampf() | |
20 | { | |
21 | } | |
22 | ||
23 | Ampf::~Ampf() | |
24 | { | |
25 | } | |
26 | ||
27 | inline void Ampf::init(uint32_t samplingFreq) | |
28 | { | |
29 | fSamplingFreq = samplingFreq; | |
30 | } | |
31 | ||
32 | inline void Ampf::compute(int32_t count, float *input0, float *output0, float value) | |
33 | { | |
34 | double fSlow0 = value * value * 0.01; | |
35 | //double fSlow1 = (fSlow0 * pow(10,(0 - (0.1 * fSlow0)))); | |
36 | for (int32_t i=0; i<count; i++) | |
37 | { | |
38 | output0[i] = fSlow0 * input0[i]; | |
39 | } | |
40 | } | |
41 | ||
42 | void Ampf::connect(uint32_t port,void* data) | |
43 | { | |
44 | switch ((PortIndex)port) | |
45 | { | |
46 | case AMP_MASTERGAIN: | |
47 | break; | |
48 | case AMP_PREGAIN: | |
49 | break; | |
50 | case AMP_WET_DRY: | |
51 | break; | |
52 | case AMP_DRIVE: | |
53 | break; | |
54 | case MID: | |
55 | break; | |
56 | case BASS: | |
57 | break; | |
58 | case TREBLE: | |
59 | break; | |
60 | case CLevel: | |
61 | break; | |
62 | case ALevel: | |
63 | break; | |
64 | case AMP_CONTROL: | |
65 | break; | |
66 | case AMP_NOTIFY: | |
67 | break; | |
68 | case AMP_OUTPUT: | |
69 | break; | |
70 | case AMP_INPUT: | |
71 | break; | |
72 | case AMP_OUTPUT1: | |
73 | break; | |
74 | case AMP_INPUT1: | |
75 | break; | |
76 | } | |
77 | } | |
78 | ||
79 | void Ampf::connect_static(uint32_t port,void* data, Ampf *p) | |
80 | { | |
81 | static_cast<Ampf*>(p)->connect(port, data); | |
82 | } | |
83 | ||
84 | void Ampf::init_static(uint32_t samplingFreq, Ampf *p) | |
85 | { | |
86 | static_cast<Ampf*>(p)->init(samplingFreq); | |
87 | } | |
88 |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | class Ampf | |
20 | { | |
21 | private: | |
22 | int32_t fSamplingFreq; | |
23 | void init(uint32_t samplingFreq); | |
24 | void connect(uint32_t port,void* data); | |
25 | ||
26 | public: | |
27 | void compute(int32_t count, float *input0, float *output0, float value); | |
28 | static void connect_static(uint32_t port,void* data, Ampf *p); | |
29 | static void init_static(uint32_t samplingFreq, Ampf *p); | |
30 | Ampf(); | |
31 | ~Ampf(); | |
32 | }; | |
33 |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | struct CabDesc | |
21 | { | |
22 | int32_t ir_count; | |
23 | uint32_t ir_sr; | |
24 | float ir_data[]; | |
25 | }; | |
26 | ||
27 | template <int32_t tab_size> | |
28 | struct CabDesc_imp | |
29 | { | |
30 | int32_t ir_count; | |
31 | uint32_t ir_sr; | |
32 | float ir_data[tab_size]; | |
33 | operator CabDesc&() | |
34 | { | |
35 | return *(CabDesc*)this; | |
36 | } | |
37 | }; | |
38 | /**----------------------------- cabinet impulse response data --------------------------------**/ | |
39 | CabDesc_imp<192> cab_data_HighGain = | |
40 | { | |
41 | 192, 48000, | |
42 | { | |
43 | 0.147081, 0.208808, 0.208996, 0.163228, 0.0858905, -0.0119104, -0.0932825, -0.121011, -0.0999426, -0.071073, -0.0403973, -0.00214844, 0.0287018, | |
44 | 0.0381079, 0.0372284, 0.0330389, 0.0252979, 0.0141394, 0.00118835, -0.00764709, -0.00751953, 0.00262512, 0.0143475, 0.0174762, 0.0168384, 0.0179126, | |
45 | 0.00738525, -0.0114069, -0.0192352, -0.0145825, -0.0179932, -0.0244049, -0.0173956, -0.00357178, 0.00643188, 0.0108966, 0.0132935, 0.0123737, 0.00680786, | |
46 | -0.000214844, -0.0040686, -0.00533752, -0.00738525, -0.00539124, -0.00171875, 0.00156433, 0.00481384, 0.0038739, -0.00666016, -0.018866, -0.0216522, -0.0171606, | |
47 | -0.00717712, 0.00770081, 0.0209003, 0.0251971, 0.0221222, 0.0157977, 0.00453857, -0.0107892, -0.022478, -0.029165, -0.0303467, 0, -0.0169592, | |
48 | -0.00966125, -0.00163147, 0.00273254, 0.000436401, -0.00282654, -0.00791565, -0.0136493, -0.0128436, -0.00564636, 0.00298096, 0.0090033, 0.00841248, 0.00201416, | |
49 | -0.00579407, -0.0119171, -0.0145624, -0.0128436, -0.00741211, 0.000543823, 0.00414917, 0.00414917, 0.00114136, -0.00778809, -0.021377, -0.0325623, -0.0386584, | |
50 | -0.038974, -0.0333679, -0.0221289, -0.0107825, -0.00453186, -0.00127563, -0.000261841, 0.000631104, 0.000537109, 0.000355835, 0.00114136, 0.00174561, 0.00104065, | |
51 | -0.000100708, -0.00128906, -0.00083252, 0.00146362, 0.00234314, 0.000443115, -0.00245056, -0.00782165, -0.0164423, -0.0250092, -0.0309644, -0.0314343, -0.0265063, | |
52 | -0.0176508, -0.00496155, 0.00805664, 0.0157843, 0.0171069, 0.0131055, 0.00613647, -0.00216187, -0.00804321, -0.0117157, 0, -0.015321, -0.0154352, | |
53 | -0.013374, -0.00994995, -0.00672058, -0.00353821, -0.00110779, 0.000678101, 0.00250427, -0.00564636, 0.00298096, 0.0090033, 0.00841248, 0.00201416, -0.00579407, | |
54 | -0.0119171, -0.0145624, -0.0128436, -0.00741211, 0.000543823, 0.00414917, 0.00414917, 0.00114136, -0.00778809, -0.021377, -0.0325623, -0.0386584, -0.038974, | |
55 | -0.0333679, -0.0221289, -0.0107825, -0.00453186, -0.00127563, -0.000261841, 0.000631104, 0.000537109, 0.000355835, 0.00114136, 0.00174561, 0.00104065, -0.000100708, | |
56 | -0.00128906, -0.00083252, 0.00146362, 0.00234314, 0.000443115, -0.00245056, -0.00782165, -0.0164423, -0.0250092, -0.0309644, -0.0314343, -0.0265063, -0.0176508, | |
57 | -0.00496155, 0.00805664, 0.0157843, 0.0171069, 0.0131055, 0.00613647, -0.00216187, -0.00804321, -0.0117157, 0 | |
58 | } | |
59 | }; | |
60 | ||
61 | CabDesc_imp<192> cab_data_AC30 = | |
62 | { | |
63 | 192, 48000, | |
64 | { | |
65 | 7.32422e-05, 0.00015564, 0.00302429, 0.0057251, 0.00652466, 0.00614014, 0.00662537, 0.00419922, 0.00424194, -0.00379334, -0.00308838, -0.0103577, -0.0165436, | |
66 | -0.0208832, -0.0206482, -0.027774, -0.0240204, -0.0231415, -0.0195801, -0.0178253, -0.015921, -0.0149628, -0.0164642, -0.0195465, -0.0218109, -0.0230652, | |
67 | -0.0246216, -0.0256104, -0.0260925, -0.0210358, -0.0207489, -0.015863, -0.0106201, -0.0106628, -0.00259705, 0.00690613, 0.0146484, 0.026236, 0.0348633, | |
68 | 0.0506409, 0.0615387, 0.0747467, 0.0847351, 0.0917419, 0.0999908, 0.0957062, 0.093335, 0.0774262, 0.0564789, 0.0312073, 0.00177002, -0.0296539, | |
69 | -0.047522, -0.0584259, -0.0557098, -0.0279785, 0.00585632, 0.0454926, 0.0777039, 0.0871948, 0.0838074, 0.0664886, 0.039389, 0.0180054, 0.00166931, | |
70 | -0.00537415, 0.00290527, 0.00549622, 0.0210938, 0.0162201, 0.0135376, 0.00706482, 0.00458679, -0.00133667, 0.00446777, 0.00727539, 0.0085144, 0.00765076, | |
71 | 0.00744324, 0.00810852, 0.011911, 0.0117432, 0.00995789, 0.0141144, 0.0146301, 0.01651, 0.0221497, 0.0218842, 0.0201477, 0.0221466, 0.0210632, | |
72 | 0.0162018, 0.0183746, 0.0163727, 0.0168152, 0.0135895, 0.013208, 0.013208, 0.0101379, 0.0105713, 0.0109039, 0.0103699, 0.00718689, 0.0068634, | |
73 | 0.00429993, 0.0033844, 0.00050354, -9.15527e-05, 0.00460815, 0.00307617, 0.00213318, 0.00421143, 0.00546875, 0.00121155, 0.00124817, 0.0053894, 0.00281677, | |
74 | 0.0017395, 0.00368652, 0.00334778, 0.00233459, 0.00368347, 0.000366211, 0.00219727, 0.00175476, -0.00145874, 0.0006073, -0.000961304, -0.000509644, 0.00078125, | |
75 | -0.00332336, 0.00331726, 0.000183105, -0.000747681, 0.00293274, -0.000637817, 0.000924683, -0.00149231, -0.00195312, -0.000564575, -0.00177917, 0.000491333, 0.00137024, | |
76 | 0.00274353, -0.000256348, 0.0024353, -0.00281372, -0.00131531, -0.00141602, -0.00289307, 0.000964355, 0.00017395, 0.00233765, -0.000726318, -0.000454712, -0.00398254, | |
77 | -0.00518494, 0.000839233, 0.0168152, 0.0135895, 0.013208, 0.013208, 0.0101379, 0.0105713, 0.0109039, 0.0103699, 0.00718689, 0.0068634, 0.00429993, | |
78 | 0.0033844, 0.00050354, -9.15527e-05, 0.00460815, 0.00307617, 0.00213318, 0.00421143, 0.00546875, 0.00121155, 0.00124817, 0.0053894, 0.00281677, 0.0017395, | |
79 | 0.00368652, 0.00334778, 0.00233459, 0.00368347, 0.000366211, 0.00219727, 0.00175476, -0.00145874, 0.0006073, -0.000961304 | |
80 | } | |
81 | }; | |
82 | ||
83 | CabDesc_imp<511> cab_data_1x15 = | |
84 | { | |
85 | 511, 48000, | |
86 | { | |
87 | 0.000134277, 0.000299072, 0.000500488, 0.000701904, 0.000897217, 0.00107422, 0.0012207, 0.00134277, 0.00166016, 0.00279541, 0.00596924, 0.0129211, 0.0255066, | |
88 | 0.0450439, 0.0717041, 0.103967, 0.138361, 0.169751, 0.192133, 0.199994, 0.189673, 0.160516, 0.115253, 0.0595947, 0.00111084, -0.0523376, | |
89 | -0.09422, -0.120544, -0.130334, -0.125336, -0.109198, -0.0863647, -0.0610535, -0.036554, -0.015033, 0.00230103, 0.0147949, 0.0221741, 0.0244629, | |
90 | 0.0220886, 0.015863, 0.00692749, -0.00336914, -0.0137573, -0.0232178, -0.0311218, -0.0372253, -0.041571, -0.0443298, -0.0456299, -0.0454651, -0.0437683, | |
91 | -0.0405396, -0.0360168, -0.0307495, -0.0255127, -0.0211731, -0.018396, -0.0174988, -0.0183716, -0.0206116, -0.0236694, -0.0270508, 0, -0.0337097, | |
92 | -0.0368042, -0.0396301, -0.0419495, -0.0433411, -0.0432739, -0.0412781, -0.0371643, -0.0311523, -0.0238831, -0.016272, -0.00932617, -0.00390625, -0.000634766, | |
93 | 0.000219727, -0.00123291, -0.0045166, -0.00890503, -0.013562, -0.0176819, -0.0205872, -0.021814, -0.0211914, -0.0188721, -0.0152954, -0.0111328, -0.00716553, | |
94 | -0.00413818, -0.00258789, -0.00273437, -0.00445557, -0.00733032, -0.0107849, -0.0142944, -0.0174927, -0.0202332, -0.0226074, -0.0248291, -0.027124, -0.0295776, | |
95 | -0.0320679, -0.0342712, -0.0357727, -0.0361938, -0.0352844, -0.0329712, -0.0293701, -0.0247498, -0.0194946, -0.0140198, -0.00877075, -0.00415649, -0.00057373, | |
96 | 0.00169678, 0.00249634, 0.00189209, 0.000170898, -0.00219727, -0.0046814, -0.0067749, -0.00814209, -0.0086731, -0.00847778, 0, -0.00687866, -0.00581055, | |
97 | -0.0045227, -0.0027832, -0.000341797, 0.00289307, 0.0067627, 0.0108215, 0.0144226, 0.0168823, 0.017688, 0.0166565, 0.0139832, 0.010199, 0.00598755, | |
98 | 0.00205688, -0.0010376, -0.00300293, -0.00379028, -0.00352173, -0.00244141, -0.000805664, 0.00119019, 0.00338745, 0.00569458, 0.00802002, 0.0102478, 0.0122314, | |
99 | 0.0138184, 0.0148865, 0.0153687, 0.0152466, 0.014563, 0.0133667, 0.0117493, 0.00982056, 0.00775146, 0.00578003, 0.00420532, 0.003302, 0.00330811, | |
100 | 0.00438232, 0.00649414, 0.00944214, 0.0127869, 0.0159607, 0.0184021, 0.0197144, 0.0197632, 0.0186768, 0.0167664, 0.0143921, 0.0118164, 0.00919189, | |
101 | 0.00656738, 0.00415039, 0.00236816, 0.00170288, 0.00239258, 0.00419922, 0.00649414, 0.00848999, 0.00963135, 0, 0.00950928, 0.00913696, 0.00916748, | |
102 | 0.00994873, 0.0114441, 0.0129517, 0.0133057, 0.0118164, 0.00891113, 0.00587769, 0.00390625, 0.00344238, 0.00426636, 0.00597534, 0.00808716, 0.0100098, | |
103 | 0.011261, 0.0118774, 0.0124756, 0.0137451, 0.0159851, 0.0189636, 0.0220642, 0.0245972, 0.0260681, 0.0262634, 0.0252197, 0.0232483, 0.0209595, | |
104 | 0.0191345, 0.018335, 0.0185791, 0.0194336, 0.0203552, 0.0208679, 0.0206482, 0.0198303, 0.0189514, 0.0185608, 0.0187256, 0.0190613, 0.0190186, | |
105 | 0.0180847, 0.0159729, 0.0129333, 0.00982666, 0.00770264, 0.00709839, 0.00768433, 0.00869141, 0.009552, 0.0102844, 0.0112671, 0.0126709, 0.0141357, | |
106 | 0.0149963, 0.0149658, 0.0143555, 0.0136536, 0.0131897, 0.0129456, 0.0123962, 0.01073, 0, 0.003302, -0.00055542, -0.00249023, -0.00183716, | |
107 | 0.000653076, 0.00330811, 0.00470581, 0.00438232, 0.00276489, 0.000653076, -0.00116577, -0.00214233, -0.00214233, -0.00164795, -0.00159912, -0.00278931, -0.00516357, | |
108 | -0.0078186, -0.00956421, -0.00946655, -0.00714111, -0.00299683, 0.00181885, 0.00605469, 0.00899658, 0.010614, 0.0112976, 0.0117004, 0.0124268, 0.0136475, | |
109 | 0.0148865, 0.0155334, 0.0153259, 0.0143738, 0.0128174, 0.0107178, 0.00843506, 0.00675659, 0.00626831, 0.00688477, 0.00808716, 0.00939941, 0.0105408, | |
110 | 0.0111877, 0.0109558, 0.00969238, 0.00762939, 0.00519409, 0.00283203, 0.000946045, -0.000274658, -0.00098877, -0.00159302, -0.00229492, -0.00292969, -0.00309448, | |
111 | -0.00252686, -0.00139771, -0.000219727, 0.000463867, 0.000421143, -0.000146484, -0.000793457, 0, -0.00114136, -0.000982666, -0.000830078, -0.000634766, -0.000286865, | |
112 | 0.000250244, 0.00090332, 0.00143433, 0.00161133, 0.00128174, 0.000592041, -0.000128174, -0.000628662, -0.00098877, -0.00145874, -0.00221558, -0.0032898, -0.00459595, | |
113 | -0.00594482, -0.00700684, -0.00742798, -0.0071106, -0.00638428, -0.00586548, -0.00601807, -0.00681152, -0.00780029, -0.00846558, -0.00839844, -0.00752563, -0.00609741, | |
114 | -0.00449829, -0.00308838, -0.00220947, -0.00217285, -0.00292969, -0.0039978, -0.00477905, -0.00494995, -0.0045105, -0.0036377, -0.00254517, -0.00152588, -0.000872803, | |
115 | -0.000720215, -0.000958252, -0.00129395, -0.00142212, -0.00125122, -0.00102539, -0.00112915, -0.00167236, -0.00245972, -0.00327759, -0.00406494, -0.00474854, -0.00515747, | |
116 | -0.00513916, -0.00465698, -0.00377808, -0.00269775, -0.00169678, -0.0010437, 0, -0.00129395, -0.00206299, -0.00284424, -0.00324097, -0.00306396, -0.0024292, | |
117 | -0.00175171, -0.0015686, -0.00222778, -0.00378418, -0.00597534, -0.00823975, -0.00977173, -0.00990601, -0.00860596, -0.00648804, -0.00442505, -0.00300903, -0.0024292, | |
118 | -0.00257568, -0.00314331, -0.00378418, -0.00437622, -0.0050293, -0.00586548, -0.00681763, -0.00765991, -0.0081604, -0.00825195, -0.00813599, -0.00806274, -0.00805664, | |
119 | -0.00791626, -0.00751343, -0.00697632, -0.006604, -0.00667725, -0.00727539, -0.00825195, -0.00933228, -0.0102417, -0.01073, -0.0106934, -0.0101929, -0.00941772, | |
120 | -0.00853272, -0.00772705, -0.00722046, -0.0071167, -0.00734253, -0.00775757, -0.00819702, -0.00848389, -0.0085022, -0.00836792, -0.00825806, -0.00820312, -0.00802002, | |
121 | -0.00759277, -0.00710449, -0.00682373, -0.00691528, -0.00737305, 0, -0.00810547, -0.00736694, -0.00585938, -0.00427246, -0.00317993, -0.00258789, -0.00221558, | |
122 | -0.00192871, -0.00171509, -0.00146484, -0.00110474, -0.000738525, -0.00057373, -0.000805664, -0.0015564, -0.00251465, -0.00287476, -0.00202026, -0.000274658, 0.00140381, | |
123 | 0.00223389, 0.00211182, 0.00143433, 0.000683594, 7.93457e-05, -0.000537109, -0.00145874, -0.00272217, -0.00408325, -0.00528564, -0.00620117, -0.00673828, -0.00682373, | |
124 | -0.006427, -0.00548706, -0.0039917, -0.00223999, -0.000958252, -0.000842285, -0.00187988, -0.00343628, -0.00494385, -0.00612793, -0.00692139, -0.00733032, -0.00742798, | |
125 | -0.00737305, -0.00731201, -0.00737305, -0.00758667, -0.00773926, -0.00747681, -0.00657959, -0.0052002, -0.00383911, -0.00291748, -0.00247192, -0.00231934, -0.00227661, | |
126 | -0.00219116, -0.00198364, -0.00184937, -0.0019043 | |
127 | } | |
128 | }; | |
129 | ||
130 | CabDesc_imp<998> cab_data_mesa = | |
131 | { | |
132 | 998, 48000, | |
133 | { | |
134 | 0.00020752, 0.000354004, 0.000421143, 0.000354004, 0.000213623, 3.05176e-05, 0.00010376, 0.00178223, 0.00993652, 0.0342224, 0.0856934, 0.154669, 0.199994, | |
135 | 0.186456, 0.115784, 0.0149719, -0.0793213, -0.134674, -0.144513, -0.121069, -0.0771423, -0.0290222, 0.00469971, 0.0174072, 0.0143616, 0.00430908, | |
136 | -0.00318604, -0.00372925, 0.00308228, 0.014386, 0.0227295, 0.0225159, 0.0127075, -0.000439453, -0.00760498, -0.00966797, -0.0125916, -0.015387, -0.0153625, | |
137 | -0.0173401, -0.0275513, -0.0406067, -0.044635, -0.0366638, -0.0249084, -0.0157288, -0.00880737, -0.00385742, 0.000500488, 0.00552368, 0.0072937, 0.00379639, | |
138 | -0.000646973, -0.00421143, -0.011554, -0.0231873, -0.0317993, -0.0343262, -0.0347473, -0.0345398, -0.0317749, -0.0270691, -0.0201294, 0, 0.00819702, | |
139 | 0.0214722, 0.0278442, 0.0240112, 0.010791, -0.00495605, -0.0165405, -0.0211426, -0.0202087, -0.0174377, -0.0157532, -0.0155273, -0.0153198, -0.0130981, | |
140 | -0.00821533, -0.00350952, -0.00205688, -0.00298462, -0.00479736, -0.00900879, -0.0153992, -0.0206055, -0.0214661, -0.0169678, -0.00876465, 0.000488281, 0.00910034, | |
141 | 0.0159668, 0.0195923, 0.0187073, 0.0139221, 0.0071228, -0.000280762, -0.00716553, -0.012561, -0.0164307, -0.0199951, -0.0237122, -0.0257385, -0.0239319, | |
142 | -0.0181946, -0.00994263, -0.00133057, 0.00576782, 0.010498, 0.0131409, 0.0147278, 0.0158875, 0.0163879, 0.0148132, 0.00995483, 0.00288696, -0.00346069, | |
143 | -0.00641479, -0.00625, -0.00564575, -0.00671997, -0.00940552, -0.0114258, -0.01026, -0.00533447, 0.00151367, 0.0074646, 0, 0.0127625, 0.0132996, | |
144 | 0.0135132, 0.0130554, 0.0112, 0.00772705, 0.00321655, -0.00134888, -0.00551147, -0.00891724, -0.0106873, -0.0100708, -0.00715332, -0.00227051, 0.00411987, | |
145 | 0.0107239, 0.016272, 0.0203125, 0.022467, 0.0223083, 0.0198242, 0.0156982, 0.0109863, 0.00653687, 0.00307007, 0.000872803, -0.000744629, -0.00249634, | |
146 | -0.00411987, -0.00512085, -0.00524902, -0.00421753, -0.00172119, 0.00222168, 0.00689087, 0.010907, 0.0132263, 0.0137146, 0.0125244, 0.0100891, 0.00727539, | |
147 | 0.00509033, 0.00405273, 0.00396118, 0.0043396, 0.00493164, 0.00542603, 0.00534058, 0.00458984, 0.00357666, 0.00273437, 0.0024231, 0.00309448, 0.00482178, | |
148 | 0.00687866, 0.00841064, 0.00910645, 0.00899658, 0.00805054, 0.006427, 0.00455933, 0.00275269, 0.00125732, 0, 0.000964355, 0.00222168, 0.00396729, | |
149 | 0.0059021, 0.0078064, 0.009552, 0.0110535, 0.0121948, 0.0128662, 0.0129578, 0.012384, 0.0112732, 0.00984497, 0.00819092, 0.00645752, 0.00488892, | |
150 | 0.00383301, 0.00350952, 0.00369263, 0.00373535, 0.0032898, 0.00265503, 0.00245361, 0.00301514, 0.00424194, 0.0057251, 0.00699463, 0.00770874, 0.00772095, | |
151 | 0.00706177, 0.00592041, 0.00457764, 0.00320435, 0.00202026, 0.0015625, 0.00206299, 0.00321655, 0.00463257, 0.00596924, 0.00702515, 0.00765381, 0.00772705, | |
152 | 0.0072937, 0.00652466, 0.00553589, 0.00446167, 0.0034668, 0.00252686, 0.00158691, 0.000775146, 0.000366211, 0.000671387, 0.00159912, 0.00280151, 0.00404663, | |
153 | 0.00512695, 0.00581055, 0.00594482, 0.00556641, 0.00476074, 0.00366211, 0.00255737, 0.00169678, 0, 1.83105e-05, -0.00131226, -0.00247803, -0.00265503, | |
154 | -0.00128174, 0.00134277, 0.00421143, 0.00625, 0.00690918, 0.00640869, 0.00543823, 0.00447388, 0.00372314, 0.00337524, 0.00349121, 0.00390015, 0.00432129, | |
155 | 0.00459595, 0.00484009, 0.0052002, 0.00544434, 0.00530396, 0.00480957, 0.00409546, 0.00325317, 0.00251465, 0.00203857, 0.00178833, 0.00170288, 0.00159302, | |
156 | 0.000994873, -0.000476074, -0.0026123, -0.00474854, -0.00640259, -0.00733032, -0.00740356, -0.00665894, -0.00523682, -0.00335083, -0.00142822, -6.71387e-05, 0.000408936, | |
157 | 0.000183105, -0.0003479, -0.000793457, -0.000964355, -0.000891113, -0.000732422, -0.000738525, -0.000964355, -0.00133057, -0.00180054, -0.00220337, -0.00218506, -0.00158081, | |
158 | -0.000720215, -7.93457e-05, 0.000146484, -6.71387e-05, -0.000610352, -0.00110474, -0.00126953, 0, -0.00128784, -0.0015564, -0.00216064, -0.00307617, -0.00404053, | |
159 | -0.00465088, -0.00470581, -0.00445557, -0.00430298, -0.00430908, -0.00435791, -0.00424805, -0.00397339, -0.00395508, -0.00460815, -0.00584717, -0.00720825, -0.00813599, | |
160 | -0.00832519, -0.00797729, -0.00750732, -0.00708618, -0.00664063, -0.00593872, -0.00474854, -0.0031311, -0.00148315, -0.000238037, 0.000390625, 0.000585938, 0.000726318, | |
161 | 0.000933838, 0.000982666, 0.000683594, 0.000134277, -0.000610352, -0.00168457, -0.00303955, -0.00440063, -0.00553589, -0.00634155, -0.00675659, -0.0067749, -0.00652466, | |
162 | -0.00618896, -0.00598755, -0.00613403, -0.00653687, -0.00679932, -0.00665283, -0.00618896, -0.00574951, -0.00565186, -0.00585327, -0.00618286, -0.0065979, -0.0069519, | |
163 | -0.00705566, -0.00687866, -0.0065979, -0.00651245, -0.0067688, -0.00722046, 0, -0.0078064, -0.00776367, -0.00752563, -0.00704346, -0.00639648, -0.00576782, | |
164 | -0.00524292, -0.00474243, -0.0041748, -0.0034729, -0.00264282, -0.00183716, -0.00136108, -0.00144043, -0.00202637, -0.00288086, -0.0036438, -0.00405884, -0.00415649, | |
165 | -0.00408325, -0.00391846, -0.00388184, -0.00430298, -0.00526123, -0.00645142, -0.00740356, -0.00783691, -0.0078186, -0.00752563, -0.0071228, -0.0067749, -0.00652466, | |
166 | -0.00638428, -0.00629883, -0.00604248, -0.00536499, -0.00426025, -0.00298462, -0.00195312, -0.00154419, -0.00193481, -0.00302734, -0.00447388, -0.00574341, -0.00636597, | |
167 | -0.00614014, -0.00529175, -0.00437622, -0.00377197, -0.003479, -0.00327759, -0.00300903, -0.00270386, -0.00245972, -0.00234985, -0.0024353, -0.00270996, -0.00309448, | |
168 | -0.00352173, -0.00393677, -0.00419312, -0.00418701, -0.0039978, 0, -0.00402832, -0.00458374, -0.00532837, -0.005896, -0.00601807, -0.0057312, -0.00526123, | |
169 | -0.00478516, -0.00427246, -0.00363159, -0.00289917, -0.00217896, -0.00143433, -0.000671387, -0.000115967, 4.88281e-05, -0.000170898, -0.000628662, -0.00112305, -0.00148315, | |
170 | -0.00166016, -0.00158691, -0.00130005, -0.0010498, -0.00102539, -0.00118408, -0.00130615, -0.00123901, -0.0010376, -0.000842285, -0.000750732, -0.000866699, -0.00122681, | |
171 | -0.00176392, -0.00228882, -0.00263062, -0.00264893, -0.00224609, -0.00150757, -0.000787353, -0.000402832, -0.00032959, -0.000372314, -0.000372314, -0.000292969, -0.000256348, | |
172 | -0.000335693, -0.000579834, -0.00102539, -0.00154419, -0.00183105, -0.00153809, -0.000518799, 0.000946045, 0.00230713, 0.00316162, 0.00335693, 0.00296631, 0.00222778, | |
173 | 0.00140381, 0.000646973, 7.93457e-05, -0.000170898, 0, 0.000274658, 0.000653076, 0.000897217, 0.000958252, 0.000909424, 0.000769043, 0.000439453, -6.71387e-05, | |
174 | -0.000585938, -0.00101318, -0.00117798, -0.00098877, -0.000537109, 7.93457e-05, 0.000738525, 0.00130615, 0.00176392, 0.00203247, 0.0020874, 0.00213623, 0.00238037, | |
175 | 0.00283203, 0.00335083, 0.00372314, 0.00384521, 0.00388184, 0.00405884, 0.00445557, 0.0050293, 0.00566406, 0.00620117, 0.00649414, 0.00648804, 0.00636597, | |
176 | 0.00634155, 0.00631714, 0.00599976, 0.00523071, 0.00402832, 0.00261841, 0.00146484, 0.000964355, 0.00115967, 0.00184937, 0.00275269, 0.00346069, 0.00374146, | |
177 | 0.00368042, 0.00341187, 0.00301514, 0.00268555, 0.00259399, 0.00274658, 0.0031189, 0.00361328, 0.00412598, 0.00467529, 0.00530396, 0.00591431, 0.00632935, | |
178 | 0.00639038, 0.00603027, 0.0053772, 0, 0.00407715, 0.00383301, 0.00391846, 0.00430908, 0.00491943, 0.00549927, 0.00586548, 0.00602417, 0.00604858, | |
179 | 0.00595703, 0.00576782, 0.00549927, 0.00517578, 0.00482178, 0.00442505, 0.00401001, 0.00368042, 0.00354004, 0.00357666, 0.00366821, 0.00357666, 0.00313721, | |
180 | 0.00250244, 0.00204468, 0.00209961, 0.00266724, 0.00348511, 0.00422363, 0.00466309, 0.00472412, 0.00450439, 0.00418701, 0.00392456, 0.00380249, 0.00386353, | |
181 | 0.00403442, 0.00414429, 0.00406494, 0.00377197, 0.00343018, 0.00335083, 0.00368042, 0.00422363, 0.00473022, 0.00508423, 0.00529175, 0.00541992, 0.00542603, | |
182 | 0.00516357, 0.00466309, 0.00414429, 0.00379639, 0.00368042, 0.00370483, 0.0036377, 0.00335693, 0.00293579, 0.00256958, 0.00245972, 0.00263672, 0.00300903, | |
183 | 0.00341797, 0.00365601, 0, 0.00307617, 0.00255127, 0.00218506, 0.00219727, 0.00264893, 0.00332031, 0.00391846, 0.0041687, 0.00391235, 0.003125, | |
184 | 0.00195923, 0.000811768, 4.27246e-05, -0.00020752, -1.2207e-05, 0.000360107, 0.000640869, 0.000836182, 0.00111694, 0.00157471, 0.00203857, 0.00219116, 0.00186157, | |
185 | 0.00125732, 0.000714111, 0.000439453, 0.000439453, 0.000628662, 0.000939941, 0.00133057, 0.00170288, 0.00184326, 0.00162354, 0.00111084, 0.000567627, 0.000268555, | |
186 | 0.000402832, 0.00100708, 0.00194702, 0.00292969, 0.00361328, 0.00385132, 0.00372925, 0.00351562, 0.00337524, 0.00336304, 0.00350952, 0.00374146, 0.00383301, | |
187 | 0.00354614, 0.00275879, 0.00159302, 0.000384521, -0.000482178, -0.000805664, -0.000689697, -0.000463867, -0.000354004, -0.000396729, -0.000531006, -0.00057373, -0.000396729, | |
188 | -5.49316e-05, 0, 0.000469971, 0.000543213, 0.000585938, 0.00057373, 0.000549316, 0.000640869, 0.000933838, 0.00141602, 0.00189819, 0.0020752, 0.00189209, | |
189 | 0.00155029, 0.00125122, 0.00108643, 0.000970459, 0.000750732, 0.000415039, -2.44141e-05, -0.000592041, -0.00117188, -0.00150146, -0.00147095, -0.0012146, -0.000878906, | |
190 | -0.000488281, -0.00012207, 0, -0.000292969, -0.000915527, -0.00164185, -0.00223389, -0.00253296, -0.00244141, -0.00209351, -0.00177002, -0.00170288, -0.00192261, | |
191 | -0.0022644, -0.00248413, -0.00239868, -0.00198975, -0.00142212, -0.000860596, -0.000415039, -0.000158691, -0.00012207, -0.000256348, -0.000482178, -0.000695801, -0.000848389, | |
192 | -0.000927734, -0.000946045, -0.000939941, -0.0010437, -0.00131836, -0.00169067, -0.00202637, -0.00227051, -0.00241699, -0.00246582, -0.00250244, -0.00266724, -0.00296021, | |
193 | 0, -0.00341187, -0.00338745, -0.00332642, -0.00344849, -0.00390015, -0.00459595, -0.00522461, -0.00548096, -0.00523682, -0.0045227, -0.0034668, -0.00231934, | |
194 | -0.00135498, -0.000799561, -0.000775146, -0.00130615, -0.0022522, -0.00331421, -0.00413818, -0.00449829, -0.00435791, -0.00378418, -0.00299072, -0.00223389, -0.00169678, | |
195 | -0.00142822, -0.00144043, -0.00167236, -0.00197754, -0.00217285, -0.00220337, -0.00216064, -0.00215454, -0.00221558, -0.00228882, -0.00228882, -0.00217896, -0.00213623, | |
196 | -0.00233765, -0.00270996, -0.00301514, -0.00308228, -0.00292358, -0.00275269, -0.0027771, -0.00298462, -0.003302, -0.00374756, -0.00420532, -0.00446777, -0.00442505, | |
197 | -0.00404663, -0.0034668, -0.00297852, -0.00267334, -0.00245361, -0.00227051, -0.00206299, -0.00181885, -0.00161133, -0.00145874, -0.00135498, -0.00132446, 0, | |
198 | -0.00187378, -0.00247803, -0.00302734, -0.003302, -0.00321045, -0.00291138, -0.00266724, -0.00250244, -0.00241089, -0.00245972, -0.00256958, -0.00256348, -0.00234985, | |
199 | -0.00192261, -0.00144043, -0.00112305, -0.00112915, -0.00136108, -0.00153809, -0.00159302, -0.00164795, -0.0017395, -0.00180664, -0.00184937, -0.00197754, -0.00223999, | |
200 | -0.00251465, -0.00269165, -0.00288086, -0.00316772, -0.00349121, -0.00375977, -0.00385742, -0.00371094, -0.00339966, -0.00303955, -0.00262451, -0.00217896, -0.00176392, | |
201 | -0.00141602, -0.00116577, -0.00111084, -0.00134888, -0.00174561, -0.0020752, -0.00227661, -0.00241699, -0.00247192, -0.00234985, -0.0020752, -0.00184326, -0.00172119, | |
202 | -0.00158691, -0.0013855, -0.0012085, -0.00117188, -0.00127563, -0.00143433, -0.00153198, -0.00150146, -0.0013855, -0.00123901, -0.00100708, 0, -0.000286865, | |
203 | -1.83105e-05, 2.44141e-05, -9.15527e-05, -0.000158691, 1.2207e-05, 0.000415039, 0.000878906, 0.00119019, 0.00124512, 0.00113525, 0.000933838, 0.000610352, 0.000189209, | |
204 | -0.00020752, -0.000457764, -0.00055542, -0.000561523, -0.000488281, -0.0003479, -0.000152588, 4.88281e-05, 0.000201416, 0.000262451, 0.000250244, 0.000189209, 0.000140381, | |
205 | 0.00010376, 7.32422e-05, 4.88281e-05, 6.71387e-05, 0.000146484, 0.000262451, 0.000323486, 0.000262451, 0.000115967, -5.49316e-05, -0.000201416, -0.000244141, -0.000146484, | |
206 | -1.83105e-05, 1.83105e-05, -2.44141e-05, -4.27246e-05, -4.27246e-05, -5.49316e-05, -3.05176e-05, 0.00010376, 0.000335693, 0.000592041, 0.000823975, 0.0010437, 0.00131836, | |
207 | 0.00168457, 0.0020874, 0.00249634, 0.00282593, 0.00292358, 0.0027771, 0.00250854, 0.00221558, 0.00195923, 0.00170288, 0, 0.000933838, 0.000415039, | |
208 | -1.83105e-05, -0.000213623, -0.000146484, 0.00012207, 0.000463867, 0.000720215, 0.000805664, 0.000756836, 0.00065918, 0.000561523, 0.000506592, 0.000500488, 0.00055542, | |
209 | 0.000683594, 0.000848389, 0.00103149, 0.0012207, 0.00142212, 0.00163574, 0.0019104, 0.00223389, 0.00251465, 0.00263062, 0.00249634, 0.00221558, 0.00200806, | |
210 | 0.00203247, 0.00227051, 0.00252686, 0.00252686, 0.00219116, 0.00170898, 0.00132446, 0.00119019, 0.00130615, 0.00154419 | |
211 | } | |
212 | }; | |
213 | ||
214 | CabDesc_imp<192> contrast_ir_desc = | |
215 | { | |
216 | 192, 48000, | |
217 | { | |
218 | 0.147081, 0.208808, 0.208996, 0.163228, 0.0858905, -0.0119104, -0.0932825, -0.121011, -0.0999426, -0.071073, -0.0403973, -0.00214844, 0.0287018, | |
219 | 0.0381079, 0.0372284, 0.0330389, 0.0252979, 0.0141394, 0.00118835, -0.00764709, -0.00751953, 0.00262512, 0.0143475, 0.0174762, 0.0168384, 0.0179126, | |
220 | 0.00738525, -0.0114069, -0.0192352, -0.0145825, -0.0179932, -0.0244049, -0.0173956, -0.00357178, 0.00643188, 0.0108966, 0.0132935, 0.0123737, 0.00680786, | |
221 | -0.000214844, -0.0040686, -0.00533752, -0.00738525, -0.00539124, -0.00171875, 0.00156433, 0.00481384, 0.0038739, -0.00666016, -0.018866, -0.0216522, -0.0171606, | |
222 | -0.00717712, 0.00770081, 0.0209003, 0.0251971, 0.0221222, 0.0157977, 0.00453857, -0.0107892, -0.022478, -0.029165, -0.0303467, 0, -0.0169592, | |
223 | -0.00966125, -0.00163147, 0.00273254, 0.000436401, -0.00282654, -0.00791565, -0.0136493, -0.0128436, -0.00564636, 0.00298096, 0.0090033, 0.00841248, 0.00201416, | |
224 | -0.00579407, -0.0119171, -0.0145624, -0.0128436, -0.00741211, 0.000543823, 0.00414917, 0.00414917, 0.00114136, -0.00778809, -0.021377, -0.0325623, -0.0386584, | |
225 | -0.038974, -0.0333679, -0.0221289, -0.0107825, -0.00453186, -0.00127563, -0.000261841, 0.000631104, 0.000537109, 0.000355835, 0.00114136, 0.00174561, 0.00104065, | |
226 | -0.000100708, -0.00128906, -0.00083252, 0.00146362, 0.00234314, 0.000443115, -0.00245056, -0.00782165, -0.0164423, -0.0250092, -0.0309644, -0.0314343, -0.0265063, | |
227 | -0.0176508, -0.00496155, 0.00805664, 0.0157843, 0.0171069, 0.0131055, 0.00613647, -0.00216187, -0.00804321, -0.0117157, 0, -0.015321, -0.0154352, | |
228 | -0.013374, -0.00994995, -0.00672058, -0.00353821, -0.00110779, 0.000678101, 0.00250427, -0.00564636, 0.00298096, 0.0090033, 0.00841248, 0.00201416, -0.00579407, | |
229 | -0.0119171, -0.0145624, -0.0128436, -0.00741211, 0.000543823, 0.00414917, 0.00414917, 0.00114136, -0.00778809, -0.021377, -0.0325623, -0.0386584, -0.038974, | |
230 | -0.0333679, -0.0221289, -0.0107825, -0.00453186, -0.00127563, -0.000261841, 0.000631104, 0.000537109, 0.000355835, 0.00114136, 0.00174561, 0.00104065, -0.000100708, | |
231 | -0.00128906, -0.00083252, 0.00146362, 0.00234314, 0.000443115, -0.00245056, -0.00782165, -0.0164423, -0.0250092, -0.0309644, -0.0314343, -0.0265063, -0.0176508, | |
232 | -0.00496155, 0.00805664, 0.0157843, 0.0171069, 0.0131055, 0.00613647, -0.00216187, -0.00804321, -0.0117157, 0 | |
233 | } | |
234 | }; | |
235 | ||
236 | CabDesc_imp<1000> cab_data_4x12 = | |
237 | { | |
238 | 1000, 48000, | |
239 | { | |
240 | 0.0210554,0.0750885,0.139243,0.180713,0.184139,0.144903,0.0686037,-0.0185033,-0.0886042,-0.12552, | |
241 | -0.121363,-0.0787852,-0.0213013,0.0229356,0.0411458,0.0370145,0.0195269,-0.00133213,-0.0152812,-0.0145159, | |
242 | -0.00183383,0.0137818,0.0256187,0.0286779,0.0207782,0.0077942,-0.00120299,-0.0031918,-0.00206098,-0.00135227, | |
243 | -0.00140983,-0.00497816,-0.0130377,-0.0218103,-0.0277226,-0.0286464,-0.0215221,-0.00951618,-0.00086607,0.0013951, | |
244 | 4.17435e-05,-0.00319773,-0.00740044,-0.00716618,-0.00255126,0.00219789,0.00519503,0.00521192,0.000273707,-0.00618929, | |
245 | -0.00908,-0.010311,-0.0123735,-0.0142287,-0.017697,-0.0241029,-0.0284137,-0.0277091,-0.0227469,-0.0152625, | |
246 | -0.00519387,0.00359817,0.00729039,0.00671523,0.00318916,-0.00156796,-0.0063908,-0.00976712,-0.0129904,-0.017544, | |
247 | -0.022616,-0.0259348,-0.0261542,-0.0244839,-0.0203182,-0.0130093,-0.00603727,-0.0032797,-0.00488236,-0.00846209, | |
248 | -0.0130562,-0.0172578,-0.019061,-0.0178728,-0.0150705,-0.0105603,-0.00434051,0.000776129,0.00313197,0.00289589, | |
249 | 0.00099021,-0.00304687,-0.00856731,-0.0134404,-0.0173033,-0.019982,-0.0200995,-0.0189035,-0.0176908,-0.0158077, | |
250 | -0.0144982,-0.0144288,-0.0148401,-0.0143923,-0.0124568,-0.00914924,-0.00554664,-0.00161911,0.00204186,0.00466298, | |
251 | 0.00609433,0.00586043,0.00444049,0.00230369,-0.000460247,-0.00331487,-0.00620476,-0.00860464,-0.00977339,-0.0103904, | |
252 | -0.010582,-0.010316,-0.00959965,-0.0079265,-0.00490751,-0.000773675,0.00326292,0.0060596,0.00712823,0.0062126, | |
253 | 0.00304346,-0.00120159,-0.00554078,-0.00940086,-0.0116814,-0.0115473,-0.00920741,-0.00570695,-0.00192381,0.00131636, | |
254 | 0.00313601,0.00310522,0.0019866,0.00024603,-0.00151895,-0.00254442,-0.00257635,-0.00162088,0.000189493,0.00233523, | |
255 | 0.00431406,0.00546426,0.00550678,0.00412306,0.00163322,-0.00135299,-0.00397516,-0.00564887,-0.00616138,-0.00556616, | |
256 | -0.00411866,-0.00213908,-0.000414186,0.000858571,0.00146968,0.00134177,0.000706731,0.000101598,-2.74503e-05,0.000216126, | |
257 | 0.000921334,0.00170689,0.00206986,0.00178904,0.00108999,0.000418435,-0.000329494,-0.00108679,-0.00160318,-0.00186207, | |
258 | -0.00184908,-0.00174925,-0.0017532,-0.00168678,-0.00128635,-0.000532894,0.000551346,0.00173037,0.00285549,0.00381329, | |
259 | 0.00444954,0.00483888,0.00505528,0.00517976,0.00536394,0.00566848,0.00582878,0.00582337,0.00573454,0.00568407, | |
260 | 0.005573,0.00543545,0.00536728,0.00536814,0.00553587,0.00596405,0.00663779,0.00725726,0.00749624,0.00707181, | |
261 | 0.00588561,0.00408059,0.00192134,3.47446e-05,-0.00100598,-0.000915017,4.2448e-05,0.00134795,0.00249509,0.00322568, | |
262 | 0.0035816,0.00386374,0.00451921,0.00540239,0.0062616,0.00694728,0.0072783,0.00703991,0.00629145,0.00535576, | |
263 | 0.00433242,0.0032916,0.00256128,0.00234155,0.00256369,0.00301814,0.00356167,0.00389767,0.00377937,0.00333664, | |
264 | 0.00305993,0.00308825,0.00323129,0.00347644,0.00368722,0.00369027,0.0035434,0.0033256,0.00313601,0.00318107, | |
265 | 0.00358381,0.00415188,0.00472327,0.00508203,0.00512893,0.00469563,0.00385072,0.00285837,0.00193384,0.0011745, | |
266 | 0.000625585,0.000444931,0.000447908,0.000509171,0.000766472,0.00131361,0.00198278,0.00252006,0.00288339,0.00305278, | |
267 | 0.00301612,0.00284385,0.0027595,0.0028841,0.00307673,0.00335143,0.00374592,0.00420453,0.00472283,0.00537605, | |
268 | 0.00605867,0.00667969,0.0071488,0.00726939,0.00694415,0.00626471,0.00550721,0.0049613,0.00471663,0.00477505, | |
269 | 0.00498066,0.00516581,0.00520946,0.00505574,0.00483425,0.00468391,0.00466834,0.00471656,0.00470018,0.00453961, | |
270 | 0.0042108,0.00375276,0.00315533,0.00236797,0.00148797,0.000770994,0.000356717,0.000263414,0.000411073,0.00065758, | |
271 | 0.000956942,0.00116598,0.00118259,0.0010794,0.00090411,0.000730068,0.000713639,0.00101561,0.00158903,0.0022272, | |
272 | 0.00269874,0.00283804,0.00266545,0.00230882,0.00195122,0.00177202,0.0018221,0.00198835,0.00219707,0.0024585, | |
273 | 0.00262623,0.00258478,0.00247114,0.00236725,0.00229178,0.00227378,0.00223327,0.0020942,0.0018775,0.00165049, | |
274 | 0.00145125,0.0013392,0.00133322,0.0013771,0.00146459,0.00154074,0.00148781,0.00131534,0.00115589,0.00110735, | |
275 | 0.00111562,0.00117102,0.0011977,0.00112514,0.000940195,0.000626312,0.000241008,-0.000110301,-0.000294454,-0.00026455, | |
276 | -3.9153e-05,0.000364625,0.000848391,0.00124397,0.00133727,0.00111349,0.00081935,0.000737272,0.000979052,0.00152794, | |
277 | 0.00229764,0.00300549,0.00349459,0.00378848,0.00383738,0.00362037,0.00319689,0.00261696,0.00202673,0.00153753, | |
278 | 0.0010692,0.000529509,-3.48582e-05,-0.000518806,-0.000836461,-0.000893089,-0.000683757,-0.00041539,-0.000240531,-0.000199855, | |
279 | -0.00040037,-0.000829803,-0.00130214,-0.00175941,-0.00214005,-0.00239538,-0.00255126,-0.00260319,-0.00258167,-0.00258312, | |
280 | -0.00261625,-0.00257821,-0.00243703,-0.00224874,-0.002035,-0.0018443,-0.00177327,-0.00182376,-0.00196122,-0.00222559, | |
281 | -0.00246046,-0.0023872,-0.00200267,-0.00146368,-0.000895475,-0.000426638,-0.000116391,8.54413e-05,0.000229487,0.000434546, | |
282 | 0.000783401,0.00125185,0.00170428,0.00195945,0.00191818,0.00165093,0.0013,0.000928947,0.00048422,-4.45158e-05, | |
283 | -0.000552028,-0.000942422,-0.00123235,-0.00149559,-0.00177645,-0.00204586,-0.00228739,-0.00245312,-0.00249216,-0.00238563, | |
284 | -0.00216864,-0.00195288,-0.00184076,-0.0018401,-0.00190445,-0.00195077,-0.0018578,-0.00162677,-0.00132209,-0.00103643, | |
285 | -0.000946898,-0.00112221,-0.00150406,-0.00195615,-0.00229437,-0.00239499,-0.00218277,-0.0017268,-0.00124285,-0.00091104, | |
286 | -0.000849391,-0.00104366,-0.00129184,-0.00138022,-0.00126944,-0.00107845,-0.000937854,-0.000922902,-0.00107965,-0.00139665, | |
287 | -0.00174952,-0.00198203,-0.00202984,-0.00187962,-0.0015708,-0.00124176,-0.00109158,-0.00130834,-0.0019349,-0.00284735, | |
288 | -0.00377169,-0.00432535,-0.00427272,-0.00367104,-0.00275803,-0.00184037,-0.00124326,-0.00112073,-0.00138117,-0.00175739, | |
289 | -0.00199908,-0.00197451,-0.00163986,-0.00107954,-0.000508739,-0.000136274,-2.69049e-05,-0.000195924,-0.000604997,-0.00107277, | |
290 | -0.00139074,-0.00147588,-0.00138458,-0.00119441,-0.00105561,-0.00112623,-0.00139983,-0.00174871,-0.00207738,-0.00232496, | |
291 | -0.00235838,-0.00213469,-0.00182601,-0.00162957,-0.00156907,-0.00164833,-0.00185294,-0.00208449,-0.002181,-0.00207736, | |
292 | -0.00181851,-0.00145291,-0.00105886,-0.000777402,-0.000693301,-0.000780538,-0.000966736,-0.00110846,-0.00100441,-0.000639605, | |
293 | -0.000167997,0.000278684,0.000595589,0.000718707,0.000677736,0.000535644,0.000359331,0.000214058,0.000116118,-2.04741e-05, | |
294 | -0.000248734,-0.000545983,-0.00088025,-0.00122061,-0.0015376,-0.00175523,-0.00175457,-0.00148886,-0.00107979,-0.000750293, | |
295 | -0.000715752,-0.00112187,-0.0019394,-0.0029335,-0.00377016,-0.00421975,-0.00417837,-0.00370331,-0.00304405,-0.00245053, | |
296 | -0.00210699,-0.00207797,-0.0022711,-0.00249086,-0.00253708,-0.00230403,-0.00181831,-0.00124433,-0.000780152,-0.000599361, | |
297 | -0.00073175,-0.00104361,-0.00127435,-0.00119859,-0.000762859,-8.26917e-05,0.000629675,0.00112308,0.00126592,0.0011715, | |
298 | 0.00103854,0.000983915,0.00102964,0.00109781,0.00111035,0.000980961,0.000642923,0.000128366,-0.000457361,-0.000965123, | |
299 | -0.00129109,-0.00143212,-0.00144318,-0.0014024,-0.00139796,-0.00148234,-0.00166874,-0.00191579,-0.00211699,-0.00215912, | |
300 | -0.0020502,-0.00183696,-0.00155674,-0.00122281,-0.000867206,-0.000589227,-0.000474017,-0.000498718,-0.000541393,-0.000489083, | |
301 | -0.000283456,6.39901e-05,0.000442908,0.000769699,0.000966486,0.000987869,0.000807193,0.000472449,6.91029e-05,-0.000300749, | |
302 | -0.000520124,-0.000506989,-0.000277707,-7.49884e-07,0.000197924,0.000303067,0.000322268,0.000290614,0.000293023,0.000353695, | |
303 | 0.000410527,0.000420457,0.000342197,0.000133297,-0.000165088,-0.000453839,-0.000679258,-0.000834689,-0.000952602,-0.00110901, | |
304 | -0.00138581,-0.00176734,-0.00213167,-0.00235534,-0.00238038,-0.0022105,-0.0018848,-0.00142392,-0.000878386,-0.000337561, | |
305 | 0.000124526,0.000442113,0.000576183,0.000579069,0.000590295,0.000704595,0.000887021,0.00101477,0.0010045,0.000847664, | |
306 | 0.000575138,0.000306771,0.000121299,3.08588e-05,9.36218e-06,-8.68729e-05,-0.000309611,-0.000568184,-0.000781879,-0.00090086, | |
307 | -0.000816373,-0.000530804,-0.00015868,0.000212172,0.000470813,0.000541848,0.000420117,0.000213262,5.74002e-05,5.44461e-05, | |
308 | 0.000231169,0.000503149,0.000735295,0.000831939,0.000801057,0.00070564,0.000658602,0.000765108,0.00102202,0.00132866, | |
309 | 0.00158623,0.00171223,0.00161877,0.00138119,0.00109374,0.000773789,0.000429865,0.000119368,-0.000121345,-0.000232623, | |
310 | -0.000125412,0.000170474,0.000515011,0.000714866,0.000659852,0.000381759,2.34736e-05,-0.000255279,-0.000353581,-0.00027348, | |
311 | -8.40097e-05,0.000180108,0.000442772,0.000595703,0.00059443,0.000443181,0.00020006,-4.72427e-05,-0.000237849,-0.000336152, | |
312 | -0.000260891,-1.77245e-06,0.000308816,0.000549233,0.000726773,0.000843596,0.000880568,0.000881363,0.000886135,0.000917471, | |
313 | 0.000981234,0.00105438,0.00110092,0.0011346,0.00116191,0.00120611,0.00130918,0.00150924,0.00173518,0.00188839, | |
314 | 0.0019312,0.00182619,0.00154596,0.00111546,0.000674054,0.000338175,0.000137615,6.37174e-05,9.953e-05,0.000188198, | |
315 | 0.000251211,0.000265322,0.000236736,0.000180904,0.000111483,2.96318e-05,-4.73336e-05,-8.53731e-05,-1.88834e-05,0.000190425, | |
316 | 0.000533576,0.000938581,0.00131834,0.00155549,0.00158925,0.00148725,0.0013572,0.00129875,0.00134022,0.00146789, | |
317 | 0.00163836,0.00174532,0.00169876,0.00147691,0.00111449,0.000735204,0.000492014,0.000435092,0.000515761,0.000663783, | |
318 | 0.000799262,0.00084905,0.000801557,0.000690779,0.000557527,0.000428524,0.000314815,0.00019497,5.04922e-05,-0.000104847, | |
319 | -0.000234282,-0.000318564,-0.000372079,-0.000385258,-0.00035599,-0.0003227,-0.000303067,-0.000293341,-0.000320655,-0.000354127, | |
320 | -0.000328881,-0.000232259,-0.000107938,1.18163e-05,0.000143091,0.000270049,0.000361626,0.000452498,0.00056314,0.000661147, | |
321 | 0.000724365,0.000744134,0.000727273,0.00072107,0.000736863,0.000779379,0.000855094,0.000962941,0.00110471,0.00125183, | |
322 | 0.001321,0.00125508,0.00107511,0.000815532,0.000494719,0.000180608,-4.70381e-05,-0.000147682,-0.000113164,2.06559e-05, | |
323 | 0.000179654,0.000301226,0.00036008,0.000352877,0.000314178,0.000264527,0.000197424,0.000127707,7.75789e-05,3.03816e-05, | |
324 | -4.49248e-05,-0.000123981,-0.000188198,-0.000230032,-0.000205332,-9.22811e-05,8.61003e-05,0.000310111,0.000546188,0.00074752, | |
325 | 0.000886044,0.000967781,0.000983915,0.000906905,0.000743066,0.000538462,0.000377373,0.000343151,0.000430569,0.000540598, | |
326 | 0.000564958,0.000431751,0.000133502,-0.000251643,-0.000614836,-0.000844801,-0.00086966,-0.000704595,-0.000452021,-0.000232532, | |
327 | -0.00011021,-9.40536e-05,-0.000144818,-0.000166747,-0.000102916,5.03785e-05,0.000256278,0.000434682,0.000496309,0.000419026, | |
328 | 0.000240804,4.47203e-05,-9.02133e-05,-0.000122117,-6.04452e-05,1.82926e-05,5.15602e-05,1.39297e-05,-0.00012089,-0.00033004, | |
329 | -0.000557345,-0.000726751,-0.000759268,-0.000650285,-0.000450657,-0.00021608,3.68579e-05,0.000297704,0.000538644,0.000710049, | |
330 | 0.00077363,0.000723092,0.000614791,0.000532167,0.000514057,0.00058116,0.000682076,0.00072566,0.000673282,0.000508217, | |
331 | 0.000270299,6.37401e-05,-5.79001e-05,-0.000104257,-9.17585e-05,-6.15359e-05,-5.7741e-05,-7.34204e-05,-8.94407e-05,-0.000104779, | |
332 | -0.00013891,-0.000166588,-0.000132638,-2.27237e-05,0.000174609,0.00045193,0.00072032,0.000864434,0.000871569,0.000768994, | |
333 | 0.00059284,0.00041948,0.000294795,0.000222579,0.000194515,0.000144409,-1.60202e-05,-0.000275753,-0.000566662,-0.00085005, | |
334 | -0.00107913,-0.00119302,-0.00120593,-0.00115421,-0.00108797,-0.00107377,-0.00112567,-0.00117748,-0.00117754,-0.00112203, | |
335 | -0.00103152,-0.000931128,-0.000873637,-0.000869274,-0.000861684,-0.000822599,-0.000761041,-0.000649717,-0.000460974,-0.000247598, | |
336 | -6.14223e-05,9.10313e-05,0.000194265,0.000208968,0.000170814,0.000139069,0.000142114,0.000191107,0.000249529,0.000275162, | |
337 | 0.000279048,0.000277048,0.000268231,0.000283933,0.000336425,0.000397711,0.000432933,0.0004093,0.00032804,0.000203196, | |
338 | 6.06951e-05,-4.35841e-05,-8.5464e-05,-7.4602e-05,-3.88122e-05,-4.04483e-05,-0.000130343,-0.00030134,-0.000497514,-0.000679258, | |
339 | -0.000815623,-0.000864775,-0.000821327,-0.000721615,-0.000589863,-0.000465223,-0.000387599,-0.000366648,-0.000385849,-0.000436 | |
340 | } | |
341 | }; |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | inline void GxAmpMono::clear_state_f() | |
21 | { | |
22 | for (int32_t i=0; i<2; i++) fRec0[i] = 0; | |
23 | for (int32_t i=0; i<2; i++) fRec7[i] = 0; | |
24 | for (int32_t i=0; i<2; i++) fRec18[i] = 0; | |
25 | for (int32_t i=0; i<3; i++) fRec17[i] = 0; | |
26 | for (int32_t i=0; i<2; i++) fVec0[i] = 0; | |
27 | for (int32_t i=0; i<2; i++) fRec16[i] = 0; | |
28 | for (int32_t i=0; i<2; i++) fRec15[i] = 0; | |
29 | for (int32_t i=0; i<3; i++) fRec14[i] = 0; | |
30 | for (int32_t i=0; i<2; i++) fVec1[i] = 0; | |
31 | for (int32_t i=0; i<2; i++) fRec13[i] = 0; | |
32 | for (int32_t i=0; i<3; i++) fRec12[i] = 0; | |
33 | for (int32_t i=0; i<3; i++) fRec11[i] = 0; | |
34 | for (int32_t i=0; i<2; i++) fRec22[i] = 0; | |
35 | for (int32_t i=0; i<3; i++) fRec21[i] = 0; | |
36 | for (int32_t i=0; i<2; i++) fVec2[i] = 0; | |
37 | for (int32_t i=0; i<2; i++) fRec20[i] = 0; | |
38 | for (int32_t i=0; i<3; i++) fRec19[i] = 0; | |
39 | for (int32_t i=0; i<2; i++) fRec26[i] = 0; | |
40 | for (int32_t i=0; i<3; i++) fRec25[i] = 0; | |
41 | for (int32_t i=0; i<3; i++) fRec24[i] = 0; | |
42 | for (int32_t i=0; i<3; i++) fRec23[i] = 0; | |
43 | for (int32_t i=0; i<2; i++) fRec28[i] = 0; | |
44 | for (int32_t i=0; i<3; i++) fRec27[i] = 0; | |
45 | for (int32_t i=0; i<2; i++) fVec3[i] = 0; | |
46 | for (int32_t i=0; i<2; i++) fRec10[i] = 0; | |
47 | for (int32_t i=0; i<2; i++) fRec29[i] = 0; | |
48 | for (int32_t i=0; i<3; i++) fRec9[i] = 0; | |
49 | for (int32_t i=0; i<2; i++) fRec8[i] = 0; | |
50 | for (int32_t i=0; i<2; i++) fVec4[i] = 0; | |
51 | for (int32_t i=0; i<2; i++) fRec6[i] = 0; | |
52 | for (int32_t i=0; i<2; i++) fRec30[i] = 0; | |
53 | for (int32_t i=0; i<3; i++) fRec5[i] = 0; | |
54 | for (int32_t i=0; i<2; i++) fRec4[i] = 0; | |
55 | for (int32_t i=0; i<2; i++) fVec5[i] = 0; | |
56 | for (int32_t i=0; i<2; i++) fRec3[i] = 0; | |
57 | for (int32_t i=0; i<2; i++) fRec31[i] = 0; | |
58 | for (int32_t i=0; i<3; i++) fRec2[i] = 0; | |
59 | for (int32_t i=0; i<2; i++) fRec1[i] = 0; | |
60 | } | |
61 | ||
62 | inline void GxAmpMono::init(uint32_t samplingFreq) | |
63 | { | |
64 | ||
65 | fSamplingFreq = samplingFreq; | |
66 | fslider0 = 0; | |
67 | iConst0 = min(192000, max(1, fSamplingFreq)); | |
68 | fConst1 = (1.0 / tan((97.38937226128358 / iConst0))); | |
69 | fConst2 = (1 + fConst1); | |
70 | fConst3 = (0 - ((1 - fConst1) / fConst2)); | |
71 | fConst4 = (1.0 / tan((20517.741620594938 / iConst0))); | |
72 | fConst5 = (1 + fConst4); | |
73 | fConst6 = (0 - ((1 - fConst4) / fConst5)); | |
74 | fConst7 = tan((942.4777960769379 / iConst0)); | |
75 | fConst8 = (1.0 / faustpower<2>(fConst7)); | |
76 | fConst9 = (2 * (1 - fConst8)); | |
77 | fConst10 = (1.0 / fConst7); | |
78 | fConst11 = (1 + ((fConst10 - 1.0) / fConst7)); | |
79 | fConst12 = (1.0 / (1 + ((1.0 + fConst10) / fConst7))); | |
80 | fConst13 = tan((3769.9111843077517 / iConst0)); | |
81 | fConst14 = (1.0 / faustpower<2>(fConst13)); | |
82 | fConst15 = (2 * (1 - fConst14)); | |
83 | fConst16 = (1.0 / fConst13); | |
84 | fConst17 = (1 + ((fConst16 - 1.0000000000000004) / fConst13)); | |
85 | fConst18 = (1 + ((fConst16 + 1.0000000000000004) / fConst13)); | |
86 | fConst19 = (1.0 / fConst18); | |
87 | fConst20 = (1 + fConst16); | |
88 | fConst21 = (0 - ((1 - fConst16) / fConst20)); | |
89 | fConst22 = tan((10053.096491487338 / iConst0)); | |
90 | fConst23 = (1.0 / faustpower<2>(fConst22)); | |
91 | fConst24 = (2 * (1 - fConst23)); | |
92 | fConst25 = (1.0 / fConst22); | |
93 | fConst26 = (1 + ((fConst25 - 1.0000000000000004) / fConst22)); | |
94 | fConst27 = (1 + ((1.0000000000000004 + fConst25) / fConst22)); | |
95 | fConst28 = (1.0 / fConst27); | |
96 | fConst29 = (1 + fConst25); | |
97 | fConst30 = (0 - ((1 - fConst25) / fConst29)); | |
98 | fConst31 = tan((47123.8898038469 / iConst0)); | |
99 | fConst32 = (2 * (1 - (1.0 / faustpower<2>(fConst31)))); | |
100 | fConst33 = (1.0 / fConst31); | |
101 | fConst34 = (1 + ((fConst33 - 1.414213562373095) / fConst31)); | |
102 | fConst35 = (1 + ((1.414213562373095 + fConst33) / fConst31)); | |
103 | fConst36 = (1.0 / fConst35); | |
104 | fConst37 = (0 - fConst1); | |
105 | fConst38 = (1.0 / (fConst2 * fConst35)); | |
106 | fConst39 = (1.0 / fConst29); | |
107 | fConst40 = (0 - fConst16); | |
108 | fConst41 = (1.0 / (fConst20 * fConst27)); | |
109 | fConst42 = (2 * (0 - fConst14)); | |
110 | fConst43 = (1 + ((fConst10 - 1.0000000000000004) / fConst7)); | |
111 | fConst44 = (1.0 / (1 + ((fConst10 + 1.0000000000000004) / fConst7))); | |
112 | fConst45 = (1 + fConst10); | |
113 | fConst46 = (0 - ((1 - fConst10) / fConst45)); | |
114 | fConst47 = (0 - fConst10); | |
115 | fConst48 = (1.0 / (fConst45 * fConst18)); | |
116 | fConst49 = (2 * (0 - fConst8)); | |
117 | fConst50 = (1 + ((fConst16 - 1.0) / fConst13)); | |
118 | fConst51 = (1.0 / (1 + ((1.0 + fConst16) / fConst13))); | |
119 | fConst52 = (0 - fConst25); | |
120 | fConst53 = (2 * (0 - fConst23)); | |
121 | fConst54 = (1.0 / fConst5); | |
122 | fConst55 = (1.0 / tan((270.1769682087222 / iConst0))); | |
123 | fConst56 = (1 + fConst55); | |
124 | fConst57 = (0 - ((1 - fConst55) / fConst56)); | |
125 | fConst58 = (0.027 / fConst56); | |
126 | fConst59 = (0.025 / fConst2); | |
127 | fConst60 = (1.0 / tan((414.6902302738527 / iConst0))); | |
128 | fConst61 = (1 + fConst60); | |
129 | fConst62 = (0 - ((1 - fConst60) / fConst61)); | |
130 | fConst63 = (0.015 / fConst61); | |
131 | fConst64 = (1.0 / tan((609.4689747964198 / iConst0))); | |
132 | fConst65 = (1 + fConst64); | |
133 | fConst66 = (0 - ((1 - fConst64) / fConst65)); | |
134 | fConst67 = (0.0082 / fConst65); | |
135 | clear_state_f(); | |
136 | } | |
137 | ||
138 | void GxAmpMono::connect(uint32_t port,void* data) | |
139 | { | |
140 | switch ((PortIndex)port) | |
141 | { | |
142 | case AMP_MASTERGAIN: | |
143 | fslider0_ = (float*)data; | |
144 | break; | |
145 | case AMP_PREGAIN: | |
146 | fslider1_ = (float*)data; | |
147 | break; | |
148 | case AMP_WET_DRY: | |
149 | fslider2_ = (float*)data; | |
150 | break; | |
151 | case AMP_DRIVE: | |
152 | fslider3_ = (float*)data; | |
153 | break; | |
154 | case MID: | |
155 | break; | |
156 | case BASS: | |
157 | break; | |
158 | case TREBLE: | |
159 | break; | |
160 | case CLevel: | |
161 | break; | |
162 | case ALevel: | |
163 | break; | |
164 | case AMP_CONTROL: | |
165 | break; | |
166 | case AMP_NOTIFY: | |
167 | break; | |
168 | case AMP_OUTPUT: | |
169 | break; | |
170 | case AMP_INPUT: | |
171 | break; | |
172 | case AMP_OUTPUT1: | |
173 | break; | |
174 | case AMP_INPUT1: | |
175 | break; | |
176 | } | |
177 | } | |
178 | ||
179 | void GxAmpMono::run_12ax7(uint32_t n_samples, float* input, float* output) | |
180 | { | |
181 | fslider0 = (*fslider0_); | |
182 | fslider1 = (*fslider1_); | |
183 | fslider2 = (*fslider2_); | |
184 | fslider3 = (*fslider3_); | |
185 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
186 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
187 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
188 | double fSlow3 = fslider3; | |
189 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
190 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
191 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
192 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
193 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
194 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
195 | double fSlow10 = (1.25 * fSlow3); | |
196 | double fSlow11 = (1 - max(0, fSlow8)); | |
197 | for (uint32_t i=0; i<n_samples; i++) | |
198 | { | |
199 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
200 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
201 | double fTemp0 = (fConst9 * fRec11[1]); | |
202 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
203 | double fTemp1 = (double)input[i]; | |
204 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
205 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
206 | fVec0[0] = fTemp2; | |
207 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
208 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
209 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
210 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
211 | fVec1[0] = fTemp3; | |
212 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
213 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
214 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
215 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
216 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
217 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
218 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
219 | fVec2[0] = fTemp5; | |
220 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
221 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
222 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
223 | double fTemp7 = (fConst9 * fRec23[1]); | |
224 | double fTemp8 = (fConst15 * fRec24[1]); | |
225 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
226 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
227 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
228 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
229 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
230 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
231 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
232 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
233 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
234 | fVec3[0] = fTemp11; | |
235 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
236 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
237 | double fTemp12 = (1 - fRec18[0]); | |
238 | fRec9[0] = (Ftube(TUBE_TABLE_12AX7_68k, (((fTemp1 * ((fSlow11 * fRec18[0]) + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 1.581656)) - 191.42014814814814); | |
239 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
240 | double fTemp13 = (fRec8[0] * fRec7[0]); | |
241 | fVec4[0] = fTemp13; | |
242 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
243 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
244 | fRec5[0] = (Ftube(TUBE_TABLE_12AX7_250k, ((fRec30[0] + fRec6[0]) - 1.204285)) - 169.71433333333334); | |
245 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
246 | double fTemp14 = (fRec7[0] * fRec4[0]); | |
247 | fVec5[0] = fTemp14; | |
248 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
249 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
250 | fRec2[0] = (Ftube(TUBE_TABLE_12AX7_250k, ((fRec31[0] + fRec3[0]) - 0.840703)) - 147.47524390243905); | |
251 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
252 | output[i] = (float)(fRec1[0] * fRec0[0]); | |
253 | // post processing | |
254 | fRec1[1] = fRec1[0]; | |
255 | fRec2[2] = fRec2[1]; | |
256 | fRec2[1] = fRec2[0]; | |
257 | fRec31[1] = fRec31[0]; | |
258 | fRec3[1] = fRec3[0]; | |
259 | fVec5[1] = fVec5[0]; | |
260 | fRec4[1] = fRec4[0]; | |
261 | fRec5[2] = fRec5[1]; | |
262 | fRec5[1] = fRec5[0]; | |
263 | fRec30[1] = fRec30[0]; | |
264 | fRec6[1] = fRec6[0]; | |
265 | fVec4[1] = fVec4[0]; | |
266 | fRec8[1] = fRec8[0]; | |
267 | fRec9[2] = fRec9[1]; | |
268 | fRec9[1] = fRec9[0]; | |
269 | fRec29[1] = fRec29[0]; | |
270 | fRec10[1] = fRec10[0]; | |
271 | fVec3[1] = fVec3[0]; | |
272 | fRec27[2] = fRec27[1]; | |
273 | fRec27[1] = fRec27[0]; | |
274 | fRec28[1] = fRec28[0]; | |
275 | fRec23[2] = fRec23[1]; | |
276 | fRec23[1] = fRec23[0]; | |
277 | fRec24[2] = fRec24[1]; | |
278 | fRec24[1] = fRec24[0]; | |
279 | fRec25[2] = fRec25[1]; | |
280 | fRec25[1] = fRec25[0]; | |
281 | fRec26[1] = fRec26[0]; | |
282 | fRec19[2] = fRec19[1]; | |
283 | fRec19[1] = fRec19[0]; | |
284 | fRec20[1] = fRec20[0]; | |
285 | fVec2[1] = fVec2[0]; | |
286 | fRec21[2] = fRec21[1]; | |
287 | fRec21[1] = fRec21[0]; | |
288 | fRec22[1] = fRec22[0]; | |
289 | fRec11[2] = fRec11[1]; | |
290 | fRec11[1] = fRec11[0]; | |
291 | fRec12[2] = fRec12[1]; | |
292 | fRec12[1] = fRec12[0]; | |
293 | fRec13[1] = fRec13[0]; | |
294 | fVec1[1] = fVec1[0]; | |
295 | fRec14[2] = fRec14[1]; | |
296 | fRec14[1] = fRec14[0]; | |
297 | fRec15[1] = fRec15[0]; | |
298 | fRec16[1] = fRec16[0]; | |
299 | fVec0[1] = fVec0[0]; | |
300 | fRec17[2] = fRec17[1]; | |
301 | fRec17[1] = fRec17[0]; | |
302 | fRec18[1] = fRec18[0]; | |
303 | fRec7[1] = fRec7[0]; | |
304 | fRec0[1] = fRec0[0]; | |
305 | } | |
306 | } | |
307 | ||
308 | void GxAmpMono::run_12AT7(uint32_t n_samples, float* input, float* output) | |
309 | { | |
310 | fslider0 = (*fslider0_); | |
311 | fslider1 = (*fslider1_); | |
312 | fslider2 = (*fslider2_); | |
313 | fslider3 = (*fslider3_); | |
314 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
315 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
316 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
317 | double fSlow3 = fslider3; | |
318 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
319 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
320 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
321 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
322 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
323 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
324 | double fSlow10 = (1.25 * fSlow3); | |
325 | double fSlow11 = (1 - max(0, fSlow8)); | |
326 | for (uint32_t i=0; i<n_samples; i++) | |
327 | { | |
328 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
329 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
330 | double fTemp0 = (fConst9 * fRec11[1]); | |
331 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
332 | double fTemp1 = (double)input[i]; | |
333 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
334 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
335 | fVec0[0] = fTemp2; | |
336 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
337 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
338 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
339 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
340 | fVec1[0] = fTemp3; | |
341 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
342 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
343 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
344 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
345 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
346 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
347 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
348 | fVec2[0] = fTemp5; | |
349 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
350 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
351 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
352 | double fTemp7 = (fConst9 * fRec23[1]); | |
353 | double fTemp8 = (fConst15 * fRec24[1]); | |
354 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
355 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
356 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
357 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
358 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
359 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
360 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
361 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
362 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
363 | fVec3[0] = fTemp11; | |
364 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
365 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
366 | double fTemp12 = (1 - fRec18[0]); | |
367 | fRec9[0] = (Ftube(TUBE_TABLE_12AT7_68k, (((fTemp1 * ((fSlow11 * fRec18[0]) + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 2.617753)) - 153.04618518518518); | |
368 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
369 | double fTemp13 = (fRec8[0] * fRec7[0]); | |
370 | fVec4[0] = fTemp13; | |
371 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
372 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
373 | fRec5[0] = (Ftube(TUBE_TABLE_12AT7_250k, ((fRec30[0] + fRec6[0]) - 1.887332)) - 124.17786666666666); | |
374 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
375 | double fTemp14 = (fRec7[0] * fRec4[0]); | |
376 | fVec5[0] = fTemp14; | |
377 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
378 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
379 | fRec2[0] = (Ftube(TUBE_TABLE_12AT7_250k, ((fRec31[0] + fRec3[0]) - 1.256962)) - 96.7119512195122); | |
380 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
381 | output[i] = (float)(fRec1[0] * fRec0[0]); | |
382 | // post processing | |
383 | fRec1[1] = fRec1[0]; | |
384 | fRec2[2] = fRec2[1]; | |
385 | fRec2[1] = fRec2[0]; | |
386 | fRec31[1] = fRec31[0]; | |
387 | fRec3[1] = fRec3[0]; | |
388 | fVec5[1] = fVec5[0]; | |
389 | fRec4[1] = fRec4[0]; | |
390 | fRec5[2] = fRec5[1]; | |
391 | fRec5[1] = fRec5[0]; | |
392 | fRec30[1] = fRec30[0]; | |
393 | fRec6[1] = fRec6[0]; | |
394 | fVec4[1] = fVec4[0]; | |
395 | fRec8[1] = fRec8[0]; | |
396 | fRec9[2] = fRec9[1]; | |
397 | fRec9[1] = fRec9[0]; | |
398 | fRec29[1] = fRec29[0]; | |
399 | fRec10[1] = fRec10[0]; | |
400 | fVec3[1] = fVec3[0]; | |
401 | fRec27[2] = fRec27[1]; | |
402 | fRec27[1] = fRec27[0]; | |
403 | fRec28[1] = fRec28[0]; | |
404 | fRec23[2] = fRec23[1]; | |
405 | fRec23[1] = fRec23[0]; | |
406 | fRec24[2] = fRec24[1]; | |
407 | fRec24[1] = fRec24[0]; | |
408 | fRec25[2] = fRec25[1]; | |
409 | fRec25[1] = fRec25[0]; | |
410 | fRec26[1] = fRec26[0]; | |
411 | fRec19[2] = fRec19[1]; | |
412 | fRec19[1] = fRec19[0]; | |
413 | fRec20[1] = fRec20[0]; | |
414 | fVec2[1] = fVec2[0]; | |
415 | fRec21[2] = fRec21[1]; | |
416 | fRec21[1] = fRec21[0]; | |
417 | fRec22[1] = fRec22[0]; | |
418 | fRec11[2] = fRec11[1]; | |
419 | fRec11[1] = fRec11[0]; | |
420 | fRec12[2] = fRec12[1]; | |
421 | fRec12[1] = fRec12[0]; | |
422 | fRec13[1] = fRec13[0]; | |
423 | fVec1[1] = fVec1[0]; | |
424 | fRec14[2] = fRec14[1]; | |
425 | fRec14[1] = fRec14[0]; | |
426 | fRec15[1] = fRec15[0]; | |
427 | fRec16[1] = fRec16[0]; | |
428 | fVec0[1] = fVec0[0]; | |
429 | fRec17[2] = fRec17[1]; | |
430 | fRec17[1] = fRec17[0]; | |
431 | fRec18[1] = fRec18[0]; | |
432 | fRec7[1] = fRec7[0]; | |
433 | fRec0[1] = fRec0[0]; | |
434 | } | |
435 | } | |
436 | ||
437 | void GxAmpMono::run_6C16(uint32_t n_samples, float* input, float* output) | |
438 | { | |
439 | fslider0 = (*fslider0_); | |
440 | fslider1 = (*fslider1_); | |
441 | fslider2 = (*fslider2_); | |
442 | fslider3 = (*fslider3_); | |
443 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
444 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
445 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
446 | double fSlow3 = fslider3; | |
447 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
448 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
449 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
450 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
451 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
452 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
453 | double fSlow10 = (1.25 * fSlow3); | |
454 | double fSlow11 = (1 - max(0, fSlow8)); | |
455 | for (uint32_t i=0; i<n_samples; i++) | |
456 | { | |
457 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
458 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
459 | double fTemp0 = (fConst9 * fRec11[1]); | |
460 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
461 | double fTemp1 = (double)input[i]; | |
462 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
463 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
464 | fVec0[0] = fTemp2; | |
465 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
466 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
467 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
468 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
469 | fVec1[0] = fTemp3; | |
470 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
471 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
472 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
473 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
474 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
475 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
476 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
477 | fVec2[0] = fTemp5; | |
478 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
479 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
480 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
481 | double fTemp7 = (fConst9 * fRec23[1]); | |
482 | double fTemp8 = (fConst15 * fRec24[1]); | |
483 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
484 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
485 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
486 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
487 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
488 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
489 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
490 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
491 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
492 | fVec3[0] = fTemp11; | |
493 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
494 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
495 | double fTemp12 = (1 - fRec18[0]); | |
496 | fRec9[0] = (Ftube(TUBE_TABLE_6C16_68k, (((fTemp1 * ((fSlow11 * fRec18[0]) + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 2.921806)) - 141.78496296296294); | |
497 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
498 | double fTemp13 = (fRec8[0] * fRec7[0]); | |
499 | fVec4[0] = fTemp13; | |
500 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
501 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
502 | fRec5[0] = (Ftube(TUBE_TABLE_6C16_250k, ((fRec30[0] + fRec6[0]) - 2.097743)) - 110.15046666666666); | |
503 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
504 | double fTemp14 = (fRec7[0] * fRec4[0]); | |
505 | fVec5[0] = fTemp14; | |
506 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
507 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
508 | fRec2[0] = (Ftube(TUBE_TABLE_6C16_250k, ((fRec31[0] + fRec3[0]) - 1.378742)) - 81.86073170731709); | |
509 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
510 | output[i] = (float)(fRec1[0] * fRec0[0]); | |
511 | // post processing | |
512 | fRec1[1] = fRec1[0]; | |
513 | fRec2[2] = fRec2[1]; | |
514 | fRec2[1] = fRec2[0]; | |
515 | fRec31[1] = fRec31[0]; | |
516 | fRec3[1] = fRec3[0]; | |
517 | fVec5[1] = fVec5[0]; | |
518 | fRec4[1] = fRec4[0]; | |
519 | fRec5[2] = fRec5[1]; | |
520 | fRec5[1] = fRec5[0]; | |
521 | fRec30[1] = fRec30[0]; | |
522 | fRec6[1] = fRec6[0]; | |
523 | fVec4[1] = fVec4[0]; | |
524 | fRec8[1] = fRec8[0]; | |
525 | fRec9[2] = fRec9[1]; | |
526 | fRec9[1] = fRec9[0]; | |
527 | fRec29[1] = fRec29[0]; | |
528 | fRec10[1] = fRec10[0]; | |
529 | fVec3[1] = fVec3[0]; | |
530 | fRec27[2] = fRec27[1]; | |
531 | fRec27[1] = fRec27[0]; | |
532 | fRec28[1] = fRec28[0]; | |
533 | fRec23[2] = fRec23[1]; | |
534 | fRec23[1] = fRec23[0]; | |
535 | fRec24[2] = fRec24[1]; | |
536 | fRec24[1] = fRec24[0]; | |
537 | fRec25[2] = fRec25[1]; | |
538 | fRec25[1] = fRec25[0]; | |
539 | fRec26[1] = fRec26[0]; | |
540 | fRec19[2] = fRec19[1]; | |
541 | fRec19[1] = fRec19[0]; | |
542 | fRec20[1] = fRec20[0]; | |
543 | fVec2[1] = fVec2[0]; | |
544 | fRec21[2] = fRec21[1]; | |
545 | fRec21[1] = fRec21[0]; | |
546 | fRec22[1] = fRec22[0]; | |
547 | fRec11[2] = fRec11[1]; | |
548 | fRec11[1] = fRec11[0]; | |
549 | fRec12[2] = fRec12[1]; | |
550 | fRec12[1] = fRec12[0]; | |
551 | fRec13[1] = fRec13[0]; | |
552 | fVec1[1] = fVec1[0]; | |
553 | fRec14[2] = fRec14[1]; | |
554 | fRec14[1] = fRec14[0]; | |
555 | fRec15[1] = fRec15[0]; | |
556 | fRec16[1] = fRec16[0]; | |
557 | fVec0[1] = fVec0[0]; | |
558 | fRec17[2] = fRec17[1]; | |
559 | fRec17[1] = fRec17[0]; | |
560 | fRec18[1] = fRec18[0]; | |
561 | fRec7[1] = fRec7[0]; | |
562 | fRec0[1] = fRec0[0]; | |
563 | } | |
564 | } | |
565 | ||
566 | void GxAmpMono::run_6V6(uint32_t n_samples, float* input, float* output) | |
567 | { | |
568 | fslider0 = (*fslider0_); | |
569 | fslider1 = (*fslider1_); | |
570 | fslider2 = (*fslider2_); | |
571 | fslider3 = (*fslider3_); | |
572 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
573 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
574 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
575 | double fSlow3 = fslider3; | |
576 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
577 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
578 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
579 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
580 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
581 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
582 | double fSlow10 = (1.25 * fSlow3); | |
583 | double fSlow11 = (1 - max(0, fSlow8)); | |
584 | for (uint32_t i=0; i<n_samples; i++) | |
585 | { | |
586 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
587 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
588 | double fTemp0 = (fConst9 * fRec11[1]); | |
589 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
590 | double fTemp1 = (double)input[i]; | |
591 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
592 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
593 | fVec0[0] = fTemp2; | |
594 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
595 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
596 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
597 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
598 | fVec1[0] = fTemp3; | |
599 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
600 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
601 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
602 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
603 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
604 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
605 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
606 | fVec2[0] = fTemp5; | |
607 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
608 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
609 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
610 | double fTemp7 = (fConst9 * fRec23[1]); | |
611 | double fTemp8 = (fConst15 * fRec24[1]); | |
612 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
613 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
614 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
615 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
616 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
617 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
618 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
619 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
620 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
621 | fVec3[0] = fTemp11; | |
622 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
623 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
624 | double fTemp12 = (1 - fRec18[0]); | |
625 | fRec9[0] = (Ftube(TUBE_TABLE_6V6_68k, (((fTemp1 * ((fSlow11 * fRec18[0]) + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 2.29615)) - 164.9574074074074); | |
626 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
627 | double fTemp13 = (fRec8[0] * fRec7[0]); | |
628 | fVec4[0] = fTemp13; | |
629 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
630 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
631 | fRec5[0] = (Ftube(TUBE_TABLE_6V6_250k, ((fRec30[0] + fRec6[0]) - 1.675587)) - 138.2942); | |
632 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
633 | double fTemp14 = (fRec7[0] * fRec4[0]); | |
634 | fVec5[0] = fTemp14; | |
635 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
636 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
637 | fRec2[0] = (Ftube(TUBE_TABLE_6V6_250k, ((fRec31[0] + fRec3[0]) - 1.130462)) - 112.13878048780487); | |
638 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
639 | output[i] = (float)(fRec1[0] * fRec0[0]); | |
640 | // post processing | |
641 | fRec1[1] = fRec1[0]; | |
642 | fRec2[2] = fRec2[1]; | |
643 | fRec2[1] = fRec2[0]; | |
644 | fRec31[1] = fRec31[0]; | |
645 | fRec3[1] = fRec3[0]; | |
646 | fVec5[1] = fVec5[0]; | |
647 | fRec4[1] = fRec4[0]; | |
648 | fRec5[2] = fRec5[1]; | |
649 | fRec5[1] = fRec5[0]; | |
650 | fRec30[1] = fRec30[0]; | |
651 | fRec6[1] = fRec6[0]; | |
652 | fVec4[1] = fVec4[0]; | |
653 | fRec8[1] = fRec8[0]; | |
654 | fRec9[2] = fRec9[1]; | |
655 | fRec9[1] = fRec9[0]; | |
656 | fRec29[1] = fRec29[0]; | |
657 | fRec10[1] = fRec10[0]; | |
658 | fVec3[1] = fVec3[0]; | |
659 | fRec27[2] = fRec27[1]; | |
660 | fRec27[1] = fRec27[0]; | |
661 | fRec28[1] = fRec28[0]; | |
662 | fRec23[2] = fRec23[1]; | |
663 | fRec23[1] = fRec23[0]; | |
664 | fRec24[2] = fRec24[1]; | |
665 | fRec24[1] = fRec24[0]; | |
666 | fRec25[2] = fRec25[1]; | |
667 | fRec25[1] = fRec25[0]; | |
668 | fRec26[1] = fRec26[0]; | |
669 | fRec19[2] = fRec19[1]; | |
670 | fRec19[1] = fRec19[0]; | |
671 | fRec20[1] = fRec20[0]; | |
672 | fVec2[1] = fVec2[0]; | |
673 | fRec21[2] = fRec21[1]; | |
674 | fRec21[1] = fRec21[0]; | |
675 | fRec22[1] = fRec22[0]; | |
676 | fRec11[2] = fRec11[1]; | |
677 | fRec11[1] = fRec11[0]; | |
678 | fRec12[2] = fRec12[1]; | |
679 | fRec12[1] = fRec12[0]; | |
680 | fRec13[1] = fRec13[0]; | |
681 | fVec1[1] = fVec1[0]; | |
682 | fRec14[2] = fRec14[1]; | |
683 | fRec14[1] = fRec14[0]; | |
684 | fRec15[1] = fRec15[0]; | |
685 | fRec16[1] = fRec16[0]; | |
686 | fVec0[1] = fVec0[0]; | |
687 | fRec17[2] = fRec17[1]; | |
688 | fRec17[1] = fRec17[0]; | |
689 | fRec18[1] = fRec18[0]; | |
690 | fRec7[1] = fRec7[0]; | |
691 | fRec0[1] = fRec0[0]; | |
692 | } | |
693 | } | |
694 | ||
695 | ||
696 | void GxAmpMono::run_6DJ8(uint32_t n_samples, float* input, float* output) | |
697 | { | |
698 | fslider0 = (*fslider0_); | |
699 | fslider1 = (*fslider1_); | |
700 | fslider2 = (*fslider2_); | |
701 | fslider3 = (*fslider3_); | |
702 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
703 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
704 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
705 | double fSlow3 = fslider3; | |
706 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
707 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
708 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
709 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
710 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
711 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
712 | double fSlow10 = (1.25 * fSlow3); | |
713 | double fSlow11 = (1 - max(0, fSlow8)); | |
714 | for (uint32_t i=0; i<n_samples; i++) | |
715 | { | |
716 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
717 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
718 | double fTemp0 = (fConst9 * fRec11[1]); | |
719 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
720 | double fTemp1 = (double)input[i]; | |
721 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
722 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
723 | fVec0[0] = fTemp2; | |
724 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
725 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
726 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
727 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
728 | fVec1[0] = fTemp3; | |
729 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
730 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
731 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
732 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
733 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
734 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
735 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
736 | fVec2[0] = fTemp5; | |
737 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
738 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
739 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
740 | double fTemp7 = (fConst9 * fRec23[1]); | |
741 | double fTemp8 = (fConst15 * fRec24[1]); | |
742 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
743 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
744 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
745 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
746 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
747 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
748 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
749 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
750 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
751 | fVec3[0] = fTemp11; | |
752 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
753 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
754 | double fTemp12 = (1 - fRec18[0]); | |
755 | fRec9[0] = (Ftube(TUBE_TABLE_6DJ8_68k, (((fTemp1 * ((fSlow11 * fRec18[0]) + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 1.863946)) - 60.96496296296296); | |
756 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
757 | double fTemp13 = (fRec8[0] * fRec7[0]); | |
758 | fVec4[0] = fTemp13; | |
759 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
760 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
761 | fRec5[0] = (Ftube(TUBE_TABLE_6DJ8_250k, ((fRec30[0] + fRec6[0]) - 1.271609)) - 45.22606666666667); | |
762 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
763 | double fTemp14 = (fRec7[0] * fRec4[0]); | |
764 | fVec5[0] = fTemp14; | |
765 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
766 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
767 | fRec2[0] = (Ftube(TUBE_TABLE_6DJ8_250k, ((fRec31[0] + fRec3[0]) - 0.797043)) - 32.799634146341475); | |
768 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
769 | output[i] = (float)(fRec1[0] * fRec0[0]); | |
770 | // post processing | |
771 | fRec1[1] = fRec1[0]; | |
772 | fRec2[2] = fRec2[1]; | |
773 | fRec2[1] = fRec2[0]; | |
774 | fRec31[1] = fRec31[0]; | |
775 | fRec3[1] = fRec3[0]; | |
776 | fVec5[1] = fVec5[0]; | |
777 | fRec4[1] = fRec4[0]; | |
778 | fRec5[2] = fRec5[1]; | |
779 | fRec5[1] = fRec5[0]; | |
780 | fRec30[1] = fRec30[0]; | |
781 | fRec6[1] = fRec6[0]; | |
782 | fVec4[1] = fVec4[0]; | |
783 | fRec8[1] = fRec8[0]; | |
784 | fRec9[2] = fRec9[1]; | |
785 | fRec9[1] = fRec9[0]; | |
786 | fRec29[1] = fRec29[0]; | |
787 | fRec10[1] = fRec10[0]; | |
788 | fVec3[1] = fVec3[0]; | |
789 | fRec27[2] = fRec27[1]; | |
790 | fRec27[1] = fRec27[0]; | |
791 | fRec28[1] = fRec28[0]; | |
792 | fRec23[2] = fRec23[1]; | |
793 | fRec23[1] = fRec23[0]; | |
794 | fRec24[2] = fRec24[1]; | |
795 | fRec24[1] = fRec24[0]; | |
796 | fRec25[2] = fRec25[1]; | |
797 | fRec25[1] = fRec25[0]; | |
798 | fRec26[1] = fRec26[0]; | |
799 | fRec19[2] = fRec19[1]; | |
800 | fRec19[1] = fRec19[0]; | |
801 | fRec20[1] = fRec20[0]; | |
802 | fVec2[1] = fVec2[0]; | |
803 | fRec21[2] = fRec21[1]; | |
804 | fRec21[1] = fRec21[0]; | |
805 | fRec22[1] = fRec22[0]; | |
806 | fRec11[2] = fRec11[1]; | |
807 | fRec11[1] = fRec11[0]; | |
808 | fRec12[2] = fRec12[1]; | |
809 | fRec12[1] = fRec12[0]; | |
810 | fRec13[1] = fRec13[0]; | |
811 | fVec1[1] = fVec1[0]; | |
812 | fRec14[2] = fRec14[1]; | |
813 | fRec14[1] = fRec14[0]; | |
814 | fRec15[1] = fRec15[0]; | |
815 | fRec16[1] = fRec16[0]; | |
816 | fVec0[1] = fVec0[0]; | |
817 | fRec17[2] = fRec17[1]; | |
818 | fRec17[1] = fRec17[0]; | |
819 | fRec18[1] = fRec18[0]; | |
820 | fRec7[1] = fRec7[0]; | |
821 | fRec0[1] = fRec0[0]; | |
822 | } | |
823 | } | |
824 | ||
825 | ||
826 | // static wrappers | |
827 | void GxAmpMono::init_static(uint32_t samplingFreq, GxAmpMono *p) | |
828 | { | |
829 | p->init(samplingFreq); | |
830 | } | |
831 | ||
832 | void GxAmpMono::connect_static(uint32_t port,void* data, GxAmpMono *p) | |
833 | { | |
834 | p->connect(port, data); | |
835 | } | |
836 | ||
837 | ||
838 | void GxAmpMono::run_static(uint32_t n_samples, float* input, float* output, GxAmpMono *p) | |
839 | { | |
840 | (p->*_a_ptr)(n_samples, input, output); | |
841 | } | |
842 | ||
843 | /////////////////////////////// STEREO ///////////////////////////////// | |
844 | ||
845 | ||
846 | inline void GxAmpStereo::clear_state_f() | |
847 | { | |
848 | for (int32_t i=0; i<2; i++) fRec0[i] = 0; | |
849 | for (int32_t i=0; i<2; i++) fRec7[i] = 0; | |
850 | for (int32_t i=0; i<2; i++) fRec18[i] = 0; | |
851 | for (int32_t i=0; i<3; i++) fRec17[i] = 0; | |
852 | for (int32_t i=0; i<2; i++) fVec0[i] = 0; | |
853 | for (int32_t i=0; i<2; i++) fRec16[i] = 0; | |
854 | for (int32_t i=0; i<2; i++) fRec15[i] = 0; | |
855 | for (int32_t i=0; i<3; i++) fRec14[i] = 0; | |
856 | for (int32_t i=0; i<2; i++) fVec1[i] = 0; | |
857 | for (int32_t i=0; i<2; i++) fRec13[i] = 0; | |
858 | for (int32_t i=0; i<3; i++) fRec12[i] = 0; | |
859 | for (int32_t i=0; i<3; i++) fRec11[i] = 0; | |
860 | for (int32_t i=0; i<2; i++) fRec22[i] = 0; | |
861 | for (int32_t i=0; i<3; i++) fRec21[i] = 0; | |
862 | for (int32_t i=0; i<2; i++) fVec2[i] = 0; | |
863 | for (int32_t i=0; i<2; i++) fRec20[i] = 0; | |
864 | for (int32_t i=0; i<3; i++) fRec19[i] = 0; | |
865 | for (int32_t i=0; i<2; i++) fRec26[i] = 0; | |
866 | for (int32_t i=0; i<3; i++) fRec25[i] = 0; | |
867 | for (int32_t i=0; i<3; i++) fRec24[i] = 0; | |
868 | for (int32_t i=0; i<3; i++) fRec23[i] = 0; | |
869 | for (int32_t i=0; i<2; i++) fRec28[i] = 0; | |
870 | for (int32_t i=0; i<3; i++) fRec27[i] = 0; | |
871 | for (int32_t i=0; i<2; i++) fVec3[i] = 0; | |
872 | for (int32_t i=0; i<2; i++) fRec10[i] = 0; | |
873 | for (int32_t i=0; i<2; i++) fRec29[i] = 0; | |
874 | for (int32_t i=0; i<3; i++) fRec9[i] = 0; | |
875 | for (int32_t i=0; i<2; i++) fRec8[i] = 0; | |
876 | for (int32_t i=0; i<2; i++) fVec4[i] = 0; | |
877 | for (int32_t i=0; i<2; i++) fRec6[i] = 0; | |
878 | for (int32_t i=0; i<2; i++) fRec30[i] = 0; | |
879 | for (int32_t i=0; i<3; i++) fRec5[i] = 0; | |
880 | for (int32_t i=0; i<2; i++) fRec4[i] = 0; | |
881 | for (int32_t i=0; i<2; i++) fVec5[i] = 0; | |
882 | for (int32_t i=0; i<2; i++) fRec3[i] = 0; | |
883 | for (int32_t i=0; i<2; i++) fRec31[i] = 0; | |
884 | for (int32_t i=0; i<3; i++) fRec2[i] = 0; | |
885 | for (int32_t i=0; i<2; i++) fRec1[i] = 0; | |
886 | for (int32_t i=0; i<3; i++) fRec47[i] = 0; | |
887 | for (int32_t i=0; i<2; i++) fVec6[i] = 0; | |
888 | for (int32_t i=0; i<2; i++) fRec46[i] = 0; | |
889 | for (int32_t i=0; i<2; i++) fRec45[i] = 0; | |
890 | for (int32_t i=0; i<3; i++) fRec44[i] = 0; | |
891 | for (int32_t i=0; i<2; i++) fVec7[i] = 0; | |
892 | for (int32_t i=0; i<2; i++) fRec43[i] = 0; | |
893 | for (int32_t i=0; i<3; i++) fRec42[i] = 0; | |
894 | for (int32_t i=0; i<3; i++) fRec41[i] = 0; | |
895 | for (int32_t i=0; i<2; i++) fRec51[i] = 0; | |
896 | for (int32_t i=0; i<3; i++) fRec50[i] = 0; | |
897 | for (int32_t i=0; i<2; i++) fVec8[i] = 0; | |
898 | for (int32_t i=0; i<2; i++) fRec49[i] = 0; | |
899 | for (int32_t i=0; i<3; i++) fRec48[i] = 0; | |
900 | for (int32_t i=0; i<2; i++) fRec55[i] = 0; | |
901 | for (int32_t i=0; i<3; i++) fRec54[i] = 0; | |
902 | for (int32_t i=0; i<3; i++) fRec53[i] = 0; | |
903 | for (int32_t i=0; i<3; i++) fRec52[i] = 0; | |
904 | for (int32_t i=0; i<2; i++) fRec57[i] = 0; | |
905 | for (int32_t i=0; i<3; i++) fRec56[i] = 0; | |
906 | for (int32_t i=0; i<2; i++) fVec9[i] = 0; | |
907 | for (int32_t i=0; i<2; i++) fRec40[i] = 0; | |
908 | for (int32_t i=0; i<2; i++) fRec58[i] = 0; | |
909 | for (int32_t i=0; i<3; i++) fRec39[i] = 0; | |
910 | for (int32_t i=0; i<2; i++) fRec38[i] = 0; | |
911 | for (int32_t i=0; i<2; i++) fVec10[i] = 0; | |
912 | for (int32_t i=0; i<2; i++) fRec37[i] = 0; | |
913 | for (int32_t i=0; i<2; i++) fRec59[i] = 0; | |
914 | for (int32_t i=0; i<3; i++) fRec36[i] = 0; | |
915 | for (int32_t i=0; i<2; i++) fRec35[i] = 0; | |
916 | for (int32_t i=0; i<2; i++) fVec11[i] = 0; | |
917 | for (int32_t i=0; i<2; i++) fRec34[i] = 0; | |
918 | for (int32_t i=0; i<2; i++) fRec60[i] = 0; | |
919 | for (int32_t i=0; i<3; i++) fRec33[i] = 0; | |
920 | for (int32_t i=0; i<2; i++) fRec32[i] = 0; | |
921 | } | |
922 | ||
923 | ||
924 | inline void GxAmpStereo::init(uint32_t samplingFreq) | |
925 | { | |
926 | fSamplingFreq = samplingFreq; | |
927 | iConst0 = min(192000, max(1, fSamplingFreq)); | |
928 | fConst1 = (1.0 / tan((97.38937226128358 / iConst0))); | |
929 | fConst2 = (1 + fConst1); | |
930 | fConst3 = (0 - ((1 - fConst1) / fConst2)); | |
931 | fConst4 = (1.0 / tan((20517.741620594938 / iConst0))); | |
932 | fConst5 = (1 + fConst4); | |
933 | fConst6 = (0 - ((1 - fConst4) / fConst5)); | |
934 | fConst7 = tan((942.4777960769379 / iConst0)); | |
935 | fConst8 = (1.0 / faustpower<2>(fConst7)); | |
936 | fConst9 = (2 * (1 - fConst8)); | |
937 | fConst10 = (1.0 / fConst7); | |
938 | fConst11 = (1 + ((fConst10 - 1.0) / fConst7)); | |
939 | fConst12 = (1.0 / (1 + ((1.0 + fConst10) / fConst7))); | |
940 | fConst13 = tan((3769.9111843077517 / iConst0)); | |
941 | fConst14 = (1.0 / faustpower<2>(fConst13)); | |
942 | fConst15 = (2 * (1 - fConst14)); | |
943 | fConst16 = (1.0 / fConst13); | |
944 | fConst17 = (1 + ((fConst16 - 1.0000000000000004) / fConst13)); | |
945 | fConst18 = (1 + ((fConst16 + 1.0000000000000004) / fConst13)); | |
946 | fConst19 = (1.0 / fConst18); | |
947 | fConst20 = (1 + fConst16); | |
948 | fConst21 = (0 - ((1 - fConst16) / fConst20)); | |
949 | fConst22 = tan((10053.096491487338 / iConst0)); | |
950 | fConst23 = (1.0 / faustpower<2>(fConst22)); | |
951 | fConst24 = (2 * (1 - fConst23)); | |
952 | fConst25 = (1.0 / fConst22); | |
953 | fConst26 = (1 + ((fConst25 - 1.0000000000000004) / fConst22)); | |
954 | fConst27 = (1 + ((1.0000000000000004 + fConst25) / fConst22)); | |
955 | fConst28 = (1.0 / fConst27); | |
956 | fConst29 = (1 + fConst25); | |
957 | fConst30 = (0 - ((1 - fConst25) / fConst29)); | |
958 | fConst31 = tan((47123.8898038469 / iConst0)); | |
959 | fConst32 = (2 * (1 - (1.0 / faustpower<2>(fConst31)))); | |
960 | fConst33 = (1.0 / fConst31); | |
961 | fConst34 = (1 + ((fConst33 - 1.414213562373095) / fConst31)); | |
962 | fConst35 = (1 + ((1.414213562373095 + fConst33) / fConst31)); | |
963 | fConst36 = (1.0 / fConst35); | |
964 | fConst37 = (0 - fConst1); | |
965 | fConst38 = (1.0 / (fConst2 * fConst35)); | |
966 | fConst39 = (1.0 / fConst29); | |
967 | fConst40 = (0 - fConst16); | |
968 | fConst41 = (1.0 / (fConst20 * fConst27)); | |
969 | fConst42 = (2 * (0 - fConst14)); | |
970 | fConst43 = (1 + ((fConst10 - 1.0000000000000004) / fConst7)); | |
971 | fConst44 = (1.0 / (1 + ((fConst10 + 1.0000000000000004) / fConst7))); | |
972 | fConst45 = (1 + fConst10); | |
973 | fConst46 = (0 - ((1 - fConst10) / fConst45)); | |
974 | fConst47 = (0 - fConst10); | |
975 | fConst48 = (1.0 / (fConst45 * fConst18)); | |
976 | fConst49 = (2 * (0 - fConst8)); | |
977 | fConst50 = (1 + ((fConst16 - 1.0) / fConst13)); | |
978 | fConst51 = (1.0 / (1 + ((1.0 + fConst16) / fConst13))); | |
979 | fConst52 = (0 - fConst25); | |
980 | fConst53 = (2 * (0 - fConst23)); | |
981 | fConst54 = (1.0 / fConst5); | |
982 | fConst55 = (1.0 / tan((270.1769682087222 / iConst0))); | |
983 | fConst56 = (1 + fConst55); | |
984 | fConst57 = (0 - ((1 - fConst55) / fConst56)); | |
985 | fConst58 = (0.027 / fConst56); | |
986 | fConst59 = (0.025 / fConst2); | |
987 | fConst60 = (1.0 / tan((414.6902302738527 / iConst0))); | |
988 | fConst61 = (1 + fConst60); | |
989 | fConst62 = (0 - ((1 - fConst60) / fConst61)); | |
990 | fConst63 = (0.015 / fConst61); | |
991 | fConst64 = (1.0 / tan((609.4689747964198 / iConst0))); | |
992 | fConst65 = (1 + fConst64); | |
993 | fConst66 = (0 - ((1 - fConst64) / fConst65)); | |
994 | fConst67 = (0.0082 / fConst65); | |
995 | clear_state_f(); | |
996 | } | |
997 | ||
998 | void GxAmpStereo::connect(uint32_t port,void* data) | |
999 | { | |
1000 | switch ((PortIndex)port) | |
1001 | { | |
1002 | case AMP_MASTERGAIN: | |
1003 | fslider0_ = (float*)data; | |
1004 | break; | |
1005 | case AMP_PREGAIN: | |
1006 | fslider1_ = (float*)data; | |
1007 | break; | |
1008 | case AMP_WET_DRY: | |
1009 | fslider2_ = (float*)data; | |
1010 | break; | |
1011 | case AMP_DRIVE: | |
1012 | fslider3_ = (float*)data; | |
1013 | break; | |
1014 | case MID: | |
1015 | break; | |
1016 | case BASS: | |
1017 | break; | |
1018 | case TREBLE: | |
1019 | break; | |
1020 | case CLevel: | |
1021 | break; | |
1022 | case ALevel: | |
1023 | break; | |
1024 | case AMP_OUTPUT: | |
1025 | //output = (float*)data; | |
1026 | break; | |
1027 | case AMP_INPUT: | |
1028 | //input = (float*)data; | |
1029 | break; | |
1030 | case AMP_OUTPUT1: | |
1031 | //output = (float*)data; | |
1032 | break; | |
1033 | case AMP_INPUT1: | |
1034 | //input = (float*)data; | |
1035 | break; | |
1036 | case AMP_CONTROL: | |
1037 | break; | |
1038 | case AMP_NOTIFY: | |
1039 | break; | |
1040 | } | |
1041 | } | |
1042 | ||
1043 | inline void GxAmpStereo::run_12ax7(uint32_t count, float *input0, float *input1, float *output0, float *output1) | |
1044 | { | |
1045 | fslider0 = (*fslider0_); | |
1046 | fslider1 = (*fslider1_); | |
1047 | fslider2 = (*fslider2_); | |
1048 | fslider3 = (*fslider3_); | |
1049 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
1050 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
1051 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
1052 | double fSlow3 = fslider3; | |
1053 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
1054 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
1055 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
1056 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
1057 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
1058 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
1059 | double fSlow10 = (1.25 * fSlow3); | |
1060 | double fSlow11 = (1 - max(0, fSlow8)); | |
1061 | for (uint32_t i=0; i<count; i++) | |
1062 | { | |
1063 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
1064 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
1065 | double fTemp0 = (fConst9 * fRec11[1]); | |
1066 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
1067 | double fTemp1 = (double)input0[i]; | |
1068 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
1069 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
1070 | fVec0[0] = fTemp2; | |
1071 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
1072 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
1073 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
1074 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
1075 | fVec1[0] = fTemp3; | |
1076 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
1077 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
1078 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
1079 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
1080 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
1081 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
1082 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
1083 | fVec2[0] = fTemp5; | |
1084 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
1085 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
1086 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
1087 | double fTemp7 = (fConst9 * fRec23[1]); | |
1088 | double fTemp8 = (fConst15 * fRec24[1]); | |
1089 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
1090 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
1091 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
1092 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
1093 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
1094 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
1095 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
1096 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
1097 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
1098 | fVec3[0] = fTemp11; | |
1099 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
1100 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
1101 | double fTemp12 = (1 - fRec18[0]); | |
1102 | double fTemp13 = (fSlow11 * fRec18[0]); | |
1103 | fRec9[0] = (Ftube(TUBE_TABLE_12AX7_68k, (((fTemp1 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 1.581656)) - 191.42014814814814); | |
1104 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
1105 | double fTemp14 = (fRec8[0] * fRec7[0]); | |
1106 | fVec4[0] = fTemp14; | |
1107 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
1108 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
1109 | fRec5[0] = (Ftube(TUBE_TABLE_12AX7_250k, ((fRec30[0] + fRec6[0]) - 1.204285)) - 169.71433333333334); | |
1110 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
1111 | double fTemp15 = (fRec7[0] * fRec4[0]); | |
1112 | fVec5[0] = fTemp15; | |
1113 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
1114 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
1115 | fRec2[0] = (Ftube(TUBE_TABLE_12AX7_250k, ((fRec31[0] + fRec3[0]) - 0.840703)) - 147.47524390243905); | |
1116 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
1117 | output0[i] = (float)(fRec1[0] * fRec0[0]); | |
1118 | double fTemp16 = (fConst9 * fRec41[1]); | |
1119 | double fTemp17 = (double)input1[i]; | |
1120 | fRec47[0] = ((fTemp17 * fRec18[0]) - (fConst36 * ((fConst34 * fRec47[2]) + (fConst32 * fRec47[1])))); | |
1121 | double fTemp18 = (fRec47[2] + (fRec47[0] + (2 * fRec47[1]))); | |
1122 | fVec6[0] = fTemp18; | |
1123 | fRec46[0] = ((fConst38 * ((fConst37 * fVec6[1]) + (fConst1 * fVec6[0]))) + (fConst3 * fRec46[1])); | |
1124 | fRec45[0] = ((fConst39 * (fRec46[0] + fRec46[1])) + (fConst30 * fRec45[1])); | |
1125 | fRec44[0] = (fRec45[0] - (fConst28 * ((fConst26 * fRec44[2]) + (fConst24 * fRec44[1])))); | |
1126 | double fTemp19 = (fRec44[2] + (fRec44[0] + (2 * fRec44[1]))); | |
1127 | fVec7[0] = fTemp19; | |
1128 | fRec43[0] = ((fConst41 * ((fConst40 * fVec7[1]) + (fConst16 * fVec7[0]))) + (fConst21 * fRec43[1])); | |
1129 | fRec42[0] = (fRec43[0] - (fConst19 * ((fConst17 * fRec42[2]) + (fConst15 * fRec42[1])))); | |
1130 | fRec41[0] = ((fConst19 * (((fConst14 * fRec42[0]) + (fConst42 * fRec42[1])) + (fConst14 * fRec42[2]))) - (fConst12 * ((fConst11 * fRec41[2]) + fTemp16))); | |
1131 | double fTemp20 = max(-1, min(1, (fSlow4 * (fRec41[2] + (fConst12 * (fTemp16 + (fConst11 * fRec41[0]))))))); | |
1132 | fRec51[0] = ((fConst41 * (fVec7[0] + fVec7[1])) + (fConst21 * fRec51[1])); | |
1133 | fRec50[0] = (fRec51[0] - (fConst19 * ((fConst17 * fRec50[2]) + (fConst15 * fRec50[1])))); | |
1134 | double fTemp21 = (fRec50[2] + (fRec50[0] + (2 * fRec50[1]))); | |
1135 | fVec8[0] = fTemp21; | |
1136 | fRec49[0] = ((fConst48 * ((fConst47 * fVec8[1]) + (fConst10 * fVec8[0]))) + (fConst46 * fRec49[1])); | |
1137 | fRec48[0] = (fRec49[0] - (fConst44 * ((fConst43 * fRec48[2]) + (fConst9 * fRec48[1])))); | |
1138 | double fTemp22 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec48[0]) + (fConst49 * fRec48[1])) + (fConst8 * fRec48[2]))))); | |
1139 | double fTemp23 = (fConst9 * fRec52[1]); | |
1140 | double fTemp24 = (fConst15 * fRec53[1]); | |
1141 | fRec55[0] = ((fConst39 * ((fConst52 * fRec46[1]) + (fConst25 * fRec46[0]))) + (fConst30 * fRec55[1])); | |
1142 | fRec54[0] = (fRec55[0] - (fConst28 * ((fConst26 * fRec54[2]) + (fConst24 * fRec54[1])))); | |
1143 | fRec53[0] = ((fConst28 * (((fConst23 * fRec54[0]) + (fConst53 * fRec54[1])) + (fConst23 * fRec54[2]))) - (fConst51 * ((fConst50 * fRec53[2]) + fTemp24))); | |
1144 | fRec52[0] = ((fRec53[2] + (fConst51 * (fTemp24 + (fConst50 * fRec53[0])))) - (fConst12 * ((fConst11 * fRec52[2]) + fTemp23))); | |
1145 | double fTemp25 = max(-1, min(1, (fSlow6 * (fRec52[2] + (fConst12 * (fTemp23 + (fConst11 * fRec52[0]))))))); | |
1146 | fRec57[0] = ((fConst48 * (fVec8[0] + fVec8[1])) + (fConst46 * fRec57[1])); | |
1147 | fRec56[0] = (fRec57[0] - (fConst44 * ((fConst43 * fRec56[2]) + (fConst9 * fRec56[1])))); | |
1148 | double fTemp26 = max(-1, min(1, (fSlow7 * (fRec56[2] + (fRec56[0] + (2 * fRec56[1])))))); | |
1149 | double fTemp27 = ((1.2589412 * (fTemp26 * (1 - (0.3333333333333333 * faustpower<2>(fTemp26))))) + (1.584893192 * ((fTemp25 * (1 - (0.3333333333333333 * faustpower<2>(fTemp25)))) + ((fTemp22 * (1 - (0.3333333333333333 * faustpower<2>(fTemp22)))) + (0.8413951417869425 * (fTemp20 * (1 - (0.3333333333333333 * faustpower<2>(fTemp20))))))))); | |
1150 | fVec9[0] = fTemp27; | |
1151 | fRec40[0] = ((fConst54 * (fVec9[0] + fVec9[1])) + (fConst6 * fRec40[1])); | |
1152 | fRec58[0] = ((fConst58 * (fRec39[1] + fRec39[2])) + (fConst57 * fRec58[1])); | |
1153 | fRec39[0] = (Ftube(TUBE_TABLE_12AX7_68k, (((fTemp17 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp17 * fTemp12)))) - 1)))))) + (fRec58[0] + (fSlow9 * fRec40[0]))) - 1.581656)) - 191.42014814814814); | |
1154 | fRec38[0] = ((fConst59 * ((fConst37 * fRec39[1]) + (fConst1 * fRec39[0]))) + (fConst3 * fRec38[1])); | |
1155 | double fTemp28 = (fRec7[0] * fRec38[0]); | |
1156 | fVec10[0] = fTemp28; | |
1157 | fRec37[0] = ((fConst54 * (fVec10[0] + fVec10[1])) + (fConst6 * fRec37[1])); | |
1158 | fRec59[0] = ((fConst63 * (fRec36[1] + fRec36[2])) + (fConst62 * fRec59[1])); | |
1159 | fRec36[0] = (Ftube(TUBE_TABLE_12AX7_250k, ((fRec59[0] + fRec37[0]) - 1.204285)) - 169.71433333333334); | |
1160 | fRec35[0] = ((fConst59 * ((fConst37 * fRec36[1]) + (fConst1 * fRec36[0]))) + (fConst3 * fRec35[1])); | |
1161 | double fTemp29 = (fRec7[0] * fRec35[0]); | |
1162 | fVec11[0] = fTemp29; | |
1163 | fRec34[0] = ((fConst54 * (fVec11[0] + fVec11[1])) + (fConst6 * fRec34[1])); | |
1164 | fRec60[0] = ((fConst67 * (fRec33[1] + fRec33[2])) + (fConst66 * fRec60[1])); | |
1165 | fRec33[0] = (Ftube(TUBE_TABLE_12AX7_250k, ((fRec60[0] + fRec34[0]) - 0.840703)) - 147.47524390243905); | |
1166 | fRec32[0] = ((fConst59 * ((fConst37 * fRec33[1]) + (fConst1 * fRec33[0]))) + (fConst3 * fRec32[1])); | |
1167 | output1[i] = (float)(fRec0[0] * fRec32[0]); | |
1168 | // post processing | |
1169 | fRec32[1] = fRec32[0]; | |
1170 | fRec33[2] = fRec33[1]; | |
1171 | fRec33[1] = fRec33[0]; | |
1172 | fRec60[1] = fRec60[0]; | |
1173 | fRec34[1] = fRec34[0]; | |
1174 | fVec11[1] = fVec11[0]; | |
1175 | fRec35[1] = fRec35[0]; | |
1176 | fRec36[2] = fRec36[1]; | |
1177 | fRec36[1] = fRec36[0]; | |
1178 | fRec59[1] = fRec59[0]; | |
1179 | fRec37[1] = fRec37[0]; | |
1180 | fVec10[1] = fVec10[0]; | |
1181 | fRec38[1] = fRec38[0]; | |
1182 | fRec39[2] = fRec39[1]; | |
1183 | fRec39[1] = fRec39[0]; | |
1184 | fRec58[1] = fRec58[0]; | |
1185 | fRec40[1] = fRec40[0]; | |
1186 | fVec9[1] = fVec9[0]; | |
1187 | fRec56[2] = fRec56[1]; | |
1188 | fRec56[1] = fRec56[0]; | |
1189 | fRec57[1] = fRec57[0]; | |
1190 | fRec52[2] = fRec52[1]; | |
1191 | fRec52[1] = fRec52[0]; | |
1192 | fRec53[2] = fRec53[1]; | |
1193 | fRec53[1] = fRec53[0]; | |
1194 | fRec54[2] = fRec54[1]; | |
1195 | fRec54[1] = fRec54[0]; | |
1196 | fRec55[1] = fRec55[0]; | |
1197 | fRec48[2] = fRec48[1]; | |
1198 | fRec48[1] = fRec48[0]; | |
1199 | fRec49[1] = fRec49[0]; | |
1200 | fVec8[1] = fVec8[0]; | |
1201 | fRec50[2] = fRec50[1]; | |
1202 | fRec50[1] = fRec50[0]; | |
1203 | fRec51[1] = fRec51[0]; | |
1204 | fRec41[2] = fRec41[1]; | |
1205 | fRec41[1] = fRec41[0]; | |
1206 | fRec42[2] = fRec42[1]; | |
1207 | fRec42[1] = fRec42[0]; | |
1208 | fRec43[1] = fRec43[0]; | |
1209 | fVec7[1] = fVec7[0]; | |
1210 | fRec44[2] = fRec44[1]; | |
1211 | fRec44[1] = fRec44[0]; | |
1212 | fRec45[1] = fRec45[0]; | |
1213 | fRec46[1] = fRec46[0]; | |
1214 | fVec6[1] = fVec6[0]; | |
1215 | fRec47[2] = fRec47[1]; | |
1216 | fRec47[1] = fRec47[0]; | |
1217 | fRec1[1] = fRec1[0]; | |
1218 | fRec2[2] = fRec2[1]; | |
1219 | fRec2[1] = fRec2[0]; | |
1220 | fRec31[1] = fRec31[0]; | |
1221 | fRec3[1] = fRec3[0]; | |
1222 | fVec5[1] = fVec5[0]; | |
1223 | fRec4[1] = fRec4[0]; | |
1224 | fRec5[2] = fRec5[1]; | |
1225 | fRec5[1] = fRec5[0]; | |
1226 | fRec30[1] = fRec30[0]; | |
1227 | fRec6[1] = fRec6[0]; | |
1228 | fVec4[1] = fVec4[0]; | |
1229 | fRec8[1] = fRec8[0]; | |
1230 | fRec9[2] = fRec9[1]; | |
1231 | fRec9[1] = fRec9[0]; | |
1232 | fRec29[1] = fRec29[0]; | |
1233 | fRec10[1] = fRec10[0]; | |
1234 | fVec3[1] = fVec3[0]; | |
1235 | fRec27[2] = fRec27[1]; | |
1236 | fRec27[1] = fRec27[0]; | |
1237 | fRec28[1] = fRec28[0]; | |
1238 | fRec23[2] = fRec23[1]; | |
1239 | fRec23[1] = fRec23[0]; | |
1240 | fRec24[2] = fRec24[1]; | |
1241 | fRec24[1] = fRec24[0]; | |
1242 | fRec25[2] = fRec25[1]; | |
1243 | fRec25[1] = fRec25[0]; | |
1244 | fRec26[1] = fRec26[0]; | |
1245 | fRec19[2] = fRec19[1]; | |
1246 | fRec19[1] = fRec19[0]; | |
1247 | fRec20[1] = fRec20[0]; | |
1248 | fVec2[1] = fVec2[0]; | |
1249 | fRec21[2] = fRec21[1]; | |
1250 | fRec21[1] = fRec21[0]; | |
1251 | fRec22[1] = fRec22[0]; | |
1252 | fRec11[2] = fRec11[1]; | |
1253 | fRec11[1] = fRec11[0]; | |
1254 | fRec12[2] = fRec12[1]; | |
1255 | fRec12[1] = fRec12[0]; | |
1256 | fRec13[1] = fRec13[0]; | |
1257 | fVec1[1] = fVec1[0]; | |
1258 | fRec14[2] = fRec14[1]; | |
1259 | fRec14[1] = fRec14[0]; | |
1260 | fRec15[1] = fRec15[0]; | |
1261 | fRec16[1] = fRec16[0]; | |
1262 | fVec0[1] = fVec0[0]; | |
1263 | fRec17[2] = fRec17[1]; | |
1264 | fRec17[1] = fRec17[0]; | |
1265 | fRec18[1] = fRec18[0]; | |
1266 | fRec7[1] = fRec7[0]; | |
1267 | fRec0[1] = fRec0[0]; | |
1268 | } | |
1269 | } | |
1270 | ||
1271 | inline void GxAmpStereo::run_6V6(uint32_t count, float *input0, float *input1, float *output0, float *output1) | |
1272 | { | |
1273 | fslider0 = (*fslider0_); | |
1274 | fslider1 = (*fslider1_); | |
1275 | fslider2 = (*fslider2_); | |
1276 | fslider3 = (*fslider3_); | |
1277 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
1278 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
1279 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
1280 | double fSlow3 = fslider3; | |
1281 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
1282 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
1283 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
1284 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
1285 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
1286 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
1287 | double fSlow10 = (1.25 * fSlow3); | |
1288 | double fSlow11 = (1 - max(0, fSlow8)); | |
1289 | for (uint32_t i=0; i<count; i++) | |
1290 | { | |
1291 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
1292 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
1293 | double fTemp0 = (fConst9 * fRec11[1]); | |
1294 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
1295 | double fTemp1 = (double)input0[i]; | |
1296 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
1297 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
1298 | fVec0[0] = fTemp2; | |
1299 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
1300 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
1301 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
1302 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
1303 | fVec1[0] = fTemp3; | |
1304 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
1305 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
1306 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
1307 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
1308 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
1309 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
1310 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
1311 | fVec2[0] = fTemp5; | |
1312 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
1313 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
1314 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
1315 | double fTemp7 = (fConst9 * fRec23[1]); | |
1316 | double fTemp8 = (fConst15 * fRec24[1]); | |
1317 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
1318 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
1319 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
1320 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
1321 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
1322 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
1323 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
1324 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
1325 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
1326 | fVec3[0] = fTemp11; | |
1327 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
1328 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
1329 | double fTemp12 = (1 - fRec18[0]); | |
1330 | double fTemp13 = (fSlow11 * fRec18[0]); | |
1331 | fRec9[0] = (Ftube(TUBE_TABLE_6V6_68k, (((fTemp1 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 2.29615)) - 164.9574074074074); | |
1332 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
1333 | double fTemp14 = (fRec8[0] * fRec7[0]); | |
1334 | fVec4[0] = fTemp14; | |
1335 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
1336 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
1337 | fRec5[0] = (Ftube(TUBE_TABLE_6V6_250k, ((fRec30[0] + fRec6[0]) - 1.675587)) - 138.2942); | |
1338 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
1339 | double fTemp15 = (fRec7[0] * fRec4[0]); | |
1340 | fVec5[0] = fTemp15; | |
1341 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
1342 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
1343 | fRec2[0] = (Ftube(TUBE_TABLE_6V6_250k, ((fRec31[0] + fRec3[0]) - 1.130462)) - 112.13878048780487); | |
1344 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
1345 | output0[i] = (float)(fRec1[0] * fRec0[0]); | |
1346 | double fTemp16 = (fConst9 * fRec41[1]); | |
1347 | double fTemp17 = (double)input1[i]; | |
1348 | fRec47[0] = ((fTemp17 * fRec18[0]) - (fConst36 * ((fConst34 * fRec47[2]) + (fConst32 * fRec47[1])))); | |
1349 | double fTemp18 = (fRec47[2] + (fRec47[0] + (2 * fRec47[1]))); | |
1350 | fVec6[0] = fTemp18; | |
1351 | fRec46[0] = ((fConst38 * ((fConst37 * fVec6[1]) + (fConst1 * fVec6[0]))) + (fConst3 * fRec46[1])); | |
1352 | fRec45[0] = ((fConst39 * (fRec46[0] + fRec46[1])) + (fConst30 * fRec45[1])); | |
1353 | fRec44[0] = (fRec45[0] - (fConst28 * ((fConst26 * fRec44[2]) + (fConst24 * fRec44[1])))); | |
1354 | double fTemp19 = (fRec44[2] + (fRec44[0] + (2 * fRec44[1]))); | |
1355 | fVec7[0] = fTemp19; | |
1356 | fRec43[0] = ((fConst41 * ((fConst40 * fVec7[1]) + (fConst16 * fVec7[0]))) + (fConst21 * fRec43[1])); | |
1357 | fRec42[0] = (fRec43[0] - (fConst19 * ((fConst17 * fRec42[2]) + (fConst15 * fRec42[1])))); | |
1358 | fRec41[0] = ((fConst19 * (((fConst14 * fRec42[0]) + (fConst42 * fRec42[1])) + (fConst14 * fRec42[2]))) - (fConst12 * ((fConst11 * fRec41[2]) + fTemp16))); | |
1359 | double fTemp20 = max(-1, min(1, (fSlow4 * (fRec41[2] + (fConst12 * (fTemp16 + (fConst11 * fRec41[0]))))))); | |
1360 | fRec51[0] = ((fConst41 * (fVec7[0] + fVec7[1])) + (fConst21 * fRec51[1])); | |
1361 | fRec50[0] = (fRec51[0] - (fConst19 * ((fConst17 * fRec50[2]) + (fConst15 * fRec50[1])))); | |
1362 | double fTemp21 = (fRec50[2] + (fRec50[0] + (2 * fRec50[1]))); | |
1363 | fVec8[0] = fTemp21; | |
1364 | fRec49[0] = ((fConst48 * ((fConst47 * fVec8[1]) + (fConst10 * fVec8[0]))) + (fConst46 * fRec49[1])); | |
1365 | fRec48[0] = (fRec49[0] - (fConst44 * ((fConst43 * fRec48[2]) + (fConst9 * fRec48[1])))); | |
1366 | double fTemp22 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec48[0]) + (fConst49 * fRec48[1])) + (fConst8 * fRec48[2]))))); | |
1367 | double fTemp23 = (fConst9 * fRec52[1]); | |
1368 | double fTemp24 = (fConst15 * fRec53[1]); | |
1369 | fRec55[0] = ((fConst39 * ((fConst52 * fRec46[1]) + (fConst25 * fRec46[0]))) + (fConst30 * fRec55[1])); | |
1370 | fRec54[0] = (fRec55[0] - (fConst28 * ((fConst26 * fRec54[2]) + (fConst24 * fRec54[1])))); | |
1371 | fRec53[0] = ((fConst28 * (((fConst23 * fRec54[0]) + (fConst53 * fRec54[1])) + (fConst23 * fRec54[2]))) - (fConst51 * ((fConst50 * fRec53[2]) + fTemp24))); | |
1372 | fRec52[0] = ((fRec53[2] + (fConst51 * (fTemp24 + (fConst50 * fRec53[0])))) - (fConst12 * ((fConst11 * fRec52[2]) + fTemp23))); | |
1373 | double fTemp25 = max(-1, min(1, (fSlow6 * (fRec52[2] + (fConst12 * (fTemp23 + (fConst11 * fRec52[0]))))))); | |
1374 | fRec57[0] = ((fConst48 * (fVec8[0] + fVec8[1])) + (fConst46 * fRec57[1])); | |
1375 | fRec56[0] = (fRec57[0] - (fConst44 * ((fConst43 * fRec56[2]) + (fConst9 * fRec56[1])))); | |
1376 | double fTemp26 = max(-1, min(1, (fSlow7 * (fRec56[2] + (fRec56[0] + (2 * fRec56[1])))))); | |
1377 | double fTemp27 = ((1.2589412 * (fTemp26 * (1 - (0.3333333333333333 * faustpower<2>(fTemp26))))) + (1.584893192 * ((fTemp25 * (1 - (0.3333333333333333 * faustpower<2>(fTemp25)))) + ((fTemp22 * (1 - (0.3333333333333333 * faustpower<2>(fTemp22)))) + (0.8413951417869425 * (fTemp20 * (1 - (0.3333333333333333 * faustpower<2>(fTemp20))))))))); | |
1378 | fVec9[0] = fTemp27; | |
1379 | fRec40[0] = ((fConst54 * (fVec9[0] + fVec9[1])) + (fConst6 * fRec40[1])); | |
1380 | fRec58[0] = ((fConst58 * (fRec39[1] + fRec39[2])) + (fConst57 * fRec58[1])); | |
1381 | fRec39[0] = (Ftube(TUBE_TABLE_6V6_68k, (((fTemp17 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp17 * fTemp12)))) - 1)))))) + (fRec58[0] + (fSlow9 * fRec40[0]))) - 2.29615)) - 164.9574074074074); | |
1382 | fRec38[0] = ((fConst59 * ((fConst37 * fRec39[1]) + (fConst1 * fRec39[0]))) + (fConst3 * fRec38[1])); | |
1383 | double fTemp28 = (fRec7[0] * fRec38[0]); | |
1384 | fVec10[0] = fTemp28; | |
1385 | fRec37[0] = ((fConst54 * (fVec10[0] + fVec10[1])) + (fConst6 * fRec37[1])); | |
1386 | fRec59[0] = ((fConst63 * (fRec36[1] + fRec36[2])) + (fConst62 * fRec59[1])); | |
1387 | fRec36[0] = (Ftube(TUBE_TABLE_6V6_250k, ((fRec59[0] + fRec37[0]) - 1.675587)) - 138.2942); | |
1388 | fRec35[0] = ((fConst59 * ((fConst37 * fRec36[1]) + (fConst1 * fRec36[0]))) + (fConst3 * fRec35[1])); | |
1389 | double fTemp29 = (fRec7[0] * fRec35[0]); | |
1390 | fVec11[0] = fTemp29; | |
1391 | fRec34[0] = ((fConst54 * (fVec11[0] + fVec11[1])) + (fConst6 * fRec34[1])); | |
1392 | fRec60[0] = ((fConst67 * (fRec33[1] + fRec33[2])) + (fConst66 * fRec60[1])); | |
1393 | fRec33[0] = (Ftube(TUBE_TABLE_6V6_250k, ((fRec60[0] + fRec34[0]) - 1.130462)) - 112.13878048780487); | |
1394 | fRec32[0] = ((fConst59 * ((fConst37 * fRec33[1]) + (fConst1 * fRec33[0]))) + (fConst3 * fRec32[1])); | |
1395 | output1[i] = (float)(fRec0[0] * fRec32[0]); | |
1396 | // post processing | |
1397 | fRec32[1] = fRec32[0]; | |
1398 | fRec33[2] = fRec33[1]; | |
1399 | fRec33[1] = fRec33[0]; | |
1400 | fRec60[1] = fRec60[0]; | |
1401 | fRec34[1] = fRec34[0]; | |
1402 | fVec11[1] = fVec11[0]; | |
1403 | fRec35[1] = fRec35[0]; | |
1404 | fRec36[2] = fRec36[1]; | |
1405 | fRec36[1] = fRec36[0]; | |
1406 | fRec59[1] = fRec59[0]; | |
1407 | fRec37[1] = fRec37[0]; | |
1408 | fVec10[1] = fVec10[0]; | |
1409 | fRec38[1] = fRec38[0]; | |
1410 | fRec39[2] = fRec39[1]; | |
1411 | fRec39[1] = fRec39[0]; | |
1412 | fRec58[1] = fRec58[0]; | |
1413 | fRec40[1] = fRec40[0]; | |
1414 | fVec9[1] = fVec9[0]; | |
1415 | fRec56[2] = fRec56[1]; | |
1416 | fRec56[1] = fRec56[0]; | |
1417 | fRec57[1] = fRec57[0]; | |
1418 | fRec52[2] = fRec52[1]; | |
1419 | fRec52[1] = fRec52[0]; | |
1420 | fRec53[2] = fRec53[1]; | |
1421 | fRec53[1] = fRec53[0]; | |
1422 | fRec54[2] = fRec54[1]; | |
1423 | fRec54[1] = fRec54[0]; | |
1424 | fRec55[1] = fRec55[0]; | |
1425 | fRec48[2] = fRec48[1]; | |
1426 | fRec48[1] = fRec48[0]; | |
1427 | fRec49[1] = fRec49[0]; | |
1428 | fVec8[1] = fVec8[0]; | |
1429 | fRec50[2] = fRec50[1]; | |
1430 | fRec50[1] = fRec50[0]; | |
1431 | fRec51[1] = fRec51[0]; | |
1432 | fRec41[2] = fRec41[1]; | |
1433 | fRec41[1] = fRec41[0]; | |
1434 | fRec42[2] = fRec42[1]; | |
1435 | fRec42[1] = fRec42[0]; | |
1436 | fRec43[1] = fRec43[0]; | |
1437 | fVec7[1] = fVec7[0]; | |
1438 | fRec44[2] = fRec44[1]; | |
1439 | fRec44[1] = fRec44[0]; | |
1440 | fRec45[1] = fRec45[0]; | |
1441 | fRec46[1] = fRec46[0]; | |
1442 | fVec6[1] = fVec6[0]; | |
1443 | fRec47[2] = fRec47[1]; | |
1444 | fRec47[1] = fRec47[0]; | |
1445 | fRec1[1] = fRec1[0]; | |
1446 | fRec2[2] = fRec2[1]; | |
1447 | fRec2[1] = fRec2[0]; | |
1448 | fRec31[1] = fRec31[0]; | |
1449 | fRec3[1] = fRec3[0]; | |
1450 | fVec5[1] = fVec5[0]; | |
1451 | fRec4[1] = fRec4[0]; | |
1452 | fRec5[2] = fRec5[1]; | |
1453 | fRec5[1] = fRec5[0]; | |
1454 | fRec30[1] = fRec30[0]; | |
1455 | fRec6[1] = fRec6[0]; | |
1456 | fVec4[1] = fVec4[0]; | |
1457 | fRec8[1] = fRec8[0]; | |
1458 | fRec9[2] = fRec9[1]; | |
1459 | fRec9[1] = fRec9[0]; | |
1460 | fRec29[1] = fRec29[0]; | |
1461 | fRec10[1] = fRec10[0]; | |
1462 | fVec3[1] = fVec3[0]; | |
1463 | fRec27[2] = fRec27[1]; | |
1464 | fRec27[1] = fRec27[0]; | |
1465 | fRec28[1] = fRec28[0]; | |
1466 | fRec23[2] = fRec23[1]; | |
1467 | fRec23[1] = fRec23[0]; | |
1468 | fRec24[2] = fRec24[1]; | |
1469 | fRec24[1] = fRec24[0]; | |
1470 | fRec25[2] = fRec25[1]; | |
1471 | fRec25[1] = fRec25[0]; | |
1472 | fRec26[1] = fRec26[0]; | |
1473 | fRec19[2] = fRec19[1]; | |
1474 | fRec19[1] = fRec19[0]; | |
1475 | fRec20[1] = fRec20[0]; | |
1476 | fVec2[1] = fVec2[0]; | |
1477 | fRec21[2] = fRec21[1]; | |
1478 | fRec21[1] = fRec21[0]; | |
1479 | fRec22[1] = fRec22[0]; | |
1480 | fRec11[2] = fRec11[1]; | |
1481 | fRec11[1] = fRec11[0]; | |
1482 | fRec12[2] = fRec12[1]; | |
1483 | fRec12[1] = fRec12[0]; | |
1484 | fRec13[1] = fRec13[0]; | |
1485 | fVec1[1] = fVec1[0]; | |
1486 | fRec14[2] = fRec14[1]; | |
1487 | fRec14[1] = fRec14[0]; | |
1488 | fRec15[1] = fRec15[0]; | |
1489 | fRec16[1] = fRec16[0]; | |
1490 | fVec0[1] = fVec0[0]; | |
1491 | fRec17[2] = fRec17[1]; | |
1492 | fRec17[1] = fRec17[0]; | |
1493 | fRec18[1] = fRec18[0]; | |
1494 | fRec7[1] = fRec7[0]; | |
1495 | fRec0[1] = fRec0[0]; | |
1496 | } | |
1497 | } | |
1498 | ||
1499 | inline void GxAmpStereo::run_6DJ8(uint32_t count, float *input0, float *input1, float *output0, float *output1) | |
1500 | { | |
1501 | fslider0 = (*fslider0_); | |
1502 | fslider1 = (*fslider1_); | |
1503 | fslider2 = (*fslider2_); | |
1504 | fslider3 = (*fslider3_); | |
1505 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
1506 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
1507 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
1508 | double fSlow3 = fslider3; | |
1509 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
1510 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
1511 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
1512 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
1513 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
1514 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
1515 | double fSlow10 = (1.25 * fSlow3); | |
1516 | double fSlow11 = (1 - max(0, fSlow8)); | |
1517 | for (uint32_t i=0; i<count; i++) | |
1518 | { | |
1519 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
1520 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
1521 | double fTemp0 = (fConst9 * fRec11[1]); | |
1522 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
1523 | double fTemp1 = (double)input0[i]; | |
1524 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
1525 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
1526 | fVec0[0] = fTemp2; | |
1527 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
1528 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
1529 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
1530 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
1531 | fVec1[0] = fTemp3; | |
1532 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
1533 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
1534 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
1535 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
1536 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
1537 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
1538 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
1539 | fVec2[0] = fTemp5; | |
1540 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
1541 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
1542 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
1543 | double fTemp7 = (fConst9 * fRec23[1]); | |
1544 | double fTemp8 = (fConst15 * fRec24[1]); | |
1545 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
1546 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
1547 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
1548 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
1549 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
1550 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
1551 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
1552 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
1553 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
1554 | fVec3[0] = fTemp11; | |
1555 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
1556 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
1557 | double fTemp12 = (1 - fRec18[0]); | |
1558 | double fTemp13 = (fSlow11 * fRec18[0]); | |
1559 | fRec9[0] = (Ftube(TUBE_TABLE_6DJ8_68k, (((fTemp1 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 1.863946)) - 60.96496296296296); | |
1560 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
1561 | double fTemp14 = (fRec8[0] * fRec7[0]); | |
1562 | fVec4[0] = fTemp14; | |
1563 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
1564 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
1565 | fRec5[0] = (Ftube(TUBE_TABLE_6DJ8_250k, ((fRec30[0] + fRec6[0]) - 1.271609)) - 45.22606666666667); | |
1566 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
1567 | double fTemp15 = (fRec7[0] * fRec4[0]); | |
1568 | fVec5[0] = fTemp15; | |
1569 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
1570 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
1571 | fRec2[0] = (Ftube(TUBE_TABLE_6DJ8_250k, ((fRec31[0] + fRec3[0]) - 0.797043)) - 32.799634146341475); | |
1572 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
1573 | output0[i] = (float)(fRec1[0] * fRec0[0]); | |
1574 | double fTemp16 = (fConst9 * fRec41[1]); | |
1575 | double fTemp17 = (double)input1[i]; | |
1576 | fRec47[0] = ((fTemp17 * fRec18[0]) - (fConst36 * ((fConst34 * fRec47[2]) + (fConst32 * fRec47[1])))); | |
1577 | double fTemp18 = (fRec47[2] + (fRec47[0] + (2 * fRec47[1]))); | |
1578 | fVec6[0] = fTemp18; | |
1579 | fRec46[0] = ((fConst38 * ((fConst37 * fVec6[1]) + (fConst1 * fVec6[0]))) + (fConst3 * fRec46[1])); | |
1580 | fRec45[0] = ((fConst39 * (fRec46[0] + fRec46[1])) + (fConst30 * fRec45[1])); | |
1581 | fRec44[0] = (fRec45[0] - (fConst28 * ((fConst26 * fRec44[2]) + (fConst24 * fRec44[1])))); | |
1582 | double fTemp19 = (fRec44[2] + (fRec44[0] + (2 * fRec44[1]))); | |
1583 | fVec7[0] = fTemp19; | |
1584 | fRec43[0] = ((fConst41 * ((fConst40 * fVec7[1]) + (fConst16 * fVec7[0]))) + (fConst21 * fRec43[1])); | |
1585 | fRec42[0] = (fRec43[0] - (fConst19 * ((fConst17 * fRec42[2]) + (fConst15 * fRec42[1])))); | |
1586 | fRec41[0] = ((fConst19 * (((fConst14 * fRec42[0]) + (fConst42 * fRec42[1])) + (fConst14 * fRec42[2]))) - (fConst12 * ((fConst11 * fRec41[2]) + fTemp16))); | |
1587 | double fTemp20 = max(-1, min(1, (fSlow4 * (fRec41[2] + (fConst12 * (fTemp16 + (fConst11 * fRec41[0]))))))); | |
1588 | fRec51[0] = ((fConst41 * (fVec7[0] + fVec7[1])) + (fConst21 * fRec51[1])); | |
1589 | fRec50[0] = (fRec51[0] - (fConst19 * ((fConst17 * fRec50[2]) + (fConst15 * fRec50[1])))); | |
1590 | double fTemp21 = (fRec50[2] + (fRec50[0] + (2 * fRec50[1]))); | |
1591 | fVec8[0] = fTemp21; | |
1592 | fRec49[0] = ((fConst48 * ((fConst47 * fVec8[1]) + (fConst10 * fVec8[0]))) + (fConst46 * fRec49[1])); | |
1593 | fRec48[0] = (fRec49[0] - (fConst44 * ((fConst43 * fRec48[2]) + (fConst9 * fRec48[1])))); | |
1594 | double fTemp22 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec48[0]) + (fConst49 * fRec48[1])) + (fConst8 * fRec48[2]))))); | |
1595 | double fTemp23 = (fConst9 * fRec52[1]); | |
1596 | double fTemp24 = (fConst15 * fRec53[1]); | |
1597 | fRec55[0] = ((fConst39 * ((fConst52 * fRec46[1]) + (fConst25 * fRec46[0]))) + (fConst30 * fRec55[1])); | |
1598 | fRec54[0] = (fRec55[0] - (fConst28 * ((fConst26 * fRec54[2]) + (fConst24 * fRec54[1])))); | |
1599 | fRec53[0] = ((fConst28 * (((fConst23 * fRec54[0]) + (fConst53 * fRec54[1])) + (fConst23 * fRec54[2]))) - (fConst51 * ((fConst50 * fRec53[2]) + fTemp24))); | |
1600 | fRec52[0] = ((fRec53[2] + (fConst51 * (fTemp24 + (fConst50 * fRec53[0])))) - (fConst12 * ((fConst11 * fRec52[2]) + fTemp23))); | |
1601 | double fTemp25 = max(-1, min(1, (fSlow6 * (fRec52[2] + (fConst12 * (fTemp23 + (fConst11 * fRec52[0]))))))); | |
1602 | fRec57[0] = ((fConst48 * (fVec8[0] + fVec8[1])) + (fConst46 * fRec57[1])); | |
1603 | fRec56[0] = (fRec57[0] - (fConst44 * ((fConst43 * fRec56[2]) + (fConst9 * fRec56[1])))); | |
1604 | double fTemp26 = max(-1, min(1, (fSlow7 * (fRec56[2] + (fRec56[0] + (2 * fRec56[1])))))); | |
1605 | double fTemp27 = ((1.2589412 * (fTemp26 * (1 - (0.3333333333333333 * faustpower<2>(fTemp26))))) + (1.584893192 * ((fTemp25 * (1 - (0.3333333333333333 * faustpower<2>(fTemp25)))) + ((fTemp22 * (1 - (0.3333333333333333 * faustpower<2>(fTemp22)))) + (0.8413951417869425 * (fTemp20 * (1 - (0.3333333333333333 * faustpower<2>(fTemp20))))))))); | |
1606 | fVec9[0] = fTemp27; | |
1607 | fRec40[0] = ((fConst54 * (fVec9[0] + fVec9[1])) + (fConst6 * fRec40[1])); | |
1608 | fRec58[0] = ((fConst58 * (fRec39[1] + fRec39[2])) + (fConst57 * fRec58[1])); | |
1609 | fRec39[0] = (Ftube(TUBE_TABLE_6DJ8_68k, (((fTemp17 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp17 * fTemp12)))) - 1)))))) + (fRec58[0] + (fSlow9 * fRec40[0]))) - 1.863946)) - 60.96496296296296); | |
1610 | fRec38[0] = ((fConst59 * ((fConst37 * fRec39[1]) + (fConst1 * fRec39[0]))) + (fConst3 * fRec38[1])); | |
1611 | double fTemp28 = (fRec7[0] * fRec38[0]); | |
1612 | fVec10[0] = fTemp28; | |
1613 | fRec37[0] = ((fConst54 * (fVec10[0] + fVec10[1])) + (fConst6 * fRec37[1])); | |
1614 | fRec59[0] = ((fConst63 * (fRec36[1] + fRec36[2])) + (fConst62 * fRec59[1])); | |
1615 | fRec36[0] = (Ftube(TUBE_TABLE_6DJ8_250k, ((fRec59[0] + fRec37[0]) - 1.271609)) - 45.22606666666667); | |
1616 | fRec35[0] = ((fConst59 * ((fConst37 * fRec36[1]) + (fConst1 * fRec36[0]))) + (fConst3 * fRec35[1])); | |
1617 | double fTemp29 = (fRec7[0] * fRec35[0]); | |
1618 | fVec11[0] = fTemp29; | |
1619 | fRec34[0] = ((fConst54 * (fVec11[0] + fVec11[1])) + (fConst6 * fRec34[1])); | |
1620 | fRec60[0] = ((fConst67 * (fRec33[1] + fRec33[2])) + (fConst66 * fRec60[1])); | |
1621 | fRec33[0] = (Ftube(TUBE_TABLE_6DJ8_250k, ((fRec60[0] + fRec34[0]) - 0.797043)) - 32.799634146341475); | |
1622 | fRec32[0] = ((fConst59 * ((fConst37 * fRec33[1]) + (fConst1 * fRec33[0]))) + (fConst3 * fRec32[1])); | |
1623 | output1[i] = (float)(fRec0[0] * fRec32[0]); | |
1624 | // post processing | |
1625 | fRec32[1] = fRec32[0]; | |
1626 | fRec33[2] = fRec33[1]; | |
1627 | fRec33[1] = fRec33[0]; | |
1628 | fRec60[1] = fRec60[0]; | |
1629 | fRec34[1] = fRec34[0]; | |
1630 | fVec11[1] = fVec11[0]; | |
1631 | fRec35[1] = fRec35[0]; | |
1632 | fRec36[2] = fRec36[1]; | |
1633 | fRec36[1] = fRec36[0]; | |
1634 | fRec59[1] = fRec59[0]; | |
1635 | fRec37[1] = fRec37[0]; | |
1636 | fVec10[1] = fVec10[0]; | |
1637 | fRec38[1] = fRec38[0]; | |
1638 | fRec39[2] = fRec39[1]; | |
1639 | fRec39[1] = fRec39[0]; | |
1640 | fRec58[1] = fRec58[0]; | |
1641 | fRec40[1] = fRec40[0]; | |
1642 | fVec9[1] = fVec9[0]; | |
1643 | fRec56[2] = fRec56[1]; | |
1644 | fRec56[1] = fRec56[0]; | |
1645 | fRec57[1] = fRec57[0]; | |
1646 | fRec52[2] = fRec52[1]; | |
1647 | fRec52[1] = fRec52[0]; | |
1648 | fRec53[2] = fRec53[1]; | |
1649 | fRec53[1] = fRec53[0]; | |
1650 | fRec54[2] = fRec54[1]; | |
1651 | fRec54[1] = fRec54[0]; | |
1652 | fRec55[1] = fRec55[0]; | |
1653 | fRec48[2] = fRec48[1]; | |
1654 | fRec48[1] = fRec48[0]; | |
1655 | fRec49[1] = fRec49[0]; | |
1656 | fVec8[1] = fVec8[0]; | |
1657 | fRec50[2] = fRec50[1]; | |
1658 | fRec50[1] = fRec50[0]; | |
1659 | fRec51[1] = fRec51[0]; | |
1660 | fRec41[2] = fRec41[1]; | |
1661 | fRec41[1] = fRec41[0]; | |
1662 | fRec42[2] = fRec42[1]; | |
1663 | fRec42[1] = fRec42[0]; | |
1664 | fRec43[1] = fRec43[0]; | |
1665 | fVec7[1] = fVec7[0]; | |
1666 | fRec44[2] = fRec44[1]; | |
1667 | fRec44[1] = fRec44[0]; | |
1668 | fRec45[1] = fRec45[0]; | |
1669 | fRec46[1] = fRec46[0]; | |
1670 | fVec6[1] = fVec6[0]; | |
1671 | fRec47[2] = fRec47[1]; | |
1672 | fRec47[1] = fRec47[0]; | |
1673 | fRec1[1] = fRec1[0]; | |
1674 | fRec2[2] = fRec2[1]; | |
1675 | fRec2[1] = fRec2[0]; | |
1676 | fRec31[1] = fRec31[0]; | |
1677 | fRec3[1] = fRec3[0]; | |
1678 | fVec5[1] = fVec5[0]; | |
1679 | fRec4[1] = fRec4[0]; | |
1680 | fRec5[2] = fRec5[1]; | |
1681 | fRec5[1] = fRec5[0]; | |
1682 | fRec30[1] = fRec30[0]; | |
1683 | fRec6[1] = fRec6[0]; | |
1684 | fVec4[1] = fVec4[0]; | |
1685 | fRec8[1] = fRec8[0]; | |
1686 | fRec9[2] = fRec9[1]; | |
1687 | fRec9[1] = fRec9[0]; | |
1688 | fRec29[1] = fRec29[0]; | |
1689 | fRec10[1] = fRec10[0]; | |
1690 | fVec3[1] = fVec3[0]; | |
1691 | fRec27[2] = fRec27[1]; | |
1692 | fRec27[1] = fRec27[0]; | |
1693 | fRec28[1] = fRec28[0]; | |
1694 | fRec23[2] = fRec23[1]; | |
1695 | fRec23[1] = fRec23[0]; | |
1696 | fRec24[2] = fRec24[1]; | |
1697 | fRec24[1] = fRec24[0]; | |
1698 | fRec25[2] = fRec25[1]; | |
1699 | fRec25[1] = fRec25[0]; | |
1700 | fRec26[1] = fRec26[0]; | |
1701 | fRec19[2] = fRec19[1]; | |
1702 | fRec19[1] = fRec19[0]; | |
1703 | fRec20[1] = fRec20[0]; | |
1704 | fVec2[1] = fVec2[0]; | |
1705 | fRec21[2] = fRec21[1]; | |
1706 | fRec21[1] = fRec21[0]; | |
1707 | fRec22[1] = fRec22[0]; | |
1708 | fRec11[2] = fRec11[1]; | |
1709 | fRec11[1] = fRec11[0]; | |
1710 | fRec12[2] = fRec12[1]; | |
1711 | fRec12[1] = fRec12[0]; | |
1712 | fRec13[1] = fRec13[0]; | |
1713 | fVec1[1] = fVec1[0]; | |
1714 | fRec14[2] = fRec14[1]; | |
1715 | fRec14[1] = fRec14[0]; | |
1716 | fRec15[1] = fRec15[0]; | |
1717 | fRec16[1] = fRec16[0]; | |
1718 | fVec0[1] = fVec0[0]; | |
1719 | fRec17[2] = fRec17[1]; | |
1720 | fRec17[1] = fRec17[0]; | |
1721 | fRec18[1] = fRec18[0]; | |
1722 | fRec7[1] = fRec7[0]; | |
1723 | fRec0[1] = fRec0[0]; | |
1724 | } | |
1725 | } | |
1726 | ||
1727 | inline void GxAmpStereo::run_12AT7(uint32_t count, float *input0, float *input1, float *output0, float *output1) | |
1728 | { | |
1729 | fslider0 = (*fslider0_); | |
1730 | fslider1 = (*fslider1_); | |
1731 | fslider2 = (*fslider2_); | |
1732 | fslider3 = (*fslider3_); | |
1733 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
1734 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
1735 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
1736 | double fSlow3 = fslider3; | |
1737 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
1738 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
1739 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
1740 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
1741 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
1742 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
1743 | double fSlow10 = (1.25 * fSlow3); | |
1744 | double fSlow11 = (1 - max(0, fSlow8)); | |
1745 | for (uint32_t i=0; i<count; i++) | |
1746 | { | |
1747 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
1748 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
1749 | double fTemp0 = (fConst9 * fRec11[1]); | |
1750 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
1751 | double fTemp1 = (double)input0[i]; | |
1752 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
1753 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
1754 | fVec0[0] = fTemp2; | |
1755 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
1756 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
1757 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
1758 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
1759 | fVec1[0] = fTemp3; | |
1760 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
1761 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
1762 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
1763 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
1764 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
1765 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
1766 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
1767 | fVec2[0] = fTemp5; | |
1768 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
1769 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
1770 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
1771 | double fTemp7 = (fConst9 * fRec23[1]); | |
1772 | double fTemp8 = (fConst15 * fRec24[1]); | |
1773 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
1774 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
1775 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
1776 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
1777 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
1778 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
1779 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
1780 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
1781 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
1782 | fVec3[0] = fTemp11; | |
1783 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
1784 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
1785 | double fTemp12 = (1 - fRec18[0]); | |
1786 | double fTemp13 = (fSlow11 * fRec18[0]); | |
1787 | fRec9[0] = (Ftube(TUBE_TABLE_12AT7_68k, (((fTemp1 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 2.617753)) - 153.04618518518518); | |
1788 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
1789 | double fTemp14 = (fRec8[0] * fRec7[0]); | |
1790 | fVec4[0] = fTemp14; | |
1791 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
1792 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
1793 | fRec5[0] = (Ftube(TUBE_TABLE_12AT7_250k, ((fRec30[0] + fRec6[0]) - 1.887332)) - 124.17786666666666); | |
1794 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
1795 | double fTemp15 = (fRec7[0] * fRec4[0]); | |
1796 | fVec5[0] = fTemp15; | |
1797 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
1798 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
1799 | fRec2[0] = (Ftube(TUBE_TABLE_12AT7_250k, ((fRec31[0] + fRec3[0]) - 1.256962)) - 96.7119512195122); | |
1800 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
1801 | output0[i] = (float)(fRec1[0] * fRec0[0]); | |
1802 | double fTemp16 = (fConst9 * fRec41[1]); | |
1803 | double fTemp17 = (double)input1[i]; | |
1804 | fRec47[0] = ((fTemp17 * fRec18[0]) - (fConst36 * ((fConst34 * fRec47[2]) + (fConst32 * fRec47[1])))); | |
1805 | double fTemp18 = (fRec47[2] + (fRec47[0] + (2 * fRec47[1]))); | |
1806 | fVec6[0] = fTemp18; | |
1807 | fRec46[0] = ((fConst38 * ((fConst37 * fVec6[1]) + (fConst1 * fVec6[0]))) + (fConst3 * fRec46[1])); | |
1808 | fRec45[0] = ((fConst39 * (fRec46[0] + fRec46[1])) + (fConst30 * fRec45[1])); | |
1809 | fRec44[0] = (fRec45[0] - (fConst28 * ((fConst26 * fRec44[2]) + (fConst24 * fRec44[1])))); | |
1810 | double fTemp19 = (fRec44[2] + (fRec44[0] + (2 * fRec44[1]))); | |
1811 | fVec7[0] = fTemp19; | |
1812 | fRec43[0] = ((fConst41 * ((fConst40 * fVec7[1]) + (fConst16 * fVec7[0]))) + (fConst21 * fRec43[1])); | |
1813 | fRec42[0] = (fRec43[0] - (fConst19 * ((fConst17 * fRec42[2]) + (fConst15 * fRec42[1])))); | |
1814 | fRec41[0] = ((fConst19 * (((fConst14 * fRec42[0]) + (fConst42 * fRec42[1])) + (fConst14 * fRec42[2]))) - (fConst12 * ((fConst11 * fRec41[2]) + fTemp16))); | |
1815 | double fTemp20 = max(-1, min(1, (fSlow4 * (fRec41[2] + (fConst12 * (fTemp16 + (fConst11 * fRec41[0]))))))); | |
1816 | fRec51[0] = ((fConst41 * (fVec7[0] + fVec7[1])) + (fConst21 * fRec51[1])); | |
1817 | fRec50[0] = (fRec51[0] - (fConst19 * ((fConst17 * fRec50[2]) + (fConst15 * fRec50[1])))); | |
1818 | double fTemp21 = (fRec50[2] + (fRec50[0] + (2 * fRec50[1]))); | |
1819 | fVec8[0] = fTemp21; | |
1820 | fRec49[0] = ((fConst48 * ((fConst47 * fVec8[1]) + (fConst10 * fVec8[0]))) + (fConst46 * fRec49[1])); | |
1821 | fRec48[0] = (fRec49[0] - (fConst44 * ((fConst43 * fRec48[2]) + (fConst9 * fRec48[1])))); | |
1822 | double fTemp22 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec48[0]) + (fConst49 * fRec48[1])) + (fConst8 * fRec48[2]))))); | |
1823 | double fTemp23 = (fConst9 * fRec52[1]); | |
1824 | double fTemp24 = (fConst15 * fRec53[1]); | |
1825 | fRec55[0] = ((fConst39 * ((fConst52 * fRec46[1]) + (fConst25 * fRec46[0]))) + (fConst30 * fRec55[1])); | |
1826 | fRec54[0] = (fRec55[0] - (fConst28 * ((fConst26 * fRec54[2]) + (fConst24 * fRec54[1])))); | |
1827 | fRec53[0] = ((fConst28 * (((fConst23 * fRec54[0]) + (fConst53 * fRec54[1])) + (fConst23 * fRec54[2]))) - (fConst51 * ((fConst50 * fRec53[2]) + fTemp24))); | |
1828 | fRec52[0] = ((fRec53[2] + (fConst51 * (fTemp24 + (fConst50 * fRec53[0])))) - (fConst12 * ((fConst11 * fRec52[2]) + fTemp23))); | |
1829 | double fTemp25 = max(-1, min(1, (fSlow6 * (fRec52[2] + (fConst12 * (fTemp23 + (fConst11 * fRec52[0]))))))); | |
1830 | fRec57[0] = ((fConst48 * (fVec8[0] + fVec8[1])) + (fConst46 * fRec57[1])); | |
1831 | fRec56[0] = (fRec57[0] - (fConst44 * ((fConst43 * fRec56[2]) + (fConst9 * fRec56[1])))); | |
1832 | double fTemp26 = max(-1, min(1, (fSlow7 * (fRec56[2] + (fRec56[0] + (2 * fRec56[1])))))); | |
1833 | double fTemp27 = ((1.2589412 * (fTemp26 * (1 - (0.3333333333333333 * faustpower<2>(fTemp26))))) + (1.584893192 * ((fTemp25 * (1 - (0.3333333333333333 * faustpower<2>(fTemp25)))) + ((fTemp22 * (1 - (0.3333333333333333 * faustpower<2>(fTemp22)))) + (0.8413951417869425 * (fTemp20 * (1 - (0.3333333333333333 * faustpower<2>(fTemp20))))))))); | |
1834 | fVec9[0] = fTemp27; | |
1835 | fRec40[0] = ((fConst54 * (fVec9[0] + fVec9[1])) + (fConst6 * fRec40[1])); | |
1836 | fRec58[0] = ((fConst58 * (fRec39[1] + fRec39[2])) + (fConst57 * fRec58[1])); | |
1837 | fRec39[0] = (Ftube(TUBE_TABLE_12AT7_68k, (((fTemp17 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp17 * fTemp12)))) - 1)))))) + (fRec58[0] + (fSlow9 * fRec40[0]))) - 2.617753)) - 153.04618518518518); | |
1838 | fRec38[0] = ((fConst59 * ((fConst37 * fRec39[1]) + (fConst1 * fRec39[0]))) + (fConst3 * fRec38[1])); | |
1839 | double fTemp28 = (fRec7[0] * fRec38[0]); | |
1840 | fVec10[0] = fTemp28; | |
1841 | fRec37[0] = ((fConst54 * (fVec10[0] + fVec10[1])) + (fConst6 * fRec37[1])); | |
1842 | fRec59[0] = ((fConst63 * (fRec36[1] + fRec36[2])) + (fConst62 * fRec59[1])); | |
1843 | fRec36[0] = (Ftube(TUBE_TABLE_12AT7_250k, ((fRec59[0] + fRec37[0]) - 1.887332)) - 124.17786666666666); | |
1844 | fRec35[0] = ((fConst59 * ((fConst37 * fRec36[1]) + (fConst1 * fRec36[0]))) + (fConst3 * fRec35[1])); | |
1845 | double fTemp29 = (fRec7[0] * fRec35[0]); | |
1846 | fVec11[0] = fTemp29; | |
1847 | fRec34[0] = ((fConst54 * (fVec11[0] + fVec11[1])) + (fConst6 * fRec34[1])); | |
1848 | fRec60[0] = ((fConst67 * (fRec33[1] + fRec33[2])) + (fConst66 * fRec60[1])); | |
1849 | fRec33[0] = (Ftube(TUBE_TABLE_12AT7_250k, ((fRec60[0] + fRec34[0]) - 1.256962)) - 96.7119512195122); | |
1850 | fRec32[0] = ((fConst59 * ((fConst37 * fRec33[1]) + (fConst1 * fRec33[0]))) + (fConst3 * fRec32[1])); | |
1851 | output1[i] = (float)(fRec0[0] * fRec32[0]); | |
1852 | // post processing | |
1853 | fRec32[1] = fRec32[0]; | |
1854 | fRec33[2] = fRec33[1]; | |
1855 | fRec33[1] = fRec33[0]; | |
1856 | fRec60[1] = fRec60[0]; | |
1857 | fRec34[1] = fRec34[0]; | |
1858 | fVec11[1] = fVec11[0]; | |
1859 | fRec35[1] = fRec35[0]; | |
1860 | fRec36[2] = fRec36[1]; | |
1861 | fRec36[1] = fRec36[0]; | |
1862 | fRec59[1] = fRec59[0]; | |
1863 | fRec37[1] = fRec37[0]; | |
1864 | fVec10[1] = fVec10[0]; | |
1865 | fRec38[1] = fRec38[0]; | |
1866 | fRec39[2] = fRec39[1]; | |
1867 | fRec39[1] = fRec39[0]; | |
1868 | fRec58[1] = fRec58[0]; | |
1869 | fRec40[1] = fRec40[0]; | |
1870 | fVec9[1] = fVec9[0]; | |
1871 | fRec56[2] = fRec56[1]; | |
1872 | fRec56[1] = fRec56[0]; | |
1873 | fRec57[1] = fRec57[0]; | |
1874 | fRec52[2] = fRec52[1]; | |
1875 | fRec52[1] = fRec52[0]; | |
1876 | fRec53[2] = fRec53[1]; | |
1877 | fRec53[1] = fRec53[0]; | |
1878 | fRec54[2] = fRec54[1]; | |
1879 | fRec54[1] = fRec54[0]; | |
1880 | fRec55[1] = fRec55[0]; | |
1881 | fRec48[2] = fRec48[1]; | |
1882 | fRec48[1] = fRec48[0]; | |
1883 | fRec49[1] = fRec49[0]; | |
1884 | fVec8[1] = fVec8[0]; | |
1885 | fRec50[2] = fRec50[1]; | |
1886 | fRec50[1] = fRec50[0]; | |
1887 | fRec51[1] = fRec51[0]; | |
1888 | fRec41[2] = fRec41[1]; | |
1889 | fRec41[1] = fRec41[0]; | |
1890 | fRec42[2] = fRec42[1]; | |
1891 | fRec42[1] = fRec42[0]; | |
1892 | fRec43[1] = fRec43[0]; | |
1893 | fVec7[1] = fVec7[0]; | |
1894 | fRec44[2] = fRec44[1]; | |
1895 | fRec44[1] = fRec44[0]; | |
1896 | fRec45[1] = fRec45[0]; | |
1897 | fRec46[1] = fRec46[0]; | |
1898 | fVec6[1] = fVec6[0]; | |
1899 | fRec47[2] = fRec47[1]; | |
1900 | fRec47[1] = fRec47[0]; | |
1901 | fRec1[1] = fRec1[0]; | |
1902 | fRec2[2] = fRec2[1]; | |
1903 | fRec2[1] = fRec2[0]; | |
1904 | fRec31[1] = fRec31[0]; | |
1905 | fRec3[1] = fRec3[0]; | |
1906 | fVec5[1] = fVec5[0]; | |
1907 | fRec4[1] = fRec4[0]; | |
1908 | fRec5[2] = fRec5[1]; | |
1909 | fRec5[1] = fRec5[0]; | |
1910 | fRec30[1] = fRec30[0]; | |
1911 | fRec6[1] = fRec6[0]; | |
1912 | fVec4[1] = fVec4[0]; | |
1913 | fRec8[1] = fRec8[0]; | |
1914 | fRec9[2] = fRec9[1]; | |
1915 | fRec9[1] = fRec9[0]; | |
1916 | fRec29[1] = fRec29[0]; | |
1917 | fRec10[1] = fRec10[0]; | |
1918 | fVec3[1] = fVec3[0]; | |
1919 | fRec27[2] = fRec27[1]; | |
1920 | fRec27[1] = fRec27[0]; | |
1921 | fRec28[1] = fRec28[0]; | |
1922 | fRec23[2] = fRec23[1]; | |
1923 | fRec23[1] = fRec23[0]; | |
1924 | fRec24[2] = fRec24[1]; | |
1925 | fRec24[1] = fRec24[0]; | |
1926 | fRec25[2] = fRec25[1]; | |
1927 | fRec25[1] = fRec25[0]; | |
1928 | fRec26[1] = fRec26[0]; | |
1929 | fRec19[2] = fRec19[1]; | |
1930 | fRec19[1] = fRec19[0]; | |
1931 | fRec20[1] = fRec20[0]; | |
1932 | fVec2[1] = fVec2[0]; | |
1933 | fRec21[2] = fRec21[1]; | |
1934 | fRec21[1] = fRec21[0]; | |
1935 | fRec22[1] = fRec22[0]; | |
1936 | fRec11[2] = fRec11[1]; | |
1937 | fRec11[1] = fRec11[0]; | |
1938 | fRec12[2] = fRec12[1]; | |
1939 | fRec12[1] = fRec12[0]; | |
1940 | fRec13[1] = fRec13[0]; | |
1941 | fVec1[1] = fVec1[0]; | |
1942 | fRec14[2] = fRec14[1]; | |
1943 | fRec14[1] = fRec14[0]; | |
1944 | fRec15[1] = fRec15[0]; | |
1945 | fRec16[1] = fRec16[0]; | |
1946 | fVec0[1] = fVec0[0]; | |
1947 | fRec17[2] = fRec17[1]; | |
1948 | fRec17[1] = fRec17[0]; | |
1949 | fRec18[1] = fRec18[0]; | |
1950 | fRec7[1] = fRec7[0]; | |
1951 | fRec0[1] = fRec0[0]; | |
1952 | } | |
1953 | } | |
1954 | ||
1955 | ||
1956 | inline void GxAmpStereo::run_6C16(uint32_t count, float *input0, float *input1, float *output0, float *output1) | |
1957 | { | |
1958 | fslider0 = (*fslider0_); | |
1959 | fslider1 = (*fslider1_); | |
1960 | fslider2 = (*fslider2_); | |
1961 | fslider3 = (*fslider3_); | |
1962 | double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 * fslider0))); | |
1963 | double fSlow1 = (0.0010000000000000009 * pow(10,(0.05 * fslider1))); | |
1964 | double fSlow2 = (1.000000000000001e-05 * fslider2); | |
1965 | double fSlow3 = fslider3; | |
1966 | double fSlow4 = pow(1e+01,(1.2 * fSlow3)); | |
1967 | double fSlow5 = (fConst44 * pow(1e+01,(2 * fSlow3))); | |
1968 | double fSlow6 = pow(1e+01,(0.8 * fSlow3)); | |
1969 | double fSlow7 = (fConst44 * pow(1e+01,(0.9 * fSlow3))); | |
1970 | double fSlow8 = (2 * (fSlow3 - 0.5)); | |
1971 | double fSlow9 = (1 - max(0, (0 - fSlow8))); | |
1972 | double fSlow10 = (1.25 * fSlow3); | |
1973 | double fSlow11 = (1 - max(0, fSlow8)); | |
1974 | for (uint32_t i=0; i<count; i++) | |
1975 | { | |
1976 | fRec0[0] = (fSlow0 + (0.999 * fRec0[1])); | |
1977 | fRec7[0] = (fSlow1 + (0.999 * fRec7[1])); | |
1978 | double fTemp0 = (fConst9 * fRec11[1]); | |
1979 | fRec18[0] = (fSlow2 + (0.999 * fRec18[1])); | |
1980 | double fTemp1 = (double)input0[i]; | |
1981 | fRec17[0] = ((fTemp1 * fRec18[0]) - (fConst36 * ((fConst34 * fRec17[2]) + (fConst32 * fRec17[1])))); | |
1982 | double fTemp2 = (fRec17[2] + (fRec17[0] + (2 * fRec17[1]))); | |
1983 | fVec0[0] = fTemp2; | |
1984 | fRec16[0] = ((fConst38 * ((fConst37 * fVec0[1]) + (fConst1 * fVec0[0]))) + (fConst3 * fRec16[1])); | |
1985 | fRec15[0] = ((fConst39 * (fRec16[0] + fRec16[1])) + (fConst30 * fRec15[1])); | |
1986 | fRec14[0] = (fRec15[0] - (fConst28 * ((fConst26 * fRec14[2]) + (fConst24 * fRec14[1])))); | |
1987 | double fTemp3 = (fRec14[2] + (fRec14[0] + (2 * fRec14[1]))); | |
1988 | fVec1[0] = fTemp3; | |
1989 | fRec13[0] = ((fConst41 * ((fConst40 * fVec1[1]) + (fConst16 * fVec1[0]))) + (fConst21 * fRec13[1])); | |
1990 | fRec12[0] = (fRec13[0] - (fConst19 * ((fConst17 * fRec12[2]) + (fConst15 * fRec12[1])))); | |
1991 | fRec11[0] = ((fConst19 * (((fConst14 * fRec12[0]) + (fConst42 * fRec12[1])) + (fConst14 * fRec12[2]))) - (fConst12 * ((fConst11 * fRec11[2]) + fTemp0))); | |
1992 | double fTemp4 = max(-1, min(1, (fSlow4 * (fRec11[2] + (fConst12 * (fTemp0 + (fConst11 * fRec11[0]))))))); | |
1993 | fRec22[0] = ((fConst41 * (fVec1[0] + fVec1[1])) + (fConst21 * fRec22[1])); | |
1994 | fRec21[0] = (fRec22[0] - (fConst19 * ((fConst17 * fRec21[2]) + (fConst15 * fRec21[1])))); | |
1995 | double fTemp5 = (fRec21[2] + (fRec21[0] + (2 * fRec21[1]))); | |
1996 | fVec2[0] = fTemp5; | |
1997 | fRec20[0] = ((fConst48 * ((fConst47 * fVec2[1]) + (fConst10 * fVec2[0]))) + (fConst46 * fRec20[1])); | |
1998 | fRec19[0] = (fRec20[0] - (fConst44 * ((fConst43 * fRec19[2]) + (fConst9 * fRec19[1])))); | |
1999 | double fTemp6 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec19[0]) + (fConst49 * fRec19[1])) + (fConst8 * fRec19[2]))))); | |
2000 | double fTemp7 = (fConst9 * fRec23[1]); | |
2001 | double fTemp8 = (fConst15 * fRec24[1]); | |
2002 | fRec26[0] = ((fConst39 * ((fConst52 * fRec16[1]) + (fConst25 * fRec16[0]))) + (fConst30 * fRec26[1])); | |
2003 | fRec25[0] = (fRec26[0] - (fConst28 * ((fConst26 * fRec25[2]) + (fConst24 * fRec25[1])))); | |
2004 | fRec24[0] = ((fConst28 * (((fConst23 * fRec25[0]) + (fConst53 * fRec25[1])) + (fConst23 * fRec25[2]))) - (fConst51 * ((fConst50 * fRec24[2]) + fTemp8))); | |
2005 | fRec23[0] = ((fRec24[2] + (fConst51 * (fTemp8 + (fConst50 * fRec24[0])))) - (fConst12 * ((fConst11 * fRec23[2]) + fTemp7))); | |
2006 | double fTemp9 = max(-1, min(1, (fSlow6 * (fRec23[2] + (fConst12 * (fTemp7 + (fConst11 * fRec23[0]))))))); | |
2007 | fRec28[0] = ((fConst48 * (fVec2[0] + fVec2[1])) + (fConst46 * fRec28[1])); | |
2008 | fRec27[0] = (fRec28[0] - (fConst44 * ((fConst43 * fRec27[2]) + (fConst9 * fRec27[1])))); | |
2009 | double fTemp10 = max(-1, min(1, (fSlow7 * (fRec27[2] + (fRec27[0] + (2 * fRec27[1])))))); | |
2010 | double fTemp11 = ((1.2589412 * (fTemp10 * (1 - (0.3333333333333333 * faustpower<2>(fTemp10))))) + (1.584893192 * ((fTemp9 * (1 - (0.3333333333333333 * faustpower<2>(fTemp9)))) + ((fTemp6 * (1 - (0.3333333333333333 * faustpower<2>(fTemp6)))) + (0.8413951417869425 * (fTemp4 * (1 - (0.3333333333333333 * faustpower<2>(fTemp4))))))))); | |
2011 | fVec3[0] = fTemp11; | |
2012 | fRec10[0] = ((fConst54 * (fVec3[0] + fVec3[1])) + (fConst6 * fRec10[1])); | |
2013 | fRec29[0] = ((fConst58 * (fRec9[1] + fRec9[2])) + (fConst57 * fRec29[1])); | |
2014 | double fTemp12 = (1 - fRec18[0]); | |
2015 | double fTemp13 = (fSlow11 * fRec18[0]); | |
2016 | fRec9[0] = (Ftube(TUBE_TABLE_6C16_68k, (((fTemp1 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp1 * fTemp12)))) - 1)))))) + (fRec29[0] + (fSlow9 * fRec10[0]))) - 2.921806)) - 141.78496296296294); | |
2017 | fRec8[0] = ((fConst59 * ((fConst37 * fRec9[1]) + (fConst1 * fRec9[0]))) + (fConst3 * fRec8[1])); | |
2018 | double fTemp14 = (fRec8[0] * fRec7[0]); | |
2019 | fVec4[0] = fTemp14; | |
2020 | fRec6[0] = ((fConst54 * (fVec4[0] + fVec4[1])) + (fConst6 * fRec6[1])); | |
2021 | fRec30[0] = ((fConst63 * (fRec5[1] + fRec5[2])) + (fConst62 * fRec30[1])); | |
2022 | fRec5[0] = (Ftube(TUBE_TABLE_6C16_250k, ((fRec30[0] + fRec6[0]) - 2.097743)) - 110.15046666666666); | |
2023 | fRec4[0] = ((fConst59 * ((fConst37 * fRec5[1]) + (fConst1 * fRec5[0]))) + (fConst3 * fRec4[1])); | |
2024 | double fTemp15 = (fRec7[0] * fRec4[0]); | |
2025 | fVec5[0] = fTemp15; | |
2026 | fRec3[0] = ((fConst54 * (fVec5[0] + fVec5[1])) + (fConst6 * fRec3[1])); | |
2027 | fRec31[0] = ((fConst67 * (fRec2[1] + fRec2[2])) + (fConst66 * fRec31[1])); | |
2028 | fRec2[0] = (Ftube(TUBE_TABLE_6C16_250k, ((fRec31[0] + fRec3[0]) - 1.378742)) - 81.86073170731709); | |
2029 | fRec1[0] = ((fConst59 * ((fConst37 * fRec2[1]) + (fConst1 * fRec2[0]))) + (fConst3 * fRec1[1])); | |
2030 | output0[i] = (float)(fRec1[0] * fRec0[0]); | |
2031 | double fTemp16 = (fConst9 * fRec41[1]); | |
2032 | double fTemp17 = (double)input1[i]; | |
2033 | fRec47[0] = ((fTemp17 * fRec18[0]) - (fConst36 * ((fConst34 * fRec47[2]) + (fConst32 * fRec47[1])))); | |
2034 | double fTemp18 = (fRec47[2] + (fRec47[0] + (2 * fRec47[1]))); | |
2035 | fVec6[0] = fTemp18; | |
2036 | fRec46[0] = ((fConst38 * ((fConst37 * fVec6[1]) + (fConst1 * fVec6[0]))) + (fConst3 * fRec46[1])); | |
2037 | fRec45[0] = ((fConst39 * (fRec46[0] + fRec46[1])) + (fConst30 * fRec45[1])); | |
2038 | fRec44[0] = (fRec45[0] - (fConst28 * ((fConst26 * fRec44[2]) + (fConst24 * fRec44[1])))); | |
2039 | double fTemp19 = (fRec44[2] + (fRec44[0] + (2 * fRec44[1]))); | |
2040 | fVec7[0] = fTemp19; | |
2041 | fRec43[0] = ((fConst41 * ((fConst40 * fVec7[1]) + (fConst16 * fVec7[0]))) + (fConst21 * fRec43[1])); | |
2042 | fRec42[0] = (fRec43[0] - (fConst19 * ((fConst17 * fRec42[2]) + (fConst15 * fRec42[1])))); | |
2043 | fRec41[0] = ((fConst19 * (((fConst14 * fRec42[0]) + (fConst42 * fRec42[1])) + (fConst14 * fRec42[2]))) - (fConst12 * ((fConst11 * fRec41[2]) + fTemp16))); | |
2044 | double fTemp20 = max(-1, min(1, (fSlow4 * (fRec41[2] + (fConst12 * (fTemp16 + (fConst11 * fRec41[0]))))))); | |
2045 | fRec51[0] = ((fConst41 * (fVec7[0] + fVec7[1])) + (fConst21 * fRec51[1])); | |
2046 | fRec50[0] = (fRec51[0] - (fConst19 * ((fConst17 * fRec50[2]) + (fConst15 * fRec50[1])))); | |
2047 | double fTemp21 = (fRec50[2] + (fRec50[0] + (2 * fRec50[1]))); | |
2048 | fVec8[0] = fTemp21; | |
2049 | fRec49[0] = ((fConst48 * ((fConst47 * fVec8[1]) + (fConst10 * fVec8[0]))) + (fConst46 * fRec49[1])); | |
2050 | fRec48[0] = (fRec49[0] - (fConst44 * ((fConst43 * fRec48[2]) + (fConst9 * fRec48[1])))); | |
2051 | double fTemp22 = max(-1, min(1, (fSlow5 * (((fConst8 * fRec48[0]) + (fConst49 * fRec48[1])) + (fConst8 * fRec48[2]))))); | |
2052 | double fTemp23 = (fConst9 * fRec52[1]); | |
2053 | double fTemp24 = (fConst15 * fRec53[1]); | |
2054 | fRec55[0] = ((fConst39 * ((fConst52 * fRec46[1]) + (fConst25 * fRec46[0]))) + (fConst30 * fRec55[1])); | |
2055 | fRec54[0] = (fRec55[0] - (fConst28 * ((fConst26 * fRec54[2]) + (fConst24 * fRec54[1])))); | |
2056 | fRec53[0] = ((fConst28 * (((fConst23 * fRec54[0]) + (fConst53 * fRec54[1])) + (fConst23 * fRec54[2]))) - (fConst51 * ((fConst50 * fRec53[2]) + fTemp24))); | |
2057 | fRec52[0] = ((fRec53[2] + (fConst51 * (fTemp24 + (fConst50 * fRec53[0])))) - (fConst12 * ((fConst11 * fRec52[2]) + fTemp23))); | |
2058 | double fTemp25 = max(-1, min(1, (fSlow6 * (fRec52[2] + (fConst12 * (fTemp23 + (fConst11 * fRec52[0]))))))); | |
2059 | fRec57[0] = ((fConst48 * (fVec8[0] + fVec8[1])) + (fConst46 * fRec57[1])); | |
2060 | fRec56[0] = (fRec57[0] - (fConst44 * ((fConst43 * fRec56[2]) + (fConst9 * fRec56[1])))); | |
2061 | double fTemp26 = max(-1, min(1, (fSlow7 * (fRec56[2] + (fRec56[0] + (2 * fRec56[1])))))); | |
2062 | double fTemp27 = ((1.2589412 * (fTemp26 * (1 - (0.3333333333333333 * faustpower<2>(fTemp26))))) + (1.584893192 * ((fTemp25 * (1 - (0.3333333333333333 * faustpower<2>(fTemp25)))) + ((fTemp22 * (1 - (0.3333333333333333 * faustpower<2>(fTemp22)))) + (0.8413951417869425 * (fTemp20 * (1 - (0.3333333333333333 * faustpower<2>(fTemp20))))))))); | |
2063 | fVec9[0] = fTemp27; | |
2064 | fRec40[0] = ((fConst54 * (fVec9[0] + fVec9[1])) + (fConst6 * fRec40[1])); | |
2065 | fRec58[0] = ((fConst58 * (fRec39[1] + fRec39[2])) + (fConst57 * fRec58[1])); | |
2066 | fRec39[0] = (Ftube(TUBE_TABLE_6C16_68k, (((fTemp17 * (fTemp13 + (fTemp12 * (1 + (fSlow10 * ((4 - (4 * fabs((fTemp17 * fTemp12)))) - 1)))))) + (fRec58[0] + (fSlow9 * fRec40[0]))) - 2.921806)) - 141.78496296296294); | |
2067 | fRec38[0] = ((fConst59 * ((fConst37 * fRec39[1]) + (fConst1 * fRec39[0]))) + (fConst3 * fRec38[1])); | |
2068 | double fTemp28 = (fRec7[0] * fRec38[0]); | |
2069 | fVec10[0] = fTemp28; | |
2070 | fRec37[0] = ((fConst54 * (fVec10[0] + fVec10[1])) + (fConst6 * fRec37[1])); | |
2071 | fRec59[0] = ((fConst63 * (fRec36[1] + fRec36[2])) + (fConst62 * fRec59[1])); | |
2072 | fRec36[0] = (Ftube(TUBE_TABLE_6C16_250k, ((fRec59[0] + fRec37[0]) - 2.097743)) - 110.15046666666666); | |
2073 | fRec35[0] = ((fConst59 * ((fConst37 * fRec36[1]) + (fConst1 * fRec36[0]))) + (fConst3 * fRec35[1])); | |
2074 | double fTemp29 = (fRec7[0] * fRec35[0]); | |
2075 | fVec11[0] = fTemp29; | |
2076 | fRec34[0] = ((fConst54 * (fVec11[0] + fVec11[1])) + (fConst6 * fRec34[1])); | |
2077 | fRec60[0] = ((fConst67 * (fRec33[1] + fRec33[2])) + (fConst66 * fRec60[1])); | |
2078 | fRec33[0] = (Ftube(TUBE_TABLE_6C16_250k, ((fRec60[0] + fRec34[0]) - 1.378742)) - 81.86073170731709); | |
2079 | fRec32[0] = ((fConst59 * ((fConst37 * fRec33[1]) + (fConst1 * fRec33[0]))) + (fConst3 * fRec32[1])); | |
2080 | output1[i] = (float)(fRec0[0] * fRec32[0]); | |
2081 | // post processing | |
2082 | fRec32[1] = fRec32[0]; | |
2083 | fRec33[2] = fRec33[1]; | |
2084 | fRec33[1] = fRec33[0]; | |
2085 | fRec60[1] = fRec60[0]; | |
2086 | fRec34[1] = fRec34[0]; | |
2087 | fVec11[1] = fVec11[0]; | |
2088 | fRec35[1] = fRec35[0]; | |
2089 | fRec36[2] = fRec36[1]; | |
2090 | fRec36[1] = fRec36[0]; | |
2091 | fRec59[1] = fRec59[0]; | |
2092 | fRec37[1] = fRec37[0]; | |
2093 | fVec10[1] = fVec10[0]; | |
2094 | fRec38[1] = fRec38[0]; | |
2095 | fRec39[2] = fRec39[1]; | |
2096 | fRec39[1] = fRec39[0]; | |
2097 | fRec58[1] = fRec58[0]; | |
2098 | fRec40[1] = fRec40[0]; | |
2099 | fVec9[1] = fVec9[0]; | |
2100 | fRec56[2] = fRec56[1]; | |
2101 | fRec56[1] = fRec56[0]; | |
2102 | fRec57[1] = fRec57[0]; | |
2103 | fRec52[2] = fRec52[1]; | |
2104 | fRec52[1] = fRec52[0]; | |
2105 | fRec53[2] = fRec53[1]; | |
2106 | fRec53[1] = fRec53[0]; | |
2107 | fRec54[2] = fRec54[1]; | |
2108 | fRec54[1] = fRec54[0]; | |
2109 | fRec55[1] = fRec55[0]; | |
2110 | fRec48[2] = fRec48[1]; | |
2111 | fRec48[1] = fRec48[0]; | |
2112 | fRec49[1] = fRec49[0]; | |
2113 | fVec8[1] = fVec8[0]; | |
2114 | fRec50[2] = fRec50[1]; | |
2115 | fRec50[1] = fRec50[0]; | |
2116 | fRec51[1] = fRec51[0]; | |
2117 | fRec41[2] = fRec41[1]; | |
2118 | fRec41[1] = fRec41[0]; | |
2119 | fRec42[2] = fRec42[1]; | |
2120 | fRec42[1] = fRec42[0]; | |
2121 | fRec43[1] = fRec43[0]; | |
2122 | fVec7[1] = fVec7[0]; | |
2123 | fRec44[2] = fRec44[1]; | |
2124 | fRec44[1] = fRec44[0]; | |
2125 | fRec45[1] = fRec45[0]; | |
2126 | fRec46[1] = fRec46[0]; | |
2127 | fVec6[1] = fVec6[0]; | |
2128 | fRec47[2] = fRec47[1]; | |
2129 | fRec47[1] = fRec47[0]; | |
2130 | fRec1[1] = fRec1[0]; | |
2131 | fRec2[2] = fRec2[1]; | |
2132 | fRec2[1] = fRec2[0]; | |
2133 | fRec31[1] = fRec31[0]; | |
2134 | fRec3[1] = fRec3[0]; | |
2135 | fVec5[1] = fVec5[0]; | |
2136 | fRec4[1] = fRec4[0]; | |
2137 | fRec5[2] = fRec5[1]; | |
2138 | fRec5[1] = fRec5[0]; | |
2139 | fRec30[1] = fRec30[0]; | |
2140 | fRec6[1] = fRec6[0]; | |
2141 | fVec4[1] = fVec4[0]; | |
2142 | fRec8[1] = fRec8[0]; | |
2143 | fRec9[2] = fRec9[1]; | |
2144 | fRec9[1] = fRec9[0]; | |
2145 | fRec29[1] = fRec29[0]; | |
2146 | fRec10[1] = fRec10[0]; | |
2147 | fVec3[1] = fVec3[0]; | |
2148 | fRec27[2] = fRec27[1]; | |
2149 | fRec27[1] = fRec27[0]; | |
2150 | fRec28[1] = fRec28[0]; | |
2151 | fRec23[2] = fRec23[1]; | |
2152 | fRec23[1] = fRec23[0]; | |
2153 | fRec24[2] = fRec24[1]; | |
2154 | fRec24[1] = fRec24[0]; | |
2155 | fRec25[2] = fRec25[1]; | |
2156 | fRec25[1] = fRec25[0]; | |
2157 | fRec26[1] = fRec26[0]; | |
2158 | fRec19[2] = fRec19[1]; | |
2159 | fRec19[1] = fRec19[0]; | |
2160 | fRec20[1] = fRec20[0]; | |
2161 | fVec2[1] = fVec2[0]; | |
2162 | fRec21[2] = fRec21[1]; | |
2163 | fRec21[1] = fRec21[0]; | |
2164 | fRec22[1] = fRec22[0]; | |
2165 | fRec11[2] = fRec11[1]; | |
2166 | fRec11[1] = fRec11[0]; | |
2167 | fRec12[2] = fRec12[1]; | |
2168 | fRec12[1] = fRec12[0]; | |
2169 | fRec13[1] = fRec13[0]; | |
2170 | fVec1[1] = fVec1[0]; | |
2171 | fRec14[2] = fRec14[1]; | |
2172 | fRec14[1] = fRec14[0]; | |
2173 | fRec15[1] = fRec15[0]; | |
2174 | fRec16[1] = fRec16[0]; | |
2175 | fVec0[1] = fVec0[0]; | |
2176 | fRec17[2] = fRec17[1]; | |
2177 | fRec17[1] = fRec17[0]; | |
2178 | fRec18[1] = fRec18[0]; | |
2179 | fRec7[1] = fRec7[0]; | |
2180 | fRec0[1] = fRec0[0]; | |
2181 | } | |
2182 | } | |
2183 | ||
2184 | ||
2185 | // static wrappers | |
2186 | void GxAmpStereo::init_static(uint32_t samplingFreq, GxAmpStereo *p) | |
2187 | { | |
2188 | p->init(samplingFreq); | |
2189 | } | |
2190 | ||
2191 | void GxAmpStereo::connect_static(uint32_t port,void* data, GxAmpStereo *p) | |
2192 | { | |
2193 | p->connect(port, data); | |
2194 | } | |
2195 | ||
2196 | ||
2197 | void GxAmpStereo::run_static(uint32_t n_samples, float* input, float* input1, float* output, float* output1, GxAmpStereo *p) | |
2198 | { | |
2199 | (p->*_as_ptr)(n_samples, input, input1, output, output1); | |
2200 | } | |
2201 |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | #pragma once | |
20 | ||
21 | #ifndef SRC_HEADERS_GX_AMP_H_ | |
22 | #define SRC_HEADERS_GX_AMP_H_ | |
23 | ||
24 | #include "valve.h" | |
25 | ||
26 | // plugin class | |
27 | class GxAmpMono | |
28 | { | |
29 | private: | |
30 | int32_t fSamplingFreq; | |
31 | float fslider0; | |
32 | float *fslider0_; | |
33 | double fRec0[2]; | |
34 | int32_t iConst0; | |
35 | double fConst1; | |
36 | double fConst2; | |
37 | double fConst3; | |
38 | double fConst4; | |
39 | double fConst5; | |
40 | double fConst6; | |
41 | float fslider1; | |
42 | float *fslider1_; | |
43 | double fRec7[2]; | |
44 | double fConst7; | |
45 | double fConst8; | |
46 | double fConst9; | |
47 | double fConst10; | |
48 | double fConst11; | |
49 | double fConst12; | |
50 | double fConst13; | |
51 | double fConst14; | |
52 | double fConst15; | |
53 | double fConst16; | |
54 | double fConst17; | |
55 | double fConst18; | |
56 | double fConst19; | |
57 | double fConst20; | |
58 | double fConst21; | |
59 | double fConst22; | |
60 | double fConst23; | |
61 | double fConst24; | |
62 | double fConst25; | |
63 | double fConst26; | |
64 | double fConst27; | |
65 | double fConst28; | |
66 | double fConst29; | |
67 | double fConst30; | |
68 | double fConst31; | |
69 | double fConst32; | |
70 | double fConst33; | |
71 | double fConst34; | |
72 | double fConst35; | |
73 | double fConst36; | |
74 | float fslider2; | |
75 | float *fslider2_; | |
76 | double fRec18[2]; | |
77 | double fRec17[3]; | |
78 | double fVec0[2]; | |
79 | double fConst37; | |
80 | double fConst38; | |
81 | double fRec16[2]; | |
82 | double fConst39; | |
83 | double fRec15[2]; | |
84 | double fRec14[3]; | |
85 | double fVec1[2]; | |
86 | double fConst40; | |
87 | double fConst41; | |
88 | double fRec13[2]; | |
89 | double fRec12[3]; | |
90 | double fConst42; | |
91 | double fRec11[3]; | |
92 | float fslider3; | |
93 | float *fslider3_; | |
94 | double fConst43; | |
95 | double fConst44; | |
96 | double fConst45; | |
97 | double fConst46; | |
98 | double fRec22[2]; | |
99 | double fRec21[3]; | |
100 | double fVec2[2]; | |
101 | double fConst47; | |
102 | double fConst48; | |
103 | double fRec20[2]; | |
104 | double fRec19[3]; | |
105 | double fConst49; | |
106 | double fConst50; | |
107 | double fConst51; | |
108 | double fConst52; | |
109 | double fRec26[2]; | |
110 | double fRec25[3]; | |
111 | double fConst53; | |
112 | double fRec24[3]; | |
113 | double fRec23[3]; | |
114 | double fRec28[2]; | |
115 | double fRec27[3]; | |
116 | double fVec3[2]; | |
117 | double fConst54; | |
118 | double fRec10[2]; | |
119 | double fConst55; | |
120 | double fConst56; | |
121 | double fConst57; | |
122 | double fConst58; | |
123 | double fRec29[2]; | |
124 | double fRec9[3]; | |
125 | double fConst59; | |
126 | double fRec8[2]; | |
127 | double fVec4[2]; | |
128 | double fRec6[2]; | |
129 | double fConst60; | |
130 | double fConst61; | |
131 | double fConst62; | |
132 | double fConst63; | |
133 | double fRec30[2]; | |
134 | double fRec5[3]; | |
135 | double fRec4[2]; | |
136 | double fVec5[2]; | |
137 | double fRec3[2]; | |
138 | double fConst64; | |
139 | double fConst65; | |
140 | double fConst66; | |
141 | double fConst67; | |
142 | double fRec31[2]; | |
143 | double fRec2[3]; | |
144 | double fRec1[2]; | |
145 | void clear_state_f(); | |
146 | void init(uint32_t samplingFreq); | |
147 | void connect(uint32_t port,void* data); | |
148 | ||
149 | public: | |
150 | void run_6V6(uint32_t n_samples,float* input, float* output); | |
151 | void run_6C16(uint32_t n_samples, float* input, float* output); | |
152 | void run_12AT7(uint32_t n_samples, float* input, float* output); | |
153 | void run_12ax7(uint32_t n_samples, float* input, float* output); | |
154 | void run_6DJ8(uint32_t n_samples, float* input, float* output); | |
155 | static void init_static(uint32_t samplingFreq, GxAmpMono *p); | |
156 | static void connect_static(uint32_t port,void* data, GxAmpMono *p); | |
157 | static void run_static(uint32_t n_samples, float* input, float* output, GxAmpMono *p); | |
158 | GxAmpMono() {}; | |
159 | ~GxAmpMono() {}; | |
160 | }; | |
161 | // define run pointer typs | |
162 | typedef void (GxAmpMono::*run_this) | |
163 | (uint32_t count,float* input, float* output); | |
164 | ||
165 | run_this _a_ptr; | |
166 | ||
167 | ||
168 | class GxAmpStereo | |
169 | { | |
170 | private: | |
171 | int32_t fSamplingFreq; | |
172 | float fslider0; | |
173 | float *fslider0_; | |
174 | double fRec0[2]; | |
175 | int32_t iConst0; | |
176 | double fConst1; | |
177 | double fConst2; | |
178 | double fConst3; | |
179 | double fConst4; | |
180 | double fConst5; | |
181 | double fConst6; | |
182 | float fslider1; | |
183 | float *fslider1_; | |
184 | double fRec7[2]; | |
185 | double fConst7; | |
186 | double fConst8; | |
187 | double fConst9; | |
188 | double fConst10; | |
189 | double fConst11; | |
190 | double fConst12; | |
191 | double fConst13; | |
192 | double fConst14; | |
193 | double fConst15; | |
194 | double fConst16; | |
195 | double fConst17; | |
196 | double fConst18; | |
197 | double fConst19; | |
198 | double fConst20; | |
199 | double fConst21; | |
200 | double fConst22; | |
201 | double fConst23; | |
202 | double fConst24; | |
203 | double fConst25; | |
204 | double fConst26; | |
205 | double fConst27; | |
206 | double fConst28; | |
207 | double fConst29; | |
208 | double fConst30; | |
209 | double fConst31; | |
210 | double fConst32; | |
211 | double fConst33; | |
212 | double fConst34; | |
213 | double fConst35; | |
214 | double fConst36; | |
215 | float fslider2; | |
216 | float *fslider2_; | |
217 | double fRec18[2]; | |
218 | double fRec17[3]; | |
219 | double fVec0[2]; | |
220 | double fConst37; | |
221 | double fConst38; | |
222 | double fRec16[2]; | |
223 | double fConst39; | |
224 | double fRec15[2]; | |
225 | double fRec14[3]; | |
226 | double fVec1[2]; | |
227 | double fConst40; | |
228 | double fConst41; | |
229 | double fRec13[2]; | |
230 | double fRec12[3]; | |
231 | double fConst42; | |
232 | double fRec11[3]; | |
233 | float fslider3; | |
234 | float *fslider3_; | |
235 | double fConst43; | |
236 | double fConst44; | |
237 | double fConst45; | |
238 | double fConst46; | |
239 | double fRec22[2]; | |
240 | double fRec21[3]; | |
241 | double fVec2[2]; | |
242 | double fConst47; | |
243 | double fConst48; | |
244 | double fRec20[2]; | |
245 | double fRec19[3]; | |
246 | double fConst49; | |
247 | double fConst50; | |
248 | double fConst51; | |
249 | double fConst52; | |
250 | double fRec26[2]; | |
251 | double fRec25[3]; | |
252 | double fConst53; | |
253 | double fRec24[3]; | |
254 | double fRec23[3]; | |
255 | double fRec28[2]; | |
256 | double fRec27[3]; | |
257 | double fVec3[2]; | |
258 | double fConst54; | |
259 | double fRec10[2]; | |
260 | double fConst55; | |
261 | double fConst56; | |
262 | double fConst57; | |
263 | double fConst58; | |
264 | double fRec29[2]; | |
265 | double fRec9[3]; | |
266 | double fConst59; | |
267 | double fRec8[2]; | |
268 | double fVec4[2]; | |
269 | double fRec6[2]; | |
270 | double fConst60; | |
271 | double fConst61; | |
272 | double fConst62; | |
273 | double fConst63; | |
274 | double fRec30[2]; | |
275 | double fRec5[3]; | |
276 | double fRec4[2]; | |
277 | double fVec5[2]; | |
278 | double fRec3[2]; | |
279 | double fConst64; | |
280 | double fConst65; | |
281 | double fConst66; | |
282 | double fConst67; | |
283 | double fRec31[2]; | |
284 | double fRec2[3]; | |
285 | double fRec1[2]; | |
286 | double fRec47[3]; | |
287 | double fVec6[2]; | |
288 | double fRec46[2]; | |
289 | double fRec45[2]; | |
290 | double fRec44[3]; | |
291 | double fVec7[2]; | |
292 | double fRec43[2]; | |
293 | double fRec42[3]; | |
294 | double fRec41[3]; | |
295 | double fRec51[2]; | |
296 | double fRec50[3]; | |
297 | double fVec8[2]; | |
298 | double fRec49[2]; | |
299 | double fRec48[3]; | |
300 | double fRec55[2]; | |
301 | double fRec54[3]; | |
302 | double fRec53[3]; | |
303 | double fRec52[3]; | |
304 | double fRec57[2]; | |
305 | double fRec56[3]; | |
306 | double fVec9[2]; | |
307 | double fRec40[2]; | |
308 | double fRec58[2]; | |
309 | double fRec39[3]; | |
310 | double fRec38[2]; | |
311 | double fVec10[2]; | |
312 | double fRec37[2]; | |
313 | double fRec59[2]; | |
314 | double fRec36[3]; | |
315 | double fRec35[2]; | |
316 | double fVec11[2]; | |
317 | double fRec34[2]; | |
318 | double fRec60[2]; | |
319 | double fRec33[3]; | |
320 | double fRec32[2]; | |
321 | void clear_state_f(); | |
322 | void init(uint32_t samplingFreq); | |
323 | void connect(uint32_t port,void* data); | |
324 | ||
325 | ||
326 | public: | |
327 | void run_6V6(uint32_t n_samples,float* input,float* input1, float* output, float* output1); | |
328 | void run_6C16(uint32_t n_samples, float* input,float* input1, float* output, float* output1); | |
329 | void run_12AT7(uint32_t n_samples, float* input,float* input1, float* output, float* output1); | |
330 | void run_12ax7(uint32_t n_samples, float* input,float* input1, float* output, float* output1); | |
331 | void run_6DJ8(uint32_t n_samples, float* input,float* input1, float* output, float* output1); | |
332 | static void init_static(uint32_t samplingFreq, GxAmpStereo *p); | |
333 | static void connect_static(uint32_t port,void* data, GxAmpStereo *p); | |
334 | static void run_static(uint32_t n_samples, float* input,float* input1, float* output, float* output1, GxAmpStereo *p); | |
335 | GxAmpStereo() {}; | |
336 | ~GxAmpStereo() {}; | |
337 | }; | |
338 | ||
339 | // define run pointer typs | |
340 | typedef void (GxAmpStereo::*run_stereo) | |
341 | (uint32_t count,float* input, float* input1, float* output, float* output1); | |
342 | ||
343 | run_stereo _as_ptr; | |
344 | ||
345 | ||
346 | #endif //SRC_HEADERS_GX_AMP_H_ |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | #include "gx_convolver.h" | |
20 | #include <string.h> | |
21 | /**************************************************************** | |
22 | ** some pieces in this file are copied from jconvolver | |
23 | */ | |
24 | ||
25 | #define max(x, y) (((x) > (y)) ? (x) : (y)) | |
26 | /**************************************************************** | |
27 | ** GxConvolverBase | |
28 | */ | |
29 | ||
30 | GxConvolverBase::~GxConvolverBase() | |
31 | { | |
32 | if (is_runnable()) | |
33 | { | |
34 | stop_process(); | |
35 | } | |
36 | } | |
37 | ||
38 | void GxConvolverBase::adjust_values( | |
39 | uint32_t audio_size, uint32_t& count, uint32_t& offset, | |
40 | uint32_t& delay, uint32_t& ldelay, uint32_t& length, | |
41 | uint32_t& size, uint32_t& bufsize) | |
42 | { | |
43 | ||
44 | if (bufsize < count) | |
45 | { | |
46 | bufsize = count; | |
47 | } | |
48 | if (bufsize < Convproc::MINPART) | |
49 | { | |
50 | bufsize = Convproc::MINPART; | |
51 | } | |
52 | if (offset > audio_size) | |
53 | { | |
54 | offset = audio_size; | |
55 | } | |
56 | if (!size) | |
57 | { | |
58 | if (offset + length > audio_size) | |
59 | { | |
60 | ||
61 | length = audio_size - offset; | |
62 | } | |
63 | if (!length) | |
64 | { | |
65 | length = audio_size - offset; | |
66 | } | |
67 | size = max(delay, ldelay) + offset + length; | |
68 | } | |
69 | else | |
70 | { | |
71 | if (delay > size) | |
72 | { | |
73 | delay = size; | |
74 | } | |
75 | if (ldelay > size) | |
76 | { | |
77 | ldelay = size; | |
78 | } | |
79 | if (offset > size - max(delay, ldelay)) | |
80 | { | |
81 | offset = size - max(delay, ldelay); | |
82 | } | |
83 | if (length > size - max(delay, ldelay) - offset) | |
84 | { | |
85 | length = size - max(delay, ldelay) - offset; | |
86 | ||
87 | } | |
88 | if (!length) | |
89 | { | |
90 | length = size - max(delay, ldelay) - offset; | |
91 | } | |
92 | } | |
93 | } | |
94 | ||
95 | bool GxConvolverBase::start(int32_t policy, int32_t priority) | |
96 | { | |
97 | int32_t rc = start_process(priority, policy); | |
98 | if (rc != 0) | |
99 | { | |
100 | ||
101 | return false; | |
102 | } | |
103 | ready = true; | |
104 | return true; | |
105 | } | |
106 | ||
107 | bool GxConvolverBase::checkstate() | |
108 | { | |
109 | if (state() == Convproc::ST_WAIT) | |
110 | { | |
111 | if (check_stop()) | |
112 | { | |
113 | ready = false; | |
114 | } | |
115 | else | |
116 | { | |
117 | return false; | |
118 | } | |
119 | } | |
120 | else if (state() == ST_STOP) | |
121 | { | |
122 | ready = false; | |
123 | } | |
124 | return true; | |
125 | } | |
126 | ||
127 | /**************************************************************** | |
128 | ** GxSimpleConvolver | |
129 | */ | |
130 | ||
131 | class CheckResample | |
132 | { | |
133 | private: | |
134 | float *vec; | |
135 | gx_resample::BufferResampler& resamp; | |
136 | public: | |
137 | CheckResample(gx_resample::BufferResampler& resamp_): vec(0), resamp(resamp_) {} | |
138 | float *resample(int32_t *count, float *impresp, uint32_t imprate, uint32_t samplerate) | |
139 | { | |
140 | if (imprate != samplerate) | |
141 | { | |
142 | vec = resamp.process(imprate, *count, impresp, samplerate, count); | |
143 | if (!vec) | |
144 | { | |
145 | if (samplerate) | |
146 | { | |
147 | } | |
148 | else | |
149 | { | |
150 | } | |
151 | return 0; | |
152 | } | |
153 | return vec; | |
154 | } | |
155 | return impresp; | |
156 | } | |
157 | ~CheckResample() | |
158 | { | |
159 | if (vec) | |
160 | { | |
161 | delete vec; | |
162 | } | |
163 | } | |
164 | }; | |
165 | ||
166 | bool GxSimpleConvolver::configure(int32_t count, float *impresp, uint32_t imprate) | |
167 | { | |
168 | //printf("try configure()\n"); | |
169 | CheckResample r(resamp); | |
170 | impresp = r.resample(&count, impresp, imprate, samplerate); | |
171 | if (!impresp) | |
172 | { | |
173 | printf("no impresp\n"); | |
174 | return false; | |
175 | } | |
176 | cleanup(); | |
177 | uint32_t bufsize = buffersize; | |
178 | if (bufsize < Convproc::MINPART) | |
179 | { | |
180 | bufsize = Convproc::MINPART; | |
181 | } | |
182 | if (Convproc::configure(1, 1, count, buffersize, | |
183 | bufsize, Convproc::MAXPART)) | |
184 | { | |
185 | printf("no configure\n"); | |
186 | return false; | |
187 | } | |
188 | if (impdata_create(0, 0, 1, impresp, 0, count)) | |
189 | { | |
190 | printf("no impdata_create()\n"); | |
191 | return false; | |
192 | } | |
193 | //printf("configure()\n"); | |
194 | ||
195 | return true; | |
196 | } | |
197 | ||
198 | bool GxSimpleConvolver::update(int32_t count, float *impresp, uint32_t imprate) | |
199 | { | |
200 | CheckResample r(resamp); | |
201 | impresp = r.resample(&count, impresp, imprate, samplerate); | |
202 | if (!impresp) | |
203 | { | |
204 | return false; | |
205 | } | |
206 | if (impdata_update(0, 0, 1, impresp, 0, count)) | |
207 | { | |
208 | return false; | |
209 | } | |
210 | return true; | |
211 | } | |
212 | ||
213 | bool GxSimpleConvolver::compute(int32_t count, float* input, float *output) | |
214 | { | |
215 | // printf("try run\n"); | |
216 | if (state() != Convproc::ST_PROC) | |
217 | { | |
218 | //printf("state() != ST_PROC\n"); | |
219 | if (input != output) | |
220 | { | |
221 | memcpy(output, input, count * sizeof(float)); | |
222 | } | |
223 | if (state() == Convproc::ST_WAIT) | |
224 | { | |
225 | //printf("state() == ST_WAIT\n"); | |
226 | check_stop(); | |
227 | } | |
228 | if (state() == ST_STOP) | |
229 | { | |
230 | //printf("state() == ST_STOP\n"); | |
231 | ready = false; | |
232 | } | |
233 | return true; | |
234 | } | |
235 | memcpy(inpdata(0), input, count * sizeof(float)); | |
236 | ||
237 | int32_t flags = process(sync); | |
238 | ||
239 | memcpy(output, outdata(0), count * sizeof(float)); | |
240 | //printf("run\n"); | |
241 | return flags == 0; | |
242 | } | |
243 | ||
244 | void GxSimpleConvolver::run_static(uint32_t n_samples, GxSimpleConvolver *p, float *output) | |
245 | { | |
246 | if (!p->compute((int32_t)n_samples, output, output)) | |
247 | printf("convolver didn't run\n"); | |
248 | } | |
249 | ||
250 | //////////////stero///////////////// | |
251 | ||
252 | bool GxSimpleConvolver::configure_stereo(int32_t count, float *impresp, uint32_t imprate) | |
253 | { | |
254 | //printf("try configure()\n"); | |
255 | CheckResample r(resamp); | |
256 | impresp = r.resample(&count, impresp, imprate, samplerate); | |
257 | if (!impresp) | |
258 | { | |
259 | printf("no impresp\n"); | |
260 | return false; | |
261 | } | |
262 | cleanup(); | |
263 | uint32_t bufsize = buffersize; | |
264 | if (bufsize < Convproc::MINPART) | |
265 | { | |
266 | bufsize = Convproc::MINPART; | |
267 | } | |
268 | if (Convproc::configure(2, 2, count, buffersize, | |
269 | bufsize, Convproc::MAXPART)) | |
270 | { | |
271 | printf("no configure\n"); | |
272 | return false; | |
273 | } | |
274 | if (impdata_create(0, 0, 1, impresp, 0, count) & impdata_create(1, 1, 1, impresp, 0, count)) | |
275 | { | |
276 | printf("no impdata_create()\n"); | |
277 | return false; | |
278 | } | |
279 | //printf("configure()\n"); | |
280 | ||
281 | return true; | |
282 | } | |
283 | ||
284 | bool GxSimpleConvolver::update_stereo(int32_t count, float *impresp, uint32_t imprate) | |
285 | { | |
286 | CheckResample r(resamp); | |
287 | impresp = r.resample(&count, impresp, imprate, samplerate); | |
288 | if (!impresp) | |
289 | { | |
290 | return false; | |
291 | } | |
292 | if (impdata_update(0, 0, 1, impresp, 0, count) & impdata_update(1, 1, 1, impresp, 0, count)) | |
293 | { | |
294 | return false; | |
295 | } | |
296 | return true; | |
297 | } | |
298 | ||
299 | bool GxSimpleConvolver::compute_stereo(int32_t count, float* input, float* input1, float *output, float *output1) | |
300 | { | |
301 | // printf("try run\n"); | |
302 | if (state() != Convproc::ST_PROC) | |
303 | { | |
304 | //printf("state() != ST_PROC\n"); | |
305 | if (input != output) | |
306 | { | |
307 | memcpy(output, input, count * sizeof(float)); | |
308 | memcpy(output1, input1, count * sizeof(float)); | |
309 | } | |
310 | if (state() == Convproc::ST_WAIT) | |
311 | { | |
312 | //printf("state() == ST_WAIT\n"); | |
313 | check_stop(); | |
314 | } | |
315 | if (state() == ST_STOP) | |
316 | { | |
317 | //printf("state() == ST_STOP\n"); | |
318 | ready = false; | |
319 | } | |
320 | return true; | |
321 | } | |
322 | memcpy(inpdata(0), input, count * sizeof(float)); | |
323 | memcpy(inpdata(1), input1, count * sizeof(float)); | |
324 | int32_t flags = process(sync); | |
325 | ||
326 | memcpy(output, outdata(0), count * sizeof(float)); | |
327 | memcpy(output1, outdata(1), count * sizeof(float)); | |
328 | //printf("run\n"); | |
329 | return flags == 0; | |
330 | } | |
331 | ||
332 | void GxSimpleConvolver::run_static_stereo(uint32_t n_samples, GxSimpleConvolver *p, float *output, float *output1) | |
333 | { | |
334 | if (!p->compute_stereo((int32_t)n_samples, output, output1, output, output1)) | |
335 | printf("convolver didn't run\n"); | |
336 | } |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | #pragma once | |
21 | ||
22 | #ifndef SRC_HEADERS_GX_CONVOLVER_H_ | |
23 | #define SRC_HEADERS_GX_CONVOLVER_H_ | |
24 | ||
25 | #include <zita-convolver.h> | |
26 | #include <stdint.h> | |
27 | #include "gx_resampler.h" | |
28 | /* GxConvolver */ | |
29 | ||
30 | ||
31 | class GxConvolverBase: protected Convproc | |
32 | { | |
33 | protected: | |
34 | volatile bool ready; | |
35 | bool sync; | |
36 | void adjust_values(uint32_t audio_size, uint32_t& count, uint32_t& offset, | |
37 | uint32_t& delay, uint32_t& ldelay, uint32_t& length, | |
38 | uint32_t& size, uint32_t& bufsize); | |
39 | uint32_t buffersize; | |
40 | uint32_t samplerate; | |
41 | GxConvolverBase(): ready(false), sync(false), buffersize(), samplerate() {} | |
42 | ~GxConvolverBase(); | |
43 | public: | |
44 | inline void set_buffersize(uint32_t sz) | |
45 | { | |
46 | buffersize = sz; | |
47 | } | |
48 | inline uint32_t get_buffersize() | |
49 | { | |
50 | return buffersize; | |
51 | } | |
52 | inline void set_samplerate(uint32_t sr) | |
53 | { | |
54 | samplerate = sr; | |
55 | } | |
56 | inline uint32_t get_samplerate() | |
57 | { | |
58 | return samplerate; | |
59 | } | |
60 | bool checkstate(); | |
61 | using Convproc::state; | |
62 | inline void set_not_runnable() | |
63 | { | |
64 | ready = false; | |
65 | } | |
66 | inline bool is_runnable() | |
67 | { | |
68 | return ready; | |
69 | } | |
70 | bool start(int32_t policy, int32_t priority); | |
71 | using Convproc::stop_process; | |
72 | inline void set_sync(bool val) | |
73 | { | |
74 | sync = val; | |
75 | } | |
76 | }; | |
77 | ||
78 | ||
79 | class GxSimpleConvolver: public GxConvolverBase | |
80 | { | |
81 | private: | |
82 | gx_resample::BufferResampler& resamp; | |
83 | public: | |
84 | int32_t cab_count; | |
85 | uint32_t cab_sr; | |
86 | float *cab_data; | |
87 | float *cab_data_new; | |
88 | GxSimpleConvolver(gx_resample::BufferResampler& resamp_) | |
89 | : GxConvolverBase(), resamp(resamp_), cab_count(0), cab_sr(0), | |
90 | cab_data(NULL), cab_data_new(NULL) {} | |
91 | bool configure(int32_t count, float *impresp, uint32_t imprate); | |
92 | bool update(int32_t count, float *impresp, uint32_t imprate); | |
93 | bool compute(int32_t count, float* input, float *output); | |
94 | bool compute(int32_t count, float* buffer) | |
95 | { | |
96 | return is_runnable() ? compute_stereo(count, buffer, buffer) : true; | |
97 | } | |
98 | ||
99 | bool configure_stereo(int32_t count, float *impresp, uint32_t imprate); | |
100 | bool update_stereo(int32_t count, float *impresp, uint32_t imprate); | |
101 | bool compute_stereo(int32_t count, float* input, float* input1, float *output, float *output1); | |
102 | bool compute_stereo(int32_t count, float* buffer, float* buffer1) | |
103 | { | |
104 | return is_runnable() ? compute_stereo(count, buffer, buffer, buffer1, buffer1) : true; | |
105 | } | |
106 | static void run_static(uint32_t n_samples, GxSimpleConvolver*, float *output); | |
107 | static void run_static_stereo(uint32_t n_samples, GxSimpleConvolver*, float *output, float *output1); | |
108 | }; | |
109 | ||
110 | ||
111 | #endif // SRC_HEADERS_GX_CONVOLVER_H_ |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | #include "gx_resampler.h" | |
20 | ||
21 | namespace gx_resample | |
22 | { | |
23 | ||
24 | // copyed gcd from (zita) resampler.cc to get ratio_a and ratio_b for | |
25 | // calculate the correct buffer size resulting from resample | |
26 | static uint32_t gcd (uint32_t a, uint32_t b) | |
27 | { | |
28 | if (a == 0) return b; | |
29 | if (b == 0) return a; | |
30 | while (1) | |
31 | { | |
32 | if (a > b) | |
33 | { | |
34 | a = a % b; | |
35 | if (a == 0) return b; | |
36 | if (a == 1) return 1; | |
37 | } | |
38 | else | |
39 | { | |
40 | b = b % a; | |
41 | if (b == 0) return a; | |
42 | if (b == 1) return 1; | |
43 | } | |
44 | } | |
45 | return 1; | |
46 | } | |
47 | ||
48 | void SimpleResampler::setup(int32_t sampleRate, uint32_t fact) | |
49 | { | |
50 | assert(fact <= MAX_UPSAMPLE); | |
51 | m_fact = fact; | |
52 | const int32_t qual = 16; // resulting in a total delay of 2*qual (0.7ms @44100) | |
53 | // upsampler | |
54 | r_up.setup(sampleRate, sampleRate*fact, 1, qual); | |
55 | // k == inpsize() == 2 * qual | |
56 | // pre-fill with k-1 zeros | |
57 | r_up.inp_count = r_up.inpsize() - 1; | |
58 | r_up.out_count = 1; | |
59 | r_up.inp_data = r_up.out_data = 0; | |
60 | r_up.process(); | |
61 | // downsampler | |
62 | r_down.setup(sampleRate*fact, sampleRate, 1, qual); | |
63 | // k == inpsize() == 2 * qual * fact | |
64 | // pre-fill with k-1 zeros | |
65 | r_down.inp_count = r_down.inpsize() - 1; | |
66 | r_down.out_count = 1; | |
67 | r_down.inp_data = r_down.out_data = 0; | |
68 | r_down.process(); | |
69 | } | |
70 | ||
71 | void SimpleResampler::up(int32_t count, float *input, float *output) | |
72 | { | |
73 | r_up.inp_count = count; | |
74 | r_up.inp_data = input; | |
75 | r_up.out_count = count * m_fact; | |
76 | r_up.out_data = output; | |
77 | r_up.process(); | |
78 | assert(r_up.inp_count == 0); | |
79 | assert(r_up.out_count == 0); | |
80 | } | |
81 | ||
82 | void SimpleResampler::down(int32_t count, float *input, float *output) | |
83 | { | |
84 | r_down.inp_count = count * m_fact; | |
85 | r_down.inp_data = input; | |
86 | r_down.out_count = count+1; // +1 == trick to drain input | |
87 | r_down.out_data = output; | |
88 | r_down.process(); | |
89 | assert(r_down.inp_count == 0); | |
90 | assert(r_down.out_count == 1); | |
91 | } | |
92 | ||
93 | float *BufferResampler::process(int32_t fs_inp, int32_t ilen, float *input, int32_t fs_outp, int32_t *olen) | |
94 | { | |
95 | int32_t d = gcd(fs_inp, fs_outp); | |
96 | int32_t ratio_a = fs_inp / d; | |
97 | int32_t ratio_b = fs_outp / d; | |
98 | ||
99 | const int32_t qual = 32; | |
100 | if (setup(fs_inp, fs_outp, 1, qual) != 0) | |
101 | { | |
102 | return 0; | |
103 | } | |
104 | // pre-fill with k/2-1 zeros | |
105 | int32_t k = inpsize(); | |
106 | inp_count = k/2-1; | |
107 | inp_data = 0; | |
108 | out_count = 1; // must be at least 1 to get going | |
109 | out_data = 0; | |
110 | if (Resampler::process() != 0) | |
111 | { | |
112 | return 0; | |
113 | } | |
114 | inp_count = ilen; | |
115 | int32_t nout = out_count = (ilen * ratio_b + ratio_a - 1) / ratio_a; | |
116 | inp_data = input; | |
117 | float *p = out_data = new float[out_count]; | |
118 | if (Resampler::process() != 0) | |
119 | { | |
120 | delete p; | |
121 | return 0; | |
122 | } | |
123 | inp_data = 0; | |
124 | inp_count = k/2; | |
125 | if (Resampler::process() != 0) | |
126 | { | |
127 | delete p; | |
128 | return 0; | |
129 | } | |
130 | assert(inp_count == 0); | |
131 | assert(out_count <= 1); | |
132 | *olen = nout - out_count; | |
133 | //printf("resampled from %i to: %i\n",fs_inp, fs_outp ); | |
134 | return p; | |
135 | } | |
136 | ||
137 | bool StreamingResampler::setup(int32_t srcRate, int32_t dstRate, int32_t nchan) | |
138 | { | |
139 | int32_t d = gcd(srcRate, dstRate); | |
140 | ratio_a = srcRate / d; | |
141 | ratio_b = dstRate / d; | |
142 | ||
143 | const int32_t qual = 32; | |
144 | if (Resampler::setup(srcRate, dstRate, nchan, qual) != 0) | |
145 | { | |
146 | return false; | |
147 | } | |
148 | inp_count = inpsize()/2-1; | |
149 | inp_data = 0; | |
150 | out_count = 1; // must be at least 1 to get going | |
151 | out_data = 0; | |
152 | if (Resampler::process() != 0) | |
153 | { | |
154 | return false; | |
155 | } | |
156 | assert(inp_count == 0); | |
157 | assert(out_count == 1); | |
158 | return true; | |
159 | } | |
160 | ||
161 | int32_t StreamingResampler::process(int32_t count, float *input, float *output) | |
162 | { | |
163 | inp_count = count; | |
164 | int32_t olen = out_count = get_max_out_size(count); | |
165 | inp_data = input; | |
166 | out_data = output; | |
167 | if (Resampler::process() != 0) | |
168 | { | |
169 | return 0; | |
170 | } | |
171 | assert(inp_count == 0); | |
172 | return olen - out_count; | |
173 | } | |
174 | ||
175 | int32_t StreamingResampler::flush(float *output) | |
176 | { | |
177 | // maximum data written to output: | |
178 | // srcRate > dstRate: ~ 2 * qual | |
179 | // srcRate < dstRate: ~ 2 * qual * dstRate/srcRate | |
180 | inp_data = 0; | |
181 | inp_count = inpsize()/2; | |
182 | out_data = output; | |
183 | int32_t olen = out_count = get_max_out_size(inp_count); | |
184 | if (Resampler::process() != 0) | |
185 | { | |
186 | return 0; | |
187 | } | |
188 | assert(inp_count == 0); | |
189 | return olen - out_count; | |
190 | } | |
191 | ||
192 | } // namespace gx_resample |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | #pragma once | |
21 | ||
22 | #ifndef SRC_HEADERS_GX_RESAMPLER_H_ | |
23 | #define SRC_HEADERS_GX_RESAMPLER_H_ | |
24 | ||
25 | #include <zita-resampler/resampler.h> | |
26 | #include <stdint.h> | |
27 | #include <assert.h> | |
28 | ||
29 | namespace gx_resample | |
30 | { | |
31 | ||
32 | #define MAX_UPSAMPLE 8 | |
33 | ||
34 | class SimpleResampler | |
35 | { | |
36 | private: | |
37 | Resampler r_up, r_down; | |
38 | int32_t m_fact; | |
39 | public: | |
40 | SimpleResampler(): r_up(), r_down(), m_fact() {} | |
41 | void setup(int32_t sampleRate, uint32_t fact); | |
42 | void up(int32_t count, float *input, float *output); | |
43 | void down(int32_t count, float *input, float *output); | |
44 | }; | |
45 | ||
46 | class BufferResampler: Resampler | |
47 | { | |
48 | public: | |
49 | float *process(int32_t fs_inp, int32_t ilen, float *input, int32_t fs_outp, int32_t* olen); | |
50 | }; | |
51 | ||
52 | class StreamingResampler: Resampler | |
53 | { | |
54 | private: | |
55 | int32_t ratio_a; | |
56 | int32_t ratio_b; | |
57 | public: | |
58 | bool setup(int32_t srcRate, int32_t dstRate, int32_t nchan); | |
59 | int32_t get_max_out_size(int32_t i_size) | |
60 | { | |
61 | return (i_size * ratio_b) / ratio_a + 1; | |
62 | } | |
63 | int32_t process(int32_t count, float *input, float *output); | |
64 | int32_t flush(float *output); // check source for max. output size | |
65 | }; | |
66 | ||
67 | } | |
68 | #endif // SRC_HEADERS_GX_RESAMPLER_H_ |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | ||
21 | inline void TonestackMono::clear_state_f() | |
22 | { | |
23 | for (int32_t i=0; i<4; i++) fRec0[i] = 0; | |
24 | } | |
25 | ||
26 | inline void TonestackMono::init(uint32_t samplingFreq) | |
27 | { | |
28 | ||
29 | fSamplingFreq = samplingFreq; | |
30 | fConst0 = (2 * double(min(192000, max(1, fSamplingFreq)))); | |
31 | fConst1 = faustpower<2>(fConst0); | |
32 | fConst2 = (3 * fConst0); | |
33 | clear_state_f(); | |
34 | } | |
35 | ||
36 | void TonestackMono::connect(uint32_t port,void* data) | |
37 | { | |
38 | switch ((PortIndex)port) | |
39 | { | |
40 | case AMP_MASTERGAIN: | |
41 | break; | |
42 | case AMP_PREGAIN: | |
43 | break; | |
44 | case AMP_WET_DRY: | |
45 | break; | |
46 | case AMP_DRIVE: | |
47 | break; | |
48 | case MID: | |
49 | fslider0_ = (float*)data; | |
50 | break; | |
51 | case BASS: | |
52 | fslider1_ = (float*)data; | |
53 | break; | |
54 | case TREBLE: | |
55 | fslider2_ = (float*)data; | |
56 | break; | |
57 | case CLevel: | |
58 | break; | |
59 | case ALevel: | |
60 | break; | |
61 | case AMP_CONTROL: | |
62 | break; | |
63 | case AMP_NOTIFY: | |
64 | break; | |
65 | case AMP_OUTPUT: | |
66 | break; | |
67 | case AMP_INPUT: | |
68 | break; | |
69 | case AMP_OUTPUT1: | |
70 | break; | |
71 | case AMP_INPUT1: | |
72 | break; | |
73 | } | |
74 | } | |
75 | ||
76 | inline void TonestackMono::run(uint32_t n_samples, float *output) //sovtek | |
77 | { | |
78 | float fslider0 = *fslider0_; | |
79 | float fslider1 = *fslider1_; | |
80 | float fslider2 = *fslider2_; | |
81 | double fSlow0 = fslider0; | |
82 | double fSlow1 = (4.9434000000000004e-08 * fSlow0); | |
83 | double fSlow2 = exp((3.4 * (fslider1 - 1))); | |
84 | double fSlow3 = (7.748796000000001e-07 + ((2.8889960000000004e-05 * fSlow2) + (fSlow0 * (((4.943400000000001e-06 * fSlow2) - 1.2634599999999999e-07) - fSlow1)))); | |
85 | double fSlow4 = ((1.2443156000000004e-09 * fSlow2) - (1.2443156000000002e-11 * fSlow0)); | |
86 | double fSlow5 = (5.345780000000001e-09 * fSlow2); | |
87 | double fSlow6 = (5.345780000000001e-11 + (fSlow5 + (fSlow0 * (fSlow4 - 4.101464400000001e-11)))); | |
88 | double fSlow7 = (fConst0 * fSlow6); | |
89 | double fSlow8 = (0.00022 * fSlow0); | |
90 | double fSlow9 = (0.022470000000000004 * fSlow2); | |
91 | double fSlow10 = (fConst0 * (0.0025277 + (fSlow9 + fSlow8))); | |
92 | double fSlow11 = ((fSlow10 + (fConst1 * (fSlow7 - fSlow3))) - 1); | |
93 | double fSlow12 = (fConst2 * fSlow6); | |
94 | double fSlow13 = ((fConst1 * (fSlow3 + fSlow12)) - (3 + fSlow10)); | |
95 | double fSlow14 = ((fSlow10 + (fConst1 * (fSlow3 - fSlow12))) - 3); | |
96 | double fSlow15 = (1.0 / (0 - (1 + (fSlow10 + (fConst1 * (fSlow3 + fSlow7)))))); | |
97 | double fSlow16 = fslider2; | |
98 | double fSlow17 = ((fSlow0 * (1.2443156000000002e-11 + fSlow4)) + (fSlow16 * (fSlow5 + (5.345780000000001e-11 - (5.345780000000001e-11 * fSlow0))))); | |
99 | double fSlow18 = (fConst2 * fSlow17); | |
100 | double fSlow19 = (6.141960000000001e-08 + (((4.859800000000001e-07 * fSlow16) + (fSlow0 * (1.0113400000000001e-07 - fSlow1))) + (fSlow2 * (6.141960000000001e-06 + (4.943400000000001e-06 * fSlow0))))); | |
101 | double fSlow20 = (0.00022470000000000001 + (fSlow9 + (fSlow8 + (0.00023500000000000002 * fSlow16)))); | |
102 | double fSlow21 = (fConst0 * fSlow20); | |
103 | double fSlow22 = (fSlow21 + (fConst1 * (fSlow19 - fSlow18))); | |
104 | double fSlow23 = (fConst0 * fSlow17); | |
105 | double fSlow24 = (fSlow21 + (fConst1 * (fSlow23 - fSlow19))); | |
106 | double fSlow25 = (fConst0 * (0 - fSlow20)); | |
107 | double fSlow26 = (fSlow25 + (fConst1 * (fSlow19 + fSlow18))); | |
108 | double fSlow27 = (fSlow25 - (fConst1 * (fSlow19 + fSlow23))); | |
109 | for (uint32_t i=0; i<n_samples; i++) | |
110 | { | |
111 | fRec0[0] = ((double)output[i] - (fSlow15 * (((fSlow14 * fRec0[2]) + (fSlow13 * fRec0[1])) + (fSlow11 * fRec0[3])))); | |
112 | output[i] = (float)(fSlow15 * ((fSlow27 * fRec0[0]) + ((fSlow26 * fRec0[1]) + ((fSlow24 * fRec0[3]) + (fSlow22 * fRec0[2]))))); | |
113 | // post processing | |
114 | for (int32_t i=3; i>0; i--) fRec0[i] = fRec0[i-1]; | |
115 | } | |
116 | } | |
117 | ||
118 | ||
119 | inline void TonestackMono::run_soldano(uint32_t n_samples, float *output) //soldano | |
120 | { | |
121 | float fslider0 = *fslider0_; | |
122 | float fslider1 = *fslider1_; | |
123 | float fslider2 = *fslider2_; | |
124 | double fSlow0 = fslider0; | |
125 | double fSlow1 = (2.5587500000000006e-07 * fSlow0); | |
126 | double fSlow2 = exp((3.4 * (fslider1 - 1))); | |
127 | double fSlow3 = (7.717400000000001e-07 + ((2.2033600000000005e-05 * fSlow2) + (fSlow0 * (((1.0235000000000001e-05 * fSlow2) - 1.5537499999999997e-07) - fSlow1)))); | |
128 | double fSlow4 = ((1.3959000000000001e-09 * fSlow2) - (3.48975e-11 * fSlow0)); | |
129 | double fSlow5 = (2.2090000000000005e-09 * fSlow2); | |
130 | double fSlow6 = (5.522500000000001e-11 + (fSlow5 + (fSlow0 * (fSlow4 - 2.0327500000000007e-11)))); | |
131 | double fSlow7 = (fConst0 * fSlow6); | |
132 | double fSlow8 = (0.0005 * fSlow0); | |
133 | double fSlow9 = (0.020470000000000002 * fSlow2); | |
134 | double fSlow10 = (fConst0 * (0.0025092499999999998 + (fSlow9 + fSlow8))); | |
135 | double fSlow11 = ((fSlow10 + (fConst1 * (fSlow7 - fSlow3))) - 1); | |
136 | double fSlow12 = (fConst2 * fSlow6); | |
137 | double fSlow13 = ((fConst1 * (fSlow3 + fSlow12)) - (3 + fSlow10)); | |
138 | double fSlow14 = ((fSlow10 + (fConst1 * (fSlow3 - fSlow12))) - 3); | |
139 | double fSlow15 = (1.0 / (0 - (1 + (fSlow10 + (fConst1 * (fSlow3 + fSlow7)))))); | |
140 | double fSlow16 = fslider2; | |
141 | double fSlow17 = ((fSlow0 * (3.48975e-11 + fSlow4)) + (fSlow16 * (fSlow5 + (5.522500000000001e-11 - (5.522500000000001e-11 * fSlow0))))); | |
142 | double fSlow18 = (fConst2 * fSlow17); | |
143 | double fSlow19 = (8.084000000000001e-08 + (((2.2090000000000003e-07 * fSlow16) + (fSlow0 * (3.146250000000001e-07 - fSlow1))) + (fSlow2 * (3.2336000000000007e-06 + (1.0235000000000001e-05 * fSlow0))))); | |
144 | double fSlow20 = (0.00051175 + (fSlow9 + (fSlow8 + (0.00011750000000000001 * fSlow16)))); | |
145 | double fSlow21 = (fConst0 * fSlow20); | |
146 | double fSlow22 = (fSlow21 + (fConst1 * (fSlow19 - fSlow18))); | |
147 | double fSlow23 = (fConst0 * fSlow17); | |
148 | double fSlow24 = (fSlow21 + (fConst1 * (fSlow23 - fSlow19))); | |
149 | double fSlow25 = (fConst0 * (0 - fSlow20)); | |
150 | double fSlow26 = (fSlow25 + (fConst1 * (fSlow19 + fSlow18))); | |
151 | double fSlow27 = (fSlow25 - (fConst1 * (fSlow19 + fSlow23))); | |
152 | for (uint32_t i=0; i<n_samples; i++) | |
153 | { | |
154 | fRec0[0] = ((double)output[i] - (fSlow15 * (((fSlow14 * fRec0[2]) + (fSlow13 * fRec0[1])) + (fSlow11 * fRec0[3])))); | |
155 | output[i] = (float)(fSlow15 * ((fSlow27 * fRec0[0]) + ((fSlow26 * fRec0[1]) + ((fSlow24 * fRec0[3]) + (fSlow22 * fRec0[2]))))); | |
156 | // post processing | |
157 | for (int32_t i=3; i>0; i--) fRec0[i] = fRec0[i-1]; | |
158 | } | |
159 | } | |
160 | ||
161 | inline void TonestackMono::run_bassman(uint32_t n_samples, float *output) //bassman | |
162 | { | |
163 | float fslider0 = *fslider0_; | |
164 | float fslider1 = *fslider1_; | |
165 | float fslider2 = *fslider2_; | |
166 | double fSlow0 = fslider0; | |
167 | double fSlow1 = (2.5312500000000006e-07 * fSlow0); | |
168 | double fSlow2 = exp((3.4 * (fslider1 - 1))); | |
169 | double fSlow3 = (7.4525e-07 + ((2.4210000000000004e-05 * fSlow2) + (fSlow0 * (((1.0125e-05 * fSlow2) - 2.75625e-07) - fSlow1)))); | |
170 | double fSlow4 = ((7.650000000000002e-10 * fSlow2) - (1.9125000000000002e-11 * fSlow0)); | |
171 | double fSlow5 = (1.4000000000000001e-09 * fSlow2); | |
172 | double fSlow6 = (3.500000000000001e-11 + (fSlow5 + (fSlow0 * (fSlow4 - 1.5875000000000007e-11)))); | |
173 | double fSlow7 = (fConst0 * fSlow6); | |
174 | double fSlow8 = (0.0005 * fSlow0); | |
175 | double fSlow9 = (0.02025 * fSlow2); | |
176 | double fSlow10 = (fConst0 * (0.0028087500000000005 + (fSlow9 + fSlow8))); | |
177 | double fSlow11 = ((fSlow10 + (fConst1 * (fSlow7 - fSlow3))) - 1); | |
178 | double fSlow12 = (fConst2 * fSlow6); | |
179 | double fSlow13 = ((fConst1 * (fSlow3 + fSlow12)) - (3 + fSlow10)); | |
180 | double fSlow14 = ((fSlow10 + (fConst1 * (fSlow3 - fSlow12))) - 3); | |
181 | double fSlow15 = (1.0 / (0 - (1 + (fSlow10 + (fConst1 * (fSlow3 + fSlow7)))))); | |
182 | double fSlow16 = fslider2; | |
183 | double fSlow17 = ((fSlow0 * (1.9125000000000002e-11 + fSlow4)) + (fSlow16 * (fSlow5 + (3.500000000000001e-11 - (3.500000000000001e-11 * fSlow0))))); | |
184 | double fSlow18 = (fConst2 * fSlow17); | |
185 | double fSlow19 = (4.525e-08 + (((1.4e-07 * fSlow16) + (fSlow0 * (2.8437500000000003e-07 - fSlow1))) + (fSlow2 * (1.8100000000000002e-06 + (1.0125e-05 * fSlow0))))); | |
186 | double fSlow20 = (0.00050625 + (fSlow9 + (fSlow8 + (6.25e-05 * fSlow16)))); | |
187 | double fSlow21 = (fConst0 * fSlow20); | |
188 | double fSlow22 = (fSlow21 + (fConst1 * (fSlow19 - fSlow18))); | |
189 | double fSlow23 = (fConst0 * fSlow17); | |
190 | double fSlow24 = (fSlow21 + (fConst1 * (fSlow23 - fSlow19))); | |
191 | double fSlow25 = (fConst0 * (0 - fSlow20)); | |
192 | double fSlow26 = (fSlow25 + (fConst1 * (fSlow19 + fSlow18))); | |
193 | double fSlow27 = (fSlow25 - (fConst1 * (fSlow19 + fSlow23))); | |
194 | for (uint32_t i=0; i<n_samples; i++) | |
195 | { | |
196 | fRec0[0] = ((double)output[i] - (fSlow15 * (((fSlow14 * fRec0[2]) + (fSlow13 * fRec0[1])) + (fSlow11 * fRec0[3])))); | |
197 | output[i] = (float)(fSlow15 * ((fSlow27 * fRec0[0]) + ((fSlow26 * fRec0[1]) + ((fSlow24 * fRec0[3]) + (fSlow22 * fRec0[2]))))); | |
198 | // post processing | |
199 | for (int32_t i=3; i>0; i--) fRec0[i] = fRec0[i-1]; | |
200 | } | |
201 | ||
202 | } | |
203 | ||
204 | ||
205 | inline void TonestackMono::run_ampeg(uint32_t n_samples, float *output) //ampeg | |
206 | { | |
207 | float fslider0 = *fslider0_; | |
208 | float fslider1 = *fslider1_; | |
209 | float fslider2 = *fslider2_; | |
210 | double fSlow0 = fslider0; | |
211 | double fSlow1 = (3.0896250000000005e-07 * fSlow0); | |
212 | double fSlow2 = exp((3.4 * (fslider1 - 1))); | |
213 | double fSlow3 = (6.338090000000001e-07 + ((1.8734760000000003e-05 * fSlow2) + (fSlow0 * (((1.2358500000000002e-05 * fSlow2) - 1.361249999999999e-08) - fSlow1)))); | |
214 | double fSlow4 = ((1.6037340000000005e-09 * fSlow2) - (4.0093350000000015e-11 * fSlow0)); | |
215 | double fSlow5 = (1.8198400000000004e-09 * fSlow2); | |
216 | double fSlow6 = (4.5496000000000015e-11 + (fSlow5 + (fSlow0 * (fSlow4 - 5.40265e-12)))); | |
217 | double fSlow7 = (fConst0 * fSlow6); | |
218 | double fSlow8 = (0.00055 * fSlow0); | |
219 | double fSlow9 = (0.022470000000000004 * fSlow2); | |
220 | double fSlow10 = (fConst0 * (0.00208725 + (fSlow9 + fSlow8))); | |
221 | double fSlow11 = ((fSlow10 + (fConst1 * (fSlow7 - fSlow3))) - 1); | |
222 | double fSlow12 = (fConst2 * fSlow6); | |
223 | double fSlow13 = ((fConst1 * (fSlow3 + fSlow12)) - (3 + fSlow10)); | |
224 | double fSlow14 = ((fSlow10 + (fConst1 * (fSlow3 - fSlow12))) - 3); | |
225 | double fSlow15 = (1.0 / (0 - (1 + (fSlow10 + (fConst1 * (fSlow3 + fSlow7)))))); | |
226 | double fSlow16 = fslider2; | |
227 | double fSlow17 = ((fSlow0 * (4.0093350000000015e-11 + fSlow4)) + (fSlow16 * (fSlow5 + (4.5496000000000015e-11 - (4.5496000000000015e-11 * fSlow0))))); | |
228 | double fSlow18 = (fConst2 * fSlow17); | |
229 | double fSlow19 = (8.1169e-08 + (((1.6544000000000003e-07 * fSlow16) + (fSlow0 * (3.735875000000001e-07 - fSlow1))) + (fSlow2 * (3.24676e-06 + (1.2358500000000002e-05 * fSlow0))))); | |
230 | double fSlow20 = (0.0005617500000000001 + (fSlow9 + (fSlow8 + (0.00011750000000000001 * fSlow16)))); | |
231 | double fSlow21 = (fConst0 * fSlow20); | |
232 | double fSlow22 = (fSlow21 + (fConst1 * (fSlow19 - fSlow18))); | |
233 | double fSlow23 = (fConst0 * fSlow17); | |
234 | double fSlow24 = (fSlow21 + (fConst1 * (fSlow23 - fSlow19))); | |
235 | double fSlow25 = (fConst0 * (0 - fSlow20)); | |
236 | double fSlow26 = (fSlow25 + (fConst1 * (fSlow19 + fSlow18))); | |
237 | double fSlow27 = (fSlow25 - (fConst1 * (fSlow19 + fSlow23))); | |
238 | for (uint32_t i=0; i<n_samples; i++) | |
239 | { | |
240 | fRec0[0] = ((double)output[i] - (fSlow15 * (((fSlow14 * fRec0[2]) + (fSlow13 * fRec0[1])) + (fSlow11 * fRec0[3])))); | |
241 | output[i] = (float)(fSlow15 * ((fSlow27 * fRec0[0]) + ((fSlow26 * fRec0[1]) + ((fSlow24 * fRec0[3]) + (fSlow22 * fRec0[2]))))); | |
242 | // post processing | |
243 | for (int32_t i=3; i>0; i--) fRec0[i] = fRec0[i-1]; | |
244 | } | |
245 | } | |
246 | ||
247 | ||
248 | void TonestackMono::init_static(uint32_t samplingFreq, TonestackMono *p) | |
249 | { | |
250 | p->init(samplingFreq); | |
251 | } | |
252 | ||
253 | void TonestackMono::connect_static(uint32_t port,void* data, TonestackMono *p) | |
254 | { | |
255 | p->connect(port, data); | |
256 | } | |
257 | ||
258 | void TonestackMono::run_static(uint32_t n_samples, TonestackMono *p, float *output) | |
259 | { | |
260 | (p->*_t_ptr)(n_samples, output); | |
261 | } | |
262 | ||
263 | ////////////////////////////// STEREO ////////////////////////////////// | |
264 | ||
265 | ||
266 | inline void TonestackStereo::clear_state_f() | |
267 | { | |
268 | for (int32_t i=0; i<4; i++) fRec0[i] = 0; | |
269 | for (int32_t i=0; i<4; i++) fRec1[i] = 0; | |
270 | } | |
271 | ||
272 | ||
273 | inline void TonestackStereo::init(uint32_t samplingFreq) | |
274 | { | |
275 | fSamplingFreq = samplingFreq; | |
276 | fConst0 = (2 * double(min(192000, max(1, fSamplingFreq)))); | |
277 | fConst1 = faustpower<2>(fConst0); | |
278 | fConst2 = (3 * fConst0); | |
279 | clear_state_f(); | |
280 | } | |
281 | ||
282 | ||
283 | void TonestackStereo::connect(uint32_t port,void* data) | |
284 | { | |
285 | switch ((PortIndex)port) | |
286 | { | |
287 | case AMP_MASTERGAIN: | |
288 | break; | |
289 | case AMP_PREGAIN: | |
290 | break; | |
291 | case AMP_WET_DRY: | |
292 | break; | |
293 | case AMP_DRIVE: | |
294 | break; | |
295 | case MID: | |
296 | fslider0_ = (float*)data; | |
297 | break; | |
298 | case BASS: | |
299 | fslider1_ = (float*)data; | |
300 | break; | |
301 | case TREBLE: | |
302 | fslider2_ = (float*)data; | |
303 | break; | |
304 | case CLevel: | |
305 | break; | |
306 | case ALevel: | |
307 | break; | |
308 | case AMP_OUTPUT: | |
309 | break; | |
310 | case AMP_INPUT: | |
311 | break; | |
312 | case AMP_OUTPUT1: | |
313 | break; | |
314 | case AMP_INPUT1: | |
315 | break; | |
316 | case AMP_CONTROL: | |
317 | break; | |
318 | case AMP_NOTIFY: | |
319 | break; | |
320 | } | |
321 | } | |
322 | ||
323 | inline void TonestackStereo::run(uint32_t count, float *output0, float *output1) | |
324 | { | |
325 | float fslider0 = *fslider0_; | |
326 | float fslider1 = *fslider1_; | |
327 | float fslider2 = *fslider2_; | |
328 | double fSlow0 = fslider0; | |
329 | double fSlow1 = (4.9434000000000004e-08 * fSlow0); | |
330 | double fSlow2 = exp((3.4 * (fslider1 - 1))); | |
331 | double fSlow3 = (7.748796000000001e-07 + ((2.8889960000000004e-05 * fSlow2) + (fSlow0 * (((4.943400000000001e-06 * fSlow2) - 1.2634599999999999e-07) - fSlow1)))); | |
332 | double fSlow4 = ((1.2443156000000004e-09 * fSlow2) - (1.2443156000000002e-11 * fSlow0)); | |
333 | double fSlow5 = (5.345780000000001e-09 * fSlow2); | |
334 | double fSlow6 = (5.345780000000001e-11 + (fSlow5 + (fSlow0 * (fSlow4 - 4.101464400000001e-11)))); | |
335 | double fSlow7 = (fConst0 * fSlow6); | |
336 | double fSlow8 = (0.00022 * fSlow0); | |
337 | double fSlow9 = (0.022470000000000004 * fSlow2); | |
338 | double fSlow10 = (fConst0 * (0.0025277 + (fSlow9 + fSlow8))); | |
339 | double fSlow11 = ((fSlow10 + (fConst1 * (fSlow7 - fSlow3))) - 1); | |
340 | double fSlow12 = (fConst2 * fSlow6); | |
341 | double fSlow13 = ((fConst1 * (fSlow3 + fSlow12)) - (3 + fSlow10)); | |
342 | double fSlow14 = ((fSlow10 + (fConst1 * (fSlow3 - fSlow12))) - 3); | |
343 | double fSlow15 = (1.0 / (0 - (1 + (fSlow10 + (fConst1 * (fSlow3 + fSlow7)))))); | |
344 | double fSlow16 = fslider2; | |
345 | double fSlow17 = ((fSlow0 * (1.2443156000000002e-11 + fSlow4)) + (fSlow16 * (fSlow5 + (5.345780000000001e-11 - (5.345780000000001e-11 * fSlow0))))); | |
346 | double fSlow18 = (fConst2 * fSlow17); | |
347 | double fSlow19 = (6.141960000000001e-08 + (((4.859800000000001e-07 * fSlow16) + (fSlow0 * (1.0113400000000001e-07 - fSlow1))) + (fSlow2 * (6.141960000000001e-06 + (4.943400000000001e-06 * fSlow0))))); | |
348 | double fSlow20 = (0.00022470000000000001 + (fSlow9 + (fSlow8 + (0.00023500000000000002 * fSlow16)))); | |
349 | double fSlow21 = (fConst0 * fSlow20); | |
350 | double fSlow22 = (fSlow21 + (fConst1 * (fSlow19 - fSlow18))); | |
351 | double fSlow23 = (fConst0 * fSlow17); | |
352 | double fSlow24 = (fSlow21 + (fConst1 * (fSlow23 - fSlow19))); | |
353 | double fSlow25 = (fConst0 * (0 - fSlow20)); | |
354 | double fSlow26 = (fSlow25 + (fConst1 * (fSlow19 + fSlow18))); | |
355 | double fSlow27 = (fSlow25 - (fConst1 * (fSlow19 + fSlow23))); | |
356 | for (uint32_t i=0; i<count; i++) | |
357 | { | |
358 | fRec0[0] = ((double)output0[i] - (fSlow15 * (((fSlow14 * fRec0[2]) + (fSlow13 * fRec0[1])) + (fSlow11 * fRec0[3])))); | |
359 | output0[i] = (float)(fSlow15 * ((fSlow27 * fRec0[0]) + ((fSlow26 * fRec0[1]) + ((fSlow24 * fRec0[3]) + (fSlow22 * fRec0[2]))))); | |
360 | fRec1[0] = ((double)output1[i] - (fSlow15 * (((fSlow14 * fRec1[2]) + (fSlow13 * fRec1[1])) + (fSlow11 * fRec1[3])))); | |
361 | output1[i] = (float)(fSlow15 * ((fSlow27 * fRec1[0]) + ((fSlow26 * fRec1[1]) + ((fSlow24 * fRec1[3]) + (fSlow22 * fRec1[2]))))); | |
362 | // post processing | |
363 | for (int32_t i=3; i>0; i--) fRec1[i] = fRec1[i-1]; | |
364 | for (int32_t i=3; i>0; i--) fRec0[i] = fRec0[i-1]; | |
365 | } | |
366 | } | |
367 | ||
368 | ||
369 | inline void TonestackStereo::run_soldano(uint32_t count, float *output0, float *output1) //soldano | |
370 | { | |
371 | float fslider0 = *fslider0_; | |
372 | float fslider1 = *fslider1_; | |
373 | float fslider2 = *fslider2_; | |
374 | double fSlow0 = fslider0; | |
375 | double fSlow1 = (2.5587500000000006e-07 * fSlow0); | |
376 | double fSlow2 = exp((3.4 * (fslider1 - 1))); | |
377 | double fSlow3 = (7.717400000000001e-07 + ((2.2033600000000005e-05 * fSlow2) + (fSlow0 * (((1.0235000000000001e-05 * fSlow2) - 1.5537499999999997e-07) - fSlow1)))); | |
378 | double fSlow4 = ((1.3959000000000001e-09 * fSlow2) - (3.48975e-11 * fSlow0)); | |
379 | double fSlow5 = (2.2090000000000005e-09 * fSlow2); | |
380 | double fSlow6 = (5.522500000000001e-11 + (fSlow5 + (fSlow0 * (fSlow4 - 2.0327500000000007e-11)))); | |
381 | double fSlow7 = (fConst0 * fSlow6); | |
382 | double fSlow8 = (0.0005 * fSlow0); | |
383 | double fSlow9 = (0.020470000000000002 * fSlow2); | |
384 | double fSlow10 = (fConst0 * (0.0025092499999999998 + (fSlow9 + fSlow8))); | |
385 | double fSlow11 = ((fSlow10 + (fConst1 * (fSlow7 - fSlow3))) - 1); | |
386 | double fSlow12 = (fConst2 * fSlow6); | |
387 | double fSlow13 = ((fConst1 * (fSlow3 + fSlow12)) - (3 + fSlow10)); | |
388 | double fSlow14 = ((fSlow10 + (fConst1 * (fSlow3 - fSlow12))) - 3); | |
389 | double fSlow15 = (1.0 / (0 - (1 + (fSlow10 + (fConst1 * (fSlow3 + fSlow7)))))); | |
390 | double fSlow16 = fslider2; | |
391 | double fSlow17 = ((fSlow0 * (3.48975e-11 + fSlow4)) + (fSlow16 * (fSlow5 + (5.522500000000001e-11 - (5.522500000000001e-11 * fSlow0))))); | |
392 | double fSlow18 = (fConst2 * fSlow17); | |
393 | double fSlow19 = (8.084000000000001e-08 + (((2.2090000000000003e-07 * fSlow16) + (fSlow0 * (3.146250000000001e-07 - fSlow1))) + (fSlow2 * (3.2336000000000007e-06 + (1.0235000000000001e-05 * fSlow0))))); | |
394 | double fSlow20 = (0.00051175 + (fSlow9 + (fSlow8 + (0.00011750000000000001 * fSlow16)))); | |
395 | double fSlow21 = (fConst0 * fSlow20); | |
396 | double fSlow22 = (fSlow21 + (fConst1 * (fSlow19 - fSlow18))); | |
397 | double fSlow23 = (fConst0 * fSlow17); | |
398 | double fSlow24 = (fSlow21 + (fConst1 * (fSlow23 - fSlow19))); | |
399 | double fSlow25 = (fConst0 * (0 - fSlow20)); | |
400 | double fSlow26 = (fSlow25 + (fConst1 * (fSlow19 + fSlow18))); | |
401 | double fSlow27 = (fSlow25 - (fConst1 * (fSlow19 + fSlow23))); | |
402 | for (uint32_t i=0; i<count; i++) | |
403 | { | |
404 | fRec0[0] = ((double)output0[i] - (fSlow15 * (((fSlow14 * fRec0[2]) + (fSlow13 * fRec0[1])) + (fSlow11 * fRec0[3])))); | |
405 | output0[i] = (float)(fSlow15 * ((fSlow27 * fRec0[0]) + ((fSlow26 * fRec0[1]) + ((fSlow24 * fRec0[3]) + (fSlow22 * fRec0[2]))))); | |
406 | fRec1[0] = ((double)output1[i] - (fSlow15 * (((fSlow14 * fRec1[2]) + (fSlow13 * fRec1[1])) + (fSlow11 * fRec1[3])))); | |
407 | output1[i] = (float)(fSlow15 * ((fSlow27 * fRec1[0]) + ((fSlow26 * fRec1[1]) + ((fSlow24 * fRec1[3]) + (fSlow22 * fRec1[2]))))); | |
408 | // post processing | |
409 | for (int32_t i=3; i>0; i--) fRec1[i] = fRec1[i-1]; | |
410 | for (int32_t i=3; i>0; i--) fRec0[i] = fRec0[i-1]; | |
411 | } | |
412 | } | |
413 | ||
414 | inline void TonestackStereo::run_bassman(uint32_t count, float *output0, float *output1) // bassman | |
415 | { | |
416 | float fslider0 = *fslider0_; | |
417 | float fslider1 = *fslider1_; | |
418 | float fslider2 = *fslider2_; | |
419 | double fSlow0 = fslider0; | |
420 | double fSlow1 = (2.5312500000000006e-07 * fSlow0); | |
421 | double fSlow2 = exp((3.4 * (fslider1 - 1))); | |
422 | double fSlow3 = (7.4525e-07 + ((2.4210000000000004e-05 * fSlow2) + (fSlow0 * (((1.0125e-05 * fSlow2) - 2.75625e-07) - fSlow1)))); | |
423 | double fSlow4 = ((7.650000000000002e-10 * fSlow2) - (1.9125000000000002e-11 * fSlow0)); | |
424 | double fSlow5 = (1.4000000000000001e-09 * fSlow2); | |
425 | double fSlow6 = (3.500000000000001e-11 + (fSlow5 + (fSlow0 * (fSlow4 - 1.5875000000000007e-11)))); | |
426 | double fSlow7 = (fConst0 * fSlow6); | |
427 | double fSlow8 = (0.0005 * fSlow0); | |
428 | double fSlow9 = (0.02025 * fSlow2); | |
429 | double fSlow10 = (fConst0 * (0.0028087500000000005 + (fSlow9 + fSlow8))); | |
430 | double fSlow11 = ((fSlow10 + (fConst1 * (fSlow7 - fSlow3))) - 1); | |
431 | double fSlow12 = (fConst2 * fSlow6); | |
432 | double fSlow13 = ((fConst1 * (fSlow3 + fSlow12)) - (3 + fSlow10)); | |
433 | double fSlow14 = ((fSlow10 + (fConst1 * (fSlow3 - fSlow12))) - 3); | |
434 | double fSlow15 = (1.0 / (0 - (1 + (fSlow10 + (fConst1 * (fSlow3 + fSlow7)))))); | |
435 | double fSlow16 = fslider2; | |
436 | double fSlow17 = ((fSlow0 * (1.9125000000000002e-11 + fSlow4)) + (fSlow16 * (fSlow5 + (3.500000000000001e-11 - (3.500000000000001e-11 * fSlow0))))); | |
437 | double fSlow18 = (fConst2 * fSlow17); | |
438 | double fSlow19 = (4.525e-08 + (((1.4e-07 * fSlow16) + (fSlow0 * (2.8437500000000003e-07 - fSlow1))) + (fSlow2 * (1.8100000000000002e-06 + (1.0125e-05 * fSlow0))))); | |
439 | double fSlow20 = (0.00050625 + (fSlow9 + (fSlow8 + (6.25e-05 * fSlow16)))); | |
440 | double fSlow21 = (fConst0 * fSlow20); | |
441 | double fSlow22 = (fSlow21 + (fConst1 * (fSlow19 - fSlow18))); | |
442 | double fSlow23 = (fConst0 * fSlow17); | |
443 | double fSlow24 = (fSlow21 + (fConst1 * (fSlow23 - fSlow19))); | |
444 | double fSlow25 = (fConst0 * (0 - fSlow20)); | |
445 | double fSlow26 = (fSlow25 + (fConst1 * (fSlow19 + fSlow18))); | |
446 | double fSlow27 = (fSlow25 - (fConst1 * (fSlow19 + fSlow23))); | |
447 | for (uint32_t i=0; i<count; i++) | |
448 | { | |
449 | fRec0[0] = ((double)output0[i] - (fSlow15 * (((fSlow14 * fRec0[2]) + (fSlow13 * fRec0[1])) + (fSlow11 * fRec0[3])))); | |
450 | output0[i] = (float)(fSlow15 * ((fSlow27 * fRec0[0]) + ((fSlow26 * fRec0[1]) + ((fSlow24 * fRec0[3]) + (fSlow22 * fRec0[2]))))); | |
451 | fRec1[0] = ((double)output1[i] - (fSlow15 * (((fSlow14 * fRec1[2]) + (fSlow13 * fRec1[1])) + (fSlow11 * fRec1[3])))); | |
452 | output1[i] = (float)(fSlow15 * ((fSlow27 * fRec1[0]) + ((fSlow26 * fRec1[1]) + ((fSlow24 * fRec1[3]) + (fSlow22 * fRec1[2]))))); | |
453 | // post processing | |
454 | for (int32_t i=3; i>0; i--) fRec1[i] = fRec1[i-1]; | |
455 | for (int32_t i=3; i>0; i--) fRec0[i] = fRec0[i-1]; | |
456 | } | |
457 | } | |
458 | ||
459 | inline void TonestackStereo::run_ampeg(uint32_t count, float *output0, float *output1) //ampeg | |
460 | { | |
461 | float fslider0 = *fslider0_; | |
462 | float fslider1 = *fslider1_; | |
463 | float fslider2 = *fslider2_; | |
464 | double fSlow0 = fslider0; | |
465 | double fSlow1 = (3.0896250000000005e-07 * fSlow0); | |
466 | double fSlow2 = exp((3.4 * (fslider1 - 1))); | |
467 | double fSlow3 = (6.338090000000001e-07 + ((1.8734760000000003e-05 * fSlow2) + (fSlow0 * (((1.2358500000000002e-05 * fSlow2) - 1.361249999999999e-08) - fSlow1)))); | |
468 | double fSlow4 = ((1.6037340000000005e-09 * fSlow2) - (4.0093350000000015e-11 * fSlow0)); | |
469 | double fSlow5 = (1.8198400000000004e-09 * fSlow2); | |
470 | double fSlow6 = (4.5496000000000015e-11 + (fSlow5 + (fSlow0 * (fSlow4 - 5.40265e-12)))); | |
471 | double fSlow7 = (fConst0 * fSlow6); | |
472 | double fSlow8 = (0.00055 * fSlow0); | |
473 | double fSlow9 = (0.022470000000000004 * fSlow2); | |
474 | double fSlow10 = (fConst0 * (0.00208725 + (fSlow9 + fSlow8))); | |
475 | double fSlow11 = ((fSlow10 + (fConst1 * (fSlow7 - fSlow3))) - 1); | |
476 | double fSlow12 = (fConst2 * fSlow6); | |
477 | double fSlow13 = ((fConst1 * (fSlow3 + fSlow12)) - (3 + fSlow10)); | |
478 | double fSlow14 = ((fSlow10 + (fConst1 * (fSlow3 - fSlow12))) - 3); | |
479 | double fSlow15 = (1.0 / (0 - (1 + (fSlow10 + (fConst1 * (fSlow3 + fSlow7)))))); | |
480 | double fSlow16 = fslider2; | |
481 | double fSlow17 = ((fSlow0 * (4.0093350000000015e-11 + fSlow4)) + (fSlow16 * (fSlow5 + (4.5496000000000015e-11 - (4.5496000000000015e-11 * fSlow0))))); | |
482 | double fSlow18 = (fConst2 * fSlow17); | |
483 | double fSlow19 = (8.1169e-08 + (((1.6544000000000003e-07 * fSlow16) + (fSlow0 * (3.735875000000001e-07 - fSlow1))) + (fSlow2 * (3.24676e-06 + (1.2358500000000002e-05 * fSlow0))))); | |
484 | double fSlow20 = (0.0005617500000000001 + (fSlow9 + (fSlow8 + (0.00011750000000000001 * fSlow16)))); | |
485 | double fSlow21 = (fConst0 * fSlow20); | |
486 | double fSlow22 = (fSlow21 + (fConst1 * (fSlow19 - fSlow18))); | |
487 | double fSlow23 = (fConst0 * fSlow17); | |
488 | double fSlow24 = (fSlow21 + (fConst1 * (fSlow23 - fSlow19))); | |
489 | double fSlow25 = (fConst0 * (0 - fSlow20)); | |
490 | double fSlow26 = (fSlow25 + (fConst1 * (fSlow19 + fSlow18))); | |
491 | double fSlow27 = (fSlow25 - (fConst1 * (fSlow19 + fSlow23))); | |
492 | for (uint32_t i=0; i<count; i++) | |
493 | { | |
494 | fRec0[0] = ((double)output0[i] - (fSlow15 * (((fSlow14 * fRec0[2]) + (fSlow13 * fRec0[1])) + (fSlow11 * fRec0[3])))); | |
495 | output0[i] = (float)(fSlow15 * ((fSlow27 * fRec0[0]) + ((fSlow26 * fRec0[1]) + ((fSlow24 * fRec0[3]) + (fSlow22 * fRec0[2]))))); | |
496 | fRec1[0] = ((double)output1[i] - (fSlow15 * (((fSlow14 * fRec1[2]) + (fSlow13 * fRec1[1])) + (fSlow11 * fRec1[3])))); | |
497 | output1[i] = (float)(fSlow15 * ((fSlow27 * fRec1[0]) + ((fSlow26 * fRec1[1]) + ((fSlow24 * fRec1[3]) + (fSlow22 * fRec1[2]))))); | |
498 | // post processing | |
499 | for (int32_t i=3; i>0; i--) fRec1[i] = fRec1[i-1]; | |
500 | for (int32_t i=3; i>0; i--) fRec0[i] = fRec0[i-1]; | |
501 | } | |
502 | } | |
503 | ||
504 | ||
505 | void TonestackStereo::init_static(uint32_t samplingFreq, TonestackStereo *p) | |
506 | { | |
507 | p->init(samplingFreq); | |
508 | } | |
509 | ||
510 | void TonestackStereo::connect_static(uint32_t port,void* data, TonestackStereo *p) | |
511 | { | |
512 | p->connect(port, data); | |
513 | } | |
514 | ||
515 | void TonestackStereo::run_static(uint32_t n_samples, TonestackStereo *p, float *output, float *output1) | |
516 | { | |
517 | (p->*_ts_ptr)(n_samples, output, output1); | |
518 | } |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | #pragma once | |
20 | ||
21 | #ifndef SRC_HEADERS_GX_TONESTACK_H_ | |
22 | #define SRC_HEADERS_GX_TONESTACK_H_ | |
23 | ||
24 | class TonestackMono | |
25 | { | |
26 | private: | |
27 | int32_t fSamplingFreq; | |
28 | float fslider0; | |
29 | float *fslider0_; | |
30 | float fslider1; | |
31 | float *fslider1_; | |
32 | double fConst0; | |
33 | double fConst1; | |
34 | double fConst2; | |
35 | double fRec0[4]; | |
36 | float fslider2; | |
37 | float *fslider2_; | |
38 | void clear_state_f(); | |
39 | void init(uint32_t samplingFreq); | |
40 | void connect(uint32_t port,void* data); | |
41 | ||
42 | ||
43 | public: | |
44 | void run_bassman(uint32_t n_samples, float *output); | |
45 | void run(uint32_t n_samples, float *output); | |
46 | void run_soldano(uint32_t n_samples, float *output); | |
47 | void run_ampeg(uint32_t n_samples, float *output); | |
48 | static void init_static(uint32_t samplingFreq, TonestackMono *p); | |
49 | static void connect_static(uint32_t port,void* data, TonestackMono *p); | |
50 | static void run_static(uint32_t n_samples, TonestackMono*, float *output); | |
51 | ||
52 | TonestackMono() {}; | |
53 | ~TonestackMono() {}; | |
54 | }; | |
55 | ||
56 | // define run pointer typs | |
57 | typedef void (TonestackMono::*run_tonestack_mono) | |
58 | (uint32_t count, float *output); | |
59 | ||
60 | run_tonestack_mono _t_ptr; | |
61 | ||
62 | ||
63 | class TonestackStereo | |
64 | { | |
65 | private: | |
66 | int32_t fSamplingFreq; | |
67 | float fslider0; | |
68 | float *fslider0_; | |
69 | float fslider1; | |
70 | float *fslider1_; | |
71 | double fConst0; | |
72 | double fConst1; | |
73 | double fConst2; | |
74 | double fRec0[4]; | |
75 | double fRec1[4]; | |
76 | float fslider2; | |
77 | float *fslider2_; | |
78 | void clear_state_f(); | |
79 | void init(uint32_t samplingFreq); | |
80 | void connect(uint32_t port,void* data); | |
81 | public: | |
82 | ||
83 | void run_bassman(uint32_t n_samples, float *output, float *output1); | |
84 | void run(uint32_t n_samples, float *output, float *output1); | |
85 | void run_soldano(uint32_t n_samples, float *output, float *output1); | |
86 | void run_ampeg(uint32_t n_samples, float *output, float *output1); | |
87 | static void init_static(uint32_t samplingFreq, TonestackStereo *p); | |
88 | static void connect_static(uint32_t port,void* data, TonestackStereo *p); | |
89 | static void run_static(uint32_t n_samples, TonestackStereo*, float *output, float *output1); | |
90 | TonestackStereo() {}; | |
91 | ~TonestackStereo() {}; | |
92 | }; | |
93 | ||
94 | // define run pointer typs | |
95 | typedef void (TonestackStereo::*run_tonestack_stereo) | |
96 | (uint32_t count, float *output, float *output1); | |
97 | ||
98 | run_tonestack_stereo _ts_ptr; | |
99 | ||
100 | ||
101 | #endif //SRC_HEADERS_GX_TONESTACK_H_ | |
102 |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | Impf::Impf() | |
20 | { | |
21 | } | |
22 | ||
23 | Impf::~Impf() | |
24 | { | |
25 | } | |
26 | ||
27 | inline void Impf::init(uint32_t samplingFreq) | |
28 | { | |
29 | fSamplingFreq = samplingFreq; | |
30 | } | |
31 | ||
32 | inline void Impf::compute(int32_t count, float *input0, float *output0, float value) | |
33 | { | |
34 | double fSlow0 = value* value * 0.01; | |
35 | //double fSlow1 = (fSlow0 * pow(10,(0 - (0.1 * fSlow0)))); | |
36 | for (int32_t i=0; i<count; i++) | |
37 | { | |
38 | output0[i] = fSlow0 * input0[i]; | |
39 | } | |
40 | } | |
41 | ||
42 | void Impf::connect(uint32_t port,void* data) | |
43 | { | |
44 | switch ((PortIndex)port) | |
45 | { | |
46 | case AMP_MASTERGAIN: | |
47 | break; | |
48 | case AMP_PREGAIN: | |
49 | break; | |
50 | case AMP_WET_DRY: | |
51 | break; | |
52 | case AMP_DRIVE: | |
53 | break; | |
54 | case MID: | |
55 | break; | |
56 | case BASS: | |
57 | break; | |
58 | case TREBLE: | |
59 | break; | |
60 | case CLevel: | |
61 | break; | |
62 | case ALevel: | |
63 | break; | |
64 | case AMP_CONTROL: | |
65 | break; | |
66 | case AMP_NOTIFY: | |
67 | break; | |
68 | case AMP_OUTPUT: | |
69 | break; | |
70 | case AMP_INPUT: | |
71 | break; | |
72 | case AMP_OUTPUT1: | |
73 | break; | |
74 | case AMP_INPUT1: | |
75 | break; | |
76 | } | |
77 | } | |
78 | ||
79 | void Impf::connect_static(uint32_t port,void* data, Impf *p) | |
80 | { | |
81 | static_cast<Impf*>(p)->connect(port, data); | |
82 | } | |
83 | ||
84 | void Impf::init_static(uint32_t samplingFreq, Impf *p) | |
85 | { | |
86 | static_cast<Impf*>(p)->init(samplingFreq); | |
87 | } | |
88 |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | class Impf | |
21 | { | |
22 | private: | |
23 | int32_t fSamplingFreq; | |
24 | void init(uint32_t samplingFreq); | |
25 | void connect(uint32_t port,void* data); | |
26 | ||
27 | public: | |
28 | void compute(int32_t count, float *input0, float *output0, float value); | |
29 | static void connect_static(uint32_t port,void* data, Impf *p); | |
30 | static void init_static(uint32_t samplingFreq, Impf *p); | |
31 | Impf(); | |
32 | ~Impf(); | |
33 | }; | |
34 |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | #pragma once | |
21 | ||
22 | #ifndef SRC_HEADERS_VALVE_H_ | |
23 | #define SRC_HEADERS_VALVE_H_ | |
24 | ||
25 | /**************************************************************** | |
26 | * 1-dimensional function tables for linear interpolation | |
27 | * | |
28 | * table1d and table1d_imp<size> must only differ in the last | |
29 | * element, so that the typecast for tubetab below will work. | |
30 | * Can't use inheritance because then C initializers will not | |
31 | * work and initialization will be more awkward or less efficient. | |
32 | */ | |
33 | ||
34 | struct table1d // 1-dimensional function table | |
35 | { | |
36 | float low; | |
37 | float high; | |
38 | float istep; | |
39 | int32_t size; | |
40 | float data[]; | |
41 | }; | |
42 | ||
43 | template <int32_t tab_size> | |
44 | struct table1d_imp | |
45 | { | |
46 | float low; | |
47 | float high; | |
48 | float istep; | |
49 | int32_t size; | |
50 | float data[tab_size]; | |
51 | operator table1d&() const | |
52 | { | |
53 | return *(table1d*)this; | |
54 | } | |
55 | }; | |
56 | ||
57 | /* | |
58 | * data tables generated by tools/tube_transfer.py | |
59 | */ | |
60 | #include "12ax7.cc" | |
61 | #include "12AT7.cc" | |
62 | #include "6C16.cc" | |
63 | #include "6V6.cc" | |
64 | #include "6DJ8.cc" | |
65 | ||
66 | enum | |
67 | { | |
68 | TUBE_TABLE_12AX7_68k, | |
69 | TUBE_TABLE_12AX7_250k, | |
70 | TUBE_TABLE_12AT7_68k, | |
71 | TUBE_TABLE_12AT7_250k, | |
72 | TUBE_TABLE_6C16_68k, | |
73 | TUBE_TABLE_6C16_250k, | |
74 | TUBE_TABLE_6V6_68k, | |
75 | TUBE_TABLE_6V6_250k, | |
76 | TUBE_TABLE_6DJ8_68k, | |
77 | TUBE_TABLE_6DJ8_250k, | |
78 | TUBE_TABLE_SIZE | |
79 | }; | |
80 | ||
81 | table1d *tubetab[TUBE_TABLE_SIZE] = | |
82 | { | |
83 | &static_cast<table1d&>(tubetable_12AX7[0]), | |
84 | &static_cast<table1d&>(tubetable_12AX7[1]), | |
85 | &static_cast<table1d&>(tubetable_12AT7[0]), | |
86 | &static_cast<table1d&>(tubetable_12AT7[1]), | |
87 | &static_cast<table1d&>(tubetable_6C16[0]), | |
88 | &static_cast<table1d&>(tubetable_6C16[1]), | |
89 | &static_cast<table1d&>(tubetable_6V6[0]), | |
90 | &static_cast<table1d&>(tubetable_6V6[1]), | |
91 | &static_cast<table1d&>(tubetable_6DJ8[0]), | |
92 | &static_cast<table1d&>(tubetable_6DJ8[1]), | |
93 | }; | |
94 | ||
95 | /* | |
96 | * definitions for ffunction(float Ftube(int32_t,float), "valve.h", ""); | |
97 | * in gx_amp.dsp - gx_ampmodul.dsp | |
98 | */ | |
99 | ||
100 | static inline double Ftube(int32_t table, double Vgk) | |
101 | { | |
102 | const table1d& tab = *tubetab[table]; | |
103 | double f = (Vgk - tab.low) * tab.istep; | |
104 | int32_t i = static_cast<int32_t>(f); | |
105 | if (i < 0) | |
106 | return tab.data[0]; | |
107 | if (i >= tab.size-1) | |
108 | return tab.data[tab.size-1]; | |
109 | f -= i; | |
110 | return tab.data[i]*(1-f) + tab.data[i+1]*f; | |
111 | } | |
112 | ||
113 | #endif |
Binary diff not shown
0 | ||
1 | amp21.png is created by Richard Dalton, | |
2 | ||
3 | he gives us permission to distribute it under the terms of the | |
4 | GNU General Public License either version 2 of the License, | |
5 | or (at your option) any later version. | |
6 | ||
7 | see: http://www.Ampskindesigns.com | |
8 | for more information | |
9 | ||
10 | You should have received a copy of the GNU General Public License | |
11 | If not, see <http://www.gnu.org/licenses/>. |
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | #include <cstdlib> | |
20 | #include <cmath> | |
21 | #include <iostream> | |
22 | #include <cstring> | |
23 | #include <glibmm.h> | |
24 | #include <unistd.h> | |
25 | ||
26 | #ifdef __SSE__ | |
27 | /* On Intel set FZ (Flush to Zero) and DAZ (Denormals Are Zero) | |
28 | flags to avoid costly denormals */ | |
29 | #ifdef __SSE3__ | |
30 | #include <pmmintrin.h> | |
31 | inline void AVOIDDENORMALS() | |
32 | { | |
33 | _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); | |
34 | _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON); | |
35 | } | |
36 | #else | |
37 | #include <xmmintrin.h> | |
38 | inline void AVOIDDENORMALS() | |
39 | { | |
40 | _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); | |
41 | } | |
42 | #endif //__SSE3__ | |
43 | ||
44 | #else | |
45 | inline void AVOIDDENORMALS() {} | |
46 | #endif //__SSE__ | |
47 | ||
48 | // faust support | |
49 | #define FAUSTFLOAT float | |
50 | #ifndef N_ | |
51 | #define N_(String) (String) | |
52 | #endif | |
53 | #define max(x, y) (((x) > (y)) ? (x) : (y)) | |
54 | #define min(x, y) (((x) < (y)) ? (x) : (y)) | |
55 | template <int32_t N> inline float faustpower(float x) | |
56 | { | |
57 | return powf(x, N); | |
58 | } | |
59 | template <int32_t N> inline double faustpower(double x) | |
60 | { | |
61 | return pow(x, N); | |
62 | } | |
63 | template <int32_t N> inline int32_t faustpower(int32_t x) | |
64 | { | |
65 | return faustpower<N/2>(x) * faustpower<N-N/2>(x); | |
66 | } | |
67 | template <> inline int32_t faustpower<0>(int32_t x) | |
68 | { | |
69 | return 1; | |
70 | } | |
71 | template <> inline int32_t faustpower<1>(int32_t x) | |
72 | { | |
73 | return x; | |
74 | } | |
75 | ||
76 | /**************************************************************** | |
77 | ** "atomic" value access | |
78 | */ | |
79 | ||
80 | inline void atomic_set(volatile int32_t* p, int32_t v) | |
81 | { | |
82 | g_atomic_int_set(p, v); | |
83 | } | |
84 | ||
85 | inline int32_t atomic_get(volatile int32_t& p) | |
86 | { | |
87 | return g_atomic_int_get(&p); | |
88 | } | |
89 | ||
90 | inline bool atomic_compare_and_exchange(volatile int32_t *p, int32_t oldv, int32_t newv) | |
91 | { | |
92 | return g_atomic_int_compare_and_exchange(p, oldv, newv); | |
93 | } | |
94 | ||
95 | template <class T> | |
96 | inline void atomic_set(T **p, T *v) | |
97 | { | |
98 | g_atomic_pointer_set(p, v); | |
99 | } | |
100 | ||
101 | template <class T> | |
102 | inline void atomic_set_0(T **p) | |
103 | { | |
104 | g_atomic_pointer_set(p, 0); | |
105 | } | |
106 | ||
107 | template <class T> | |
108 | inline T *atomic_get(T*& p) | |
109 | { | |
110 | return static_cast<T*>(g_atomic_pointer_get(&p)); | |
111 | } | |
112 | ||
113 | template <class T> | |
114 | inline bool atomic_compare_and_exchange(T **p, T *oldv, T *newv) | |
115 | { | |
116 | return g_atomic_pointer_compare_and_exchange(reinterpret_cast<void* volatile*>(p), oldv, newv); | |
117 | } | |
118 | ||
119 | ||
120 | #include "gxamp.h" | |
121 | #include "gx_resampler.h" | |
122 | #include "gx_convolver.h" | |
123 | #include "gx_tonestack.h" | |
124 | #include "gx_amp.h" | |
125 | #include "impulse_former.h" | |
126 | #include "ampulse_former.h" | |
127 | ||
128 | //////////////////////////// STEREO //////////////////////////////////// | |
129 | ||
130 | class GxPluginStereo | |
131 | { | |
132 | private: | |
133 | // internal stuff | |
134 | float* output; | |
135 | float* input; | |
136 | float* output1; | |
137 | float* input1; | |
138 | uint32_t tubesel; | |
139 | int32_t prio; | |
140 | TonestackStereo ts; | |
141 | GxAmpStereo amplifier; | |
142 | gx_resample::BufferResampler resamp; | |
143 | GxSimpleConvolver cabconv; | |
144 | Impf impf; | |
145 | gx_resample::BufferResampler resamp1; | |
146 | GxSimpleConvolver ampconv; | |
147 | Ampf ampf; | |
148 | uint32_t bufsize; | |
149 | LV2_Atom_Sequence* c_notice; | |
150 | LV2_Atom_Sequence* n_notice; | |
151 | float *clevel; | |
152 | float clevel_; | |
153 | float cab; | |
154 | bool cab_changed() | |
155 | { | |
156 | return abs(cab - clevel_) > 0.1; | |
157 | } | |
158 | void update_cab() | |
159 | { | |
160 | cab = clevel_; | |
161 | } | |
162 | float *alevel; | |
163 | float alevel_; | |
164 | float pre; | |
165 | bool pre_changed() | |
166 | { | |
167 | return abs(pre - alevel_) > 0.1; | |
168 | } | |
169 | void update_pre() | |
170 | { | |
171 | pre = alevel_; | |
172 | } | |
173 | float val; | |
174 | bool val_changed() | |
175 | { | |
176 | return abs(val - (*alevel) -(*clevel)) > 0.1; | |
177 | } | |
178 | void update_val() | |
179 | { | |
180 | val = (alevel_ + clevel_); | |
181 | } | |
182 | bool doit; | |
183 | volatile int32_t schedule_wait; | |
184 | ||
185 | ||
186 | public: | |
187 | // LV2 stuff | |
188 | LV2_URID_Map* map; | |
189 | LV2_Worker_Schedule* schedule; | |
190 | ||
191 | void set_tubesel_stereo(const LV2_Descriptor* descriptor); | |
192 | inline void run_dsp_stereo(uint32_t n_samples); | |
193 | void connect_stereo(uint32_t port,void* data); | |
194 | inline void init_dsp_stereo(uint32_t rate, uint32_t bufsize_); | |
195 | inline void do_work_stereo(); | |
196 | inline void connect_all_stereo_ports(uint32_t port, void* data); | |
197 | ||
198 | GxPluginStereo() : | |
199 | output(NULL), | |
200 | input(NULL), | |
201 | output1(NULL), | |
202 | input1(NULL), | |
203 | tubesel(0), | |
204 | prio(0), | |
205 | ts(TonestackStereo()), | |
206 | amplifier(GxAmpStereo()), | |
207 | cabconv(GxSimpleConvolver(resamp)), | |
208 | impf(Impf()), | |
209 | ampconv(GxSimpleConvolver(resamp1)), | |
210 | ampf(Ampf()), | |
211 | bufsize(0), | |
212 | clevel(NULL), | |
213 | clevel_(0), | |
214 | cab(0), | |
215 | alevel(NULL), | |
216 | alevel_(0), | |
217 | pre(0), | |
218 | val(0) | |
219 | { | |
220 | atomic_set(&schedule_wait,0); | |
221 | }; | |
222 | ||
223 | ~GxPluginStereo() | |
224 | { | |
225 | cabconv.stop_process(); | |
226 | ampconv.stop_process(); | |
227 | }; | |
228 | }; | |
229 | ||
230 | ||
231 | #include "cab_data.cc" | |
232 | #include "gx_tonestack.cc" | |
233 | #include "gx_amp.cc" | |
234 | #include "impulse_former.cc" | |
235 | #include "ampulse_former.cc" | |
236 | ||
237 | ||
238 | // plugin stuff | |
239 | ||
240 | void GxPluginStereo::do_work_stereo() | |
241 | { | |
242 | if (cab_changed()) | |
243 | { | |
244 | if (cabconv.is_runnable()) | |
245 | { | |
246 | cabconv.set_not_runnable(); | |
247 | cabconv.stop_process(); | |
248 | } | |
249 | float cab_irdata_c[cabconv.cab_count]; | |
250 | impf.compute(cabconv.cab_count, cabconv.cab_data, cab_irdata_c, clevel_); | |
251 | cabconv.cab_data_new = cab_irdata_c; | |
252 | while (!cabconv.checkstate()); | |
253 | if (!cabconv.update_stereo(cabconv.cab_count, cabconv.cab_data_new, cabconv.cab_sr)) | |
254 | printf("cabconv.update fail.\n"); | |
255 | if(!cabconv.start(prio, SCHED_FIFO)) | |
256 | printf("cabinet convolver disabled\n"); | |
257 | update_cab(); | |
258 | //printf("cabinet convolver updated\n"); | |
259 | } | |
260 | if (pre_changed()) | |
261 | { | |
262 | if (ampconv.is_runnable()) | |
263 | { | |
264 | ampconv.set_not_runnable(); | |
265 | ampconv.stop_process(); | |
266 | } | |
267 | float pre_irdata_c[contrast_ir_desc.ir_count]; | |
268 | ampf.compute(contrast_ir_desc.ir_count,contrast_ir_desc.ir_data, pre_irdata_c, alevel_); | |
269 | while (!ampconv.checkstate()); | |
270 | if (!ampconv.update_stereo(contrast_ir_desc.ir_count, pre_irdata_c, contrast_ir_desc.ir_sr)) | |
271 | printf("ampconv.update fail.\n"); | |
272 | if(!ampconv.start(prio, SCHED_FIFO)) | |
273 | printf("presence convolver disabled\n"); | |
274 | update_pre(); | |
275 | //printf("presence convolver updated\n"); | |
276 | } | |
277 | update_val(); | |
278 | atomic_set(&schedule_wait,0); | |
279 | } | |
280 | ||
281 | void GxPluginStereo::set_tubesel_stereo(const LV2_Descriptor* descriptor) | |
282 | { | |
283 | if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#12ax7_stereo",descriptor->URI)== 0) | |
284 | { | |
285 | printf("12ax7_stereo\n"); | |
286 | _as_ptr = &GxAmpStereo::run_12ax7; | |
287 | _ts_ptr = &TonestackStereo::run; | |
288 | cabconv.cab_count = cab_data_4x12.ir_count; | |
289 | cabconv.cab_sr = cab_data_4x12.ir_sr; | |
290 | cabconv.cab_data = cab_data_4x12.ir_data; | |
291 | tubesel = 1; | |
292 | } | |
293 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#12AT7_stereo",descriptor->URI)== 0) | |
294 | { | |
295 | printf("12AT7_stereo\n"); | |
296 | _as_ptr = &GxAmpStereo::run_12AT7; | |
297 | _ts_ptr = &TonestackStereo::run_soldano; | |
298 | cabconv.cab_count = cab_data_AC30.ir_count; | |
299 | cabconv.cab_sr = cab_data_AC30.ir_sr; | |
300 | cabconv.cab_data = cab_data_AC30.ir_data; | |
301 | tubesel = 2; | |
302 | } | |
303 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6C16_stereo",descriptor->URI)== 0) | |
304 | { | |
305 | printf("6C16_stereo\n"); | |
306 | _as_ptr = &GxAmpStereo::run_6C16; | |
307 | _ts_ptr = &TonestackStereo::run_bassman; | |
308 | cabconv.cab_count = cab_data_1x15.ir_count; | |
309 | cabconv.cab_sr = cab_data_1x15.ir_sr; | |
310 | cabconv.cab_data = cab_data_1x15.ir_data; | |
311 | tubesel = 3; | |
312 | } | |
313 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6V6_stereo",descriptor->URI)== 0) | |
314 | { | |
315 | printf("6V6_stereo\n"); | |
316 | _as_ptr = &GxAmpStereo::run_6V6; | |
317 | _ts_ptr = &TonestackStereo::run_soldano; | |
318 | cabconv.cab_count = cab_data_mesa.ir_count; | |
319 | cabconv.cab_sr = cab_data_mesa.ir_sr; | |
320 | cabconv.cab_data = cab_data_mesa.ir_data; | |
321 | tubesel = 4; | |
322 | } | |
323 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6DJ8_stereo",descriptor->URI)== 0) | |
324 | { | |
325 | printf("6DJ8_stereo\n"); | |
326 | _as_ptr = &GxAmpStereo::run_6DJ8; | |
327 | _ts_ptr = &TonestackStereo::run_ampeg; | |
328 | cabconv.cab_count = cab_data_HighGain.ir_count; | |
329 | cabconv.cab_sr = cab_data_HighGain.ir_sr; | |
330 | cabconv.cab_data = cab_data_HighGain.ir_data; | |
331 | tubesel = 5; | |
332 | } | |
333 | else | |
334 | { | |
335 | _as_ptr = &GxAmpStereo::run_12ax7; | |
336 | _ts_ptr = &TonestackStereo::run; | |
337 | cabconv.cab_count = cab_data_4x12.ir_count; | |
338 | cabconv.cab_sr = cab_data_4x12.ir_sr; | |
339 | cabconv.cab_data = cab_data_4x12.ir_data; | |
340 | tubesel = 0; | |
341 | } | |
342 | } | |
343 | ||
344 | void GxPluginStereo::init_dsp_stereo(uint32_t rate, uint32_t bufsize_) | |
345 | { | |
346 | AVOIDDENORMALS(); | |
347 | ||
348 | bufsize = bufsize_; | |
349 | amplifier.init_static(rate, &lifier); | |
350 | ts.init_static(rate, &ts); | |
351 | //impf.init_static(rate, &impf); | |
352 | //ampf.init_static(rate, &f); | |
353 | ||
354 | if (bufsize ) | |
355 | { | |
356 | #ifdef _POSIX_PRIORITY_SCHEDULING | |
357 | int priomax = sched_get_priority_max(SCHED_FIFO); | |
358 | if ((priomax/2) > 0) prio = priomax/2; | |
359 | #endif | |
360 | cabconv.set_samplerate(rate); | |
361 | cabconv.set_buffersize(bufsize); | |
362 | cabconv.configure_stereo(cabconv.cab_count, cabconv.cab_data, cabconv.cab_sr); | |
363 | if(!cabconv.start(prio, SCHED_FIFO)) | |
364 | printf("cabinet convolver disabled\n"); | |
365 | ||
366 | ampconv.set_samplerate(rate); | |
367 | ampconv.set_buffersize(bufsize); | |
368 | ampconv.configure_stereo(contrast_ir_desc.ir_count, contrast_ir_desc.ir_data, contrast_ir_desc.ir_sr); | |
369 | if(!ampconv.start(prio, SCHED_FIFO)) | |
370 | printf("presence convolver disabled\n"); | |
371 | } | |
372 | else | |
373 | { | |
374 | printf("convolver disabled\n"); | |
375 | } | |
376 | } | |
377 | ||
378 | ||
379 | void GxPluginStereo::connect_stereo(uint32_t port,void* data) | |
380 | { | |
381 | switch ((PortIndex)port) | |
382 | { | |
383 | case AMP_MASTERGAIN: | |
384 | break; | |
385 | case AMP_PREGAIN: | |
386 | break; | |
387 | case AMP_WET_DRY: | |
388 | break; | |
389 | case AMP_DRIVE: | |
390 | break; | |
391 | case MID: | |
392 | break; | |
393 | case BASS: | |
394 | break; | |
395 | case TREBLE: | |
396 | break; | |
397 | case CLevel: | |
398 | clevel = static_cast<float*>(data); | |
399 | break; | |
400 | case ALevel: | |
401 | alevel = static_cast<float*>(data); | |
402 | break; | |
403 | case AMP_CONTROL: | |
404 | c_notice = (LV2_Atom_Sequence*)data; | |
405 | break; | |
406 | case AMP_NOTIFY: | |
407 | n_notice = (LV2_Atom_Sequence*)data; | |
408 | break; | |
409 | case AMP_OUTPUT: | |
410 | output = static_cast<float*>(data); | |
411 | break; | |
412 | case AMP_INPUT: | |
413 | input = static_cast<float*>(data); | |
414 | break; | |
415 | case AMP_OUTPUT1: | |
416 | output1 = static_cast<float*>(data); | |
417 | break; | |
418 | case AMP_INPUT1: | |
419 | input1 = static_cast<float*>(data); | |
420 | break; | |
421 | } | |
422 | } | |
423 | ||
424 | void GxPluginStereo::run_dsp_stereo(uint32_t n_samples) | |
425 | { | |
426 | // run dsp | |
427 | amplifier.run_static(n_samples, input, input1, output, output1, &lifier); | |
428 | ampconv.run_static_stereo(n_samples, &conv, output, output1); | |
429 | ts.run_static(n_samples, &ts, output, output1); | |
430 | cabconv.run_static_stereo(n_samples, &cabconv, output, output1); | |
431 | // work ? | |
432 | if (!atomic_get(schedule_wait) && val_changed()) | |
433 | { | |
434 | clevel_ = (*clevel); | |
435 | alevel_ = (*alevel); | |
436 | atomic_set(&schedule_wait,1); | |
437 | schedule->schedule_work(schedule->handle, sizeof(bool), &doit); | |
438 | } | |
439 | } | |
440 | ||
441 | void GxPluginStereo::connect_all_stereo_ports(uint32_t port, void* data) | |
442 | { | |
443 | connect_stereo(port,data); | |
444 | amplifier.connect_static(port,data, &lifier); | |
445 | ts.connect_static(port,data, &ts); | |
446 | //impf.connect_static(port,data, &impf); | |
447 | //ampf.connect_static(port,data, &f); | |
448 | } | |
449 | ||
450 | ///////////////////////////// LV2 defines ////////////////////////////// | |
451 | ||
452 | static LV2_Worker_Status | |
453 | work(LV2_Handle instance, | |
454 | LV2_Worker_Respond_Function respond, | |
455 | LV2_Worker_Respond_Handle handle, | |
456 | uint32_t size, | |
457 | const void* data) | |
458 | { | |
459 | GxPluginStereo* self = (GxPluginStereo*)instance; | |
460 | self->do_work_stereo(); | |
461 | return LV2_WORKER_SUCCESS; | |
462 | } | |
463 | ||
464 | static LV2_Worker_Status | |
465 | work_response(LV2_Handle instance, | |
466 | uint32_t size, | |
467 | const void* data) | |
468 | { | |
469 | printf("worker respose.\n"); | |
470 | return LV2_WORKER_SUCCESS; | |
471 | } | |
472 | ||
473 | ||
474 | static LV2_Handle | |
475 | instantiate(const LV2_Descriptor* descriptor, | |
476 | double rate, | |
477 | const char* bundle_path, | |
478 | const LV2_Feature* const* features) | |
479 | { | |
480 | GxPluginStereo *self = new GxPluginStereo(); | |
481 | ||
482 | if (!self) | |
483 | { | |
484 | return NULL; | |
485 | } | |
486 | ||
487 | const LV2_Options_Option* options = NULL; | |
488 | uint32_t bufsize = 0; | |
489 | //printf(" %s\n",descriptor->URI); | |
490 | ||
491 | for (int32_t i = 0; features[i]; ++i) | |
492 | { | |
493 | if (!strcmp(features[i]->URI, LV2_URID__map)) | |
494 | { | |
495 | self->map = (LV2_URID_Map*)features[i]->data; | |
496 | } | |
497 | else if (!strcmp(features[i]->URI, LV2_WORKER__schedule)) | |
498 | { | |
499 | self->schedule = (LV2_Worker_Schedule*)features[i]->data; | |
500 | } | |
501 | else if (!strcmp(features[i]->URI, LV2_OPTIONS__options)) | |
502 | { | |
503 | options = (const LV2_Options_Option*)features[i]->data; | |
504 | } | |
505 | } | |
506 | if (!self->schedule) | |
507 | { | |
508 | fprintf(stderr, "Missing feature work:schedule.\n"); | |
509 | delete self; | |
510 | return NULL; | |
511 | } | |
512 | if (!self->map) | |
513 | { | |
514 | fprintf(stderr, "Missing feature uri:map.\n"); | |
515 | } | |
516 | else if (!options) | |
517 | { | |
518 | fprintf(stderr, "Missing feature options.\n"); | |
519 | } | |
520 | else | |
521 | { | |
522 | LV2_URID bufsz_max = self->map->map(self->map->handle, LV2_BUF_SIZE__maxBlockLength); | |
523 | LV2_URID atom_Int = self->map->map(self->map->handle, LV2_ATOM__Int); | |
524 | ||
525 | for (const LV2_Options_Option* o = options; o->key; ++o) | |
526 | { | |
527 | if (o->context == LV2_OPTIONS_INSTANCE && | |
528 | o->key == bufsz_max && | |
529 | o->type == atom_Int) | |
530 | { | |
531 | bufsize = *(const int32_t*)o->value; | |
532 | } | |
533 | } | |
534 | ||
535 | if (bufsize == 0) | |
536 | { | |
537 | fprintf(stderr, "No maximum buffer size given.\n"); | |
538 | } | |
539 | printf("using block size: %d\n", bufsize); | |
540 | } | |
541 | self->set_tubesel_stereo( descriptor); | |
542 | self->init_dsp_stereo((uint32_t)rate, bufsize); | |
543 | ||
544 | return (LV2_Handle)self; | |
545 | } | |
546 | ||
547 | static void | |
548 | connect_port(LV2_Handle instance, | |
549 | uint32_t port, | |
550 | void* data) | |
551 | { | |
552 | GxPluginStereo* self = (GxPluginStereo*)instance; | |
553 | self->connect_all_stereo_ports(port, data); | |
554 | ||
555 | } | |
556 | ||
557 | static void | |
558 | activate(LV2_Handle instance) | |
559 | { | |
560 | ||
561 | } | |
562 | ||
563 | static void | |
564 | run(LV2_Handle instance, uint32_t n_samples) | |
565 | { | |
566 | GxPluginStereo* self = (GxPluginStereo*)instance; | |
567 | self->run_dsp_stereo(n_samples); | |
568 | } | |
569 | ||
570 | static void | |
571 | deactivate(LV2_Handle instance) | |
572 | { | |
573 | ||
574 | } | |
575 | ||
576 | static void | |
577 | cleanup(LV2_Handle instance) | |
578 | { | |
579 | GxPluginStereo* self = (GxPluginStereo*)instance; | |
580 | delete self; | |
581 | } | |
582 | ||
583 | ////////////////////////////////////////////////////////////////// | |
584 | ||
585 | const void* | |
586 | extension_data(const char* uri) | |
587 | { | |
588 | static const LV2_Worker_Interface worker = { work, work_response, NULL }; | |
589 | if (!strcmp(uri, LV2_WORKER__interface)) | |
590 | { | |
591 | return &worker; | |
592 | } | |
593 | return NULL; | |
594 | } | |
595 | ||
596 | static const LV2_Descriptor descriptor5 = | |
597 | { | |
598 | GXPLUGIN_URI "#12ax7_stereo", | |
599 | instantiate, | |
600 | connect_port, | |
601 | activate, | |
602 | run, | |
603 | deactivate, | |
604 | cleanup, | |
605 | extension_data | |
606 | }; | |
607 | static const LV2_Descriptor descriptor6 = | |
608 | { | |
609 | GXPLUGIN_URI "#12AT7_stereo", | |
610 | instantiate, | |
611 | connect_port, | |
612 | activate, | |
613 | run, | |
614 | deactivate, | |
615 | cleanup, | |
616 | extension_data | |
617 | }; | |
618 | static const LV2_Descriptor descriptor7 = | |
619 | { | |
620 | GXPLUGIN_URI "#6C16_stereo", | |
621 | instantiate, | |
622 | connect_port, | |
623 | activate, | |
624 | run, | |
625 | deactivate, | |
626 | cleanup, | |
627 | extension_data | |
628 | }; | |
629 | static const LV2_Descriptor descriptor8 = | |
630 | { | |
631 | GXPLUGIN_URI "#6V6_stereo", | |
632 | instantiate, | |
633 | connect_port, | |
634 | activate, | |
635 | run, | |
636 | deactivate, | |
637 | cleanup, | |
638 | extension_data | |
639 | }; | |
640 | static const LV2_Descriptor descriptor9 = | |
641 | { | |
642 | GXPLUGIN_URI "#6DJ8_stereo", | |
643 | instantiate, | |
644 | connect_port, | |
645 | activate, | |
646 | run, | |
647 | deactivate, | |
648 | cleanup, | |
649 | extension_data | |
650 | }; | |
651 | ||
652 | extern "C" | |
653 | LV2_SYMBOL_EXPORT | |
654 | const LV2_Descriptor* | |
655 | lv2_descriptor(uint32_t index) | |
656 | { | |
657 | switch (index) | |
658 | { | |
659 | case 0: | |
660 | return &descriptor5; | |
661 | case 1: | |
662 | return &descriptor6; | |
663 | case 2: | |
664 | return &descriptor7; | |
665 | case 3: | |
666 | return &descriptor8; | |
667 | case 4: | |
668 | return &descriptor9; | |
669 | default: | |
670 | return NULL; | |
671 | } | |
672 | } |
0 | # | |
1 | # Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | # | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; either version 2 of the License, or | |
6 | # (at your option) any later version. | |
7 | # | |
8 | # This program is distributed in the hope that it will be useful, | |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
12 | # | |
13 | # You should have received a copy of the GNU General Public License | |
14 | # along with this program; if not, write to the Free Software | |
15 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | # -------------------------------------------------------------------------- | |
17 | # | |
18 | ||
19 | ||
20 | @prefix doap: <http://usefulinc.com/ns/doap#> . | |
21 | @prefix foaf: <http://xmlns.com/foaf/0.1/> . | |
22 | @prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |
23 | @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . | |
24 | @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | |
25 | @prefix bufsz: <http://lv2plug.in/ns/ext/buf-size#> . | |
26 | @prefix atom: <http://lv2plug.in/ns/ext/atom#> . | |
27 | @prefix urid: <http://lv2plug.in/ns/ext/urid#> . | |
28 | @prefix opt: <http://lv2plug.in/ns/ext/options#> . | |
29 | @prefix guiext: <http://lv2plug.in/ns/extensions/ui#>. | |
30 | @prefix work: <http://lv2plug.in/ns/ext/worker#> . | |
31 | ||
32 | <http://guitarix.sourceforge.net#me> | |
33 | a foaf:Person ; | |
34 | foaf:name "Hermann Meyer" ; | |
35 | foaf:mbox <mailto:brummer@web.de> ; | |
36 | rdfs:seeAlso <http://guitarix.sourceforge.net> . | |
37 | ||
38 | <http://guitarix.sourceforge.net/plugins/gxamp> | |
39 | a doap:Project ; | |
40 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
41 | doap:name "GxAmplifier" . | |
42 | ||
43 | <http://guitarix.sourceforge.net/plugins/gxamp#12ax7_stereo> | |
44 | a lv2:Plugin , | |
45 | lv2:AmplifierPlugin ; | |
46 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
47 | doap:name "GxAmplifier stereo"; | |
48 | doap:license <http://opensource.org/licenses/isc> ; | |
49 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
50 | lv2:optionalFeature lv2:hardRTCapable ; | |
51 | lv2:requiredFeature urid:map , | |
52 | bufsz:boundedBlockLength , | |
53 | work:schedule ; | |
54 | bufsz:minBlockLength 64 ; | |
55 | bufsz:maxBlockLength 8192 ; | |
56 | lv2:extensionData work:interface ; | |
57 | ||
58 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
59 | ||
60 | lv2:port [ | |
61 | a lv2:InputPort , | |
62 | lv2:ControlPort ; | |
63 | lv2:index 0 ; | |
64 | lv2:symbol "fslider0_" ; | |
65 | lv2:name "MasterGain"; | |
66 | lv2:default -15.0 ; | |
67 | lv2:minimum -20.0 ; | |
68 | lv2:maximum 20.0 ; | |
69 | ] , [ | |
70 | a lv2:InputPort , | |
71 | lv2:ControlPort ; | |
72 | lv2:index 1 ; | |
73 | lv2:symbol "fslider1_" ; | |
74 | lv2:name "PreGain"; | |
75 | lv2:default -15.0 ; | |
76 | lv2:minimum -20.0 ; | |
77 | lv2:maximum 20.0 ; | |
78 | ] , [ | |
79 | a lv2:InputPort , | |
80 | lv2:ControlPort ; | |
81 | lv2:index 2 ; | |
82 | lv2:symbol "fslider2_" ; | |
83 | lv2:name "Distortion"; | |
84 | lv2:default 20.0 ; | |
85 | lv2:minimum 1.0 ; | |
86 | lv2:maximum 100.0 ; | |
87 | ] , [ | |
88 | a lv2:InputPort , | |
89 | lv2:ControlPort ; | |
90 | lv2:index 3 ; | |
91 | lv2:symbol "fslider3_" ; | |
92 | lv2:name "Drive"; | |
93 | lv2:default 0.25 ; | |
94 | lv2:minimum 0.01 ; | |
95 | lv2:maximum 1.0 ; | |
96 | ] ,[ | |
97 | a lv2:InputPort , | |
98 | lv2:ControlPort ; | |
99 | lv2:index 4 ; | |
100 | lv2:symbol "fslider0_" ; | |
101 | lv2:name "Middle"; | |
102 | lv2:default 0.5 ; | |
103 | lv2:minimum 0.0 ; | |
104 | lv2:maximum 1.0 ; | |
105 | ] , [ | |
106 | a lv2:InputPort , | |
107 | lv2:ControlPort ; | |
108 | lv2:index 5 ; | |
109 | lv2:symbol "fslider1_" ; | |
110 | lv2:name "Bass"; | |
111 | lv2:default 0.5 ; | |
112 | lv2:minimum 0.0 ; | |
113 | lv2:maximum 1.0 ; | |
114 | ] , [ | |
115 | a lv2:InputPort , | |
116 | lv2:ControlPort ; | |
117 | lv2:index 6 ; | |
118 | lv2:symbol "fslider2_" ; | |
119 | lv2:name "Treble"; | |
120 | lv2:default 0.5 ; | |
121 | lv2:minimum 0.0 ; | |
122 | lv2:maximum 1.0 ; | |
123 | ] , [ | |
124 | a lv2:InputPort , | |
125 | lv2:ControlPort ; | |
126 | lv2:index 7 ; | |
127 | lv2:symbol "fslider0_" ; | |
128 | lv2:name "Cabinet"; | |
129 | lv2:default 10.0 ; | |
130 | lv2:minimum 1.0 ; | |
131 | lv2:maximum 20.0 ; | |
132 | ] , [ | |
133 | a lv2:InputPort , | |
134 | lv2:ControlPort ; | |
135 | lv2:index 8 ; | |
136 | lv2:symbol "fslider0_" ; | |
137 | lv2:name "Presence"; | |
138 | lv2:default 10.0 ; | |
139 | lv2:minimum 1.0 ; | |
140 | lv2:maximum 20.0 ; | |
141 | ] , [ | |
142 | a lv2:InputPort , | |
143 | atom:AtomPort ; | |
144 | atom:bufferType atom:Sequence ; | |
145 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
146 | lv2:index 9 ; | |
147 | lv2:symbol "control" ; | |
148 | lv2:name "Control" | |
149 | ] , [ | |
150 | a lv2:OutputPort , | |
151 | atom:AtomPort ; | |
152 | atom:bufferType atom:Sequence ; | |
153 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
154 | lv2:index 10 ; | |
155 | lv2:symbol "notify" ; | |
156 | lv2:name "Notify" | |
157 | ] , [ | |
158 | a lv2:AudioPort , | |
159 | lv2:OutputPort ; | |
160 | lv2:index 11 ; | |
161 | lv2:symbol "out" ; | |
162 | lv2:name "Out" | |
163 | ] , [ | |
164 | a lv2:AudioPort , | |
165 | lv2:InputPort ; | |
166 | lv2:index 12 ; | |
167 | lv2:symbol "in" ; | |
168 | lv2:name "in" | |
169 | ] , [ | |
170 | a lv2:AudioPort , | |
171 | lv2:OutputPort ; | |
172 | lv2:index 13 ; | |
173 | lv2:symbol "out1" ; | |
174 | lv2:name "Out1" | |
175 | ] , [ | |
176 | a lv2:AudioPort , | |
177 | lv2:InputPort ; | |
178 | lv2:index 14 ; | |
179 | lv2:symbol "in1" ; | |
180 | lv2:name "in1" | |
181 | ] . | |
182 | ||
183 | <http://guitarix.sourceforge.net/plugins/gxamp#12AT7_stereo> | |
184 | a lv2:Plugin , | |
185 | lv2:AmplifierPlugin ; | |
186 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
187 | doap:name "GxAmplifier-II stereo"; | |
188 | doap:license <http://opensource.org/licenses/isc> ; | |
189 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
190 | lv2:optionalFeature lv2:hardRTCapable ; | |
191 | lv2:requiredFeature urid:map , | |
192 | bufsz:boundedBlockLength , | |
193 | work:schedule ; | |
194 | bufsz:minBlockLength 64 ; | |
195 | bufsz:maxBlockLength 8192 ; | |
196 | lv2:extensionData work:interface ; | |
197 | ||
198 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
199 | ||
200 | lv2:port [ | |
201 | a lv2:InputPort , | |
202 | lv2:ControlPort ; | |
203 | lv2:index 0 ; | |
204 | lv2:symbol "fslider0_" ; | |
205 | lv2:name "MasterGain"; | |
206 | lv2:default -15.0 ; | |
207 | lv2:minimum -20.0 ; | |
208 | lv2:maximum 20.0 ; | |
209 | ] , [ | |
210 | a lv2:InputPort , | |
211 | lv2:ControlPort ; | |
212 | lv2:index 1 ; | |
213 | lv2:symbol "fslider1_" ; | |
214 | lv2:name "PreGain"; | |
215 | lv2:default -15.0 ; | |
216 | lv2:minimum -20.0 ; | |
217 | lv2:maximum 20.0 ; | |
218 | ] , [ | |
219 | a lv2:InputPort , | |
220 | lv2:ControlPort ; | |
221 | lv2:index 2 ; | |
222 | lv2:symbol "fslider2_" ; | |
223 | lv2:name "Distortion"; | |
224 | lv2:default 20.0 ; | |
225 | lv2:minimum 1.0 ; | |
226 | lv2:maximum 100.0 ; | |
227 | ] , [ | |
228 | a lv2:InputPort , | |
229 | lv2:ControlPort ; | |
230 | lv2:index 3 ; | |
231 | lv2:symbol "fslider3_" ; | |
232 | lv2:name "Drive"; | |
233 | lv2:default 0.25 ; | |
234 | lv2:minimum 0.01 ; | |
235 | lv2:maximum 1.0 ; | |
236 | ] ,[ | |
237 | a lv2:InputPort , | |
238 | lv2:ControlPort ; | |
239 | lv2:index 4 ; | |
240 | lv2:symbol "fslider0_" ; | |
241 | lv2:name "Middle"; | |
242 | lv2:default 0.5 ; | |
243 | lv2:minimum 0.0 ; | |
244 | lv2:maximum 1.0 ; | |
245 | ] , [ | |
246 | a lv2:InputPort , | |
247 | lv2:ControlPort ; | |
248 | lv2:index 5 ; | |
249 | lv2:symbol "fslider1_" ; | |
250 | lv2:name "Bass"; | |
251 | lv2:default 0.5 ; | |
252 | lv2:minimum 0.0 ; | |
253 | lv2:maximum 1.0 ; | |
254 | ] , [ | |
255 | a lv2:InputPort , | |
256 | lv2:ControlPort ; | |
257 | lv2:index 6 ; | |
258 | lv2:symbol "fslider2_" ; | |
259 | lv2:name "Treble"; | |
260 | lv2:default 0.5 ; | |
261 | lv2:minimum 0.0 ; | |
262 | lv2:maximum 1.0 ; | |
263 | ] , [ | |
264 | a lv2:InputPort , | |
265 | lv2:ControlPort ; | |
266 | lv2:index 7 ; | |
267 | lv2:symbol "fslider0_" ; | |
268 | lv2:name "Cabinet"; | |
269 | lv2:default 10.0 ; | |
270 | lv2:minimum 1.0 ; | |
271 | lv2:maximum 20.0 ; | |
272 | ] , [ | |
273 | a lv2:InputPort , | |
274 | lv2:ControlPort ; | |
275 | lv2:index 8 ; | |
276 | lv2:symbol "fslider0_" ; | |
277 | lv2:name "Presence"; | |
278 | lv2:default 10.0 ; | |
279 | lv2:minimum 1.0 ; | |
280 | lv2:maximum 20.0 ; | |
281 | ] , [ | |
282 | a lv2:InputPort , | |
283 | atom:AtomPort ; | |
284 | atom:bufferType atom:Sequence ; | |
285 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
286 | lv2:index 9 ; | |
287 | lv2:symbol "control" ; | |
288 | lv2:name "Control" | |
289 | ] , [ | |
290 | a lv2:OutputPort , | |
291 | atom:AtomPort ; | |
292 | atom:bufferType atom:Sequence ; | |
293 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
294 | lv2:index 10 ; | |
295 | lv2:symbol "notify" ; | |
296 | lv2:name "Notify" | |
297 | ] , [ | |
298 | a lv2:AudioPort , | |
299 | lv2:OutputPort ; | |
300 | lv2:index 11 ; | |
301 | lv2:symbol "out" ; | |
302 | lv2:name "Out" | |
303 | ] , [ | |
304 | a lv2:AudioPort , | |
305 | lv2:InputPort ; | |
306 | lv2:index 12 ; | |
307 | lv2:symbol "in" ; | |
308 | lv2:name "in" | |
309 | ] , [ | |
310 | a lv2:AudioPort , | |
311 | lv2:OutputPort ; | |
312 | lv2:index 13 ; | |
313 | lv2:symbol "out1" ; | |
314 | lv2:name "Out1" | |
315 | ] , [ | |
316 | a lv2:AudioPort , | |
317 | lv2:InputPort ; | |
318 | lv2:index 14 ; | |
319 | lv2:symbol "in1" ; | |
320 | lv2:name "in1" | |
321 | ] . | |
322 | ||
323 | <http://guitarix.sourceforge.net/plugins/gxamp#6C16_stereo> | |
324 | a lv2:Plugin , | |
325 | lv2:AmplifierPlugin ; | |
326 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
327 | doap:name "GxAmplifier-III stereo"; | |
328 | doap:license <http://opensource.org/licenses/isc> ; | |
329 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
330 | lv2:optionalFeature lv2:hardRTCapable ; | |
331 | lv2:requiredFeature urid:map , | |
332 | bufsz:boundedBlockLength , | |
333 | work:schedule ; | |
334 | bufsz:minBlockLength 64 ; | |
335 | bufsz:maxBlockLength 8192 ; | |
336 | lv2:extensionData work:interface ; | |
337 | ||
338 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
339 | ||
340 | lv2:port [ | |
341 | a lv2:InputPort , | |
342 | lv2:ControlPort ; | |
343 | lv2:index 0 ; | |
344 | lv2:symbol "fslider0_" ; | |
345 | lv2:name "MasterGain"; | |
346 | lv2:default -15.0 ; | |
347 | lv2:minimum -20.0 ; | |
348 | lv2:maximum 20.0 ; | |
349 | ] , [ | |
350 | a lv2:InputPort , | |
351 | lv2:ControlPort ; | |
352 | lv2:index 1 ; | |
353 | lv2:symbol "fslider1_" ; | |
354 | lv2:name "PreGain"; | |
355 | lv2:default -15.0 ; | |
356 | lv2:minimum -20.0 ; | |
357 | lv2:maximum 20.0 ; | |
358 | ] , [ | |
359 | a lv2:InputPort , | |
360 | lv2:ControlPort ; | |
361 | lv2:index 2 ; | |
362 | lv2:symbol "fslider2_" ; | |
363 | lv2:name "Distortion"; | |
364 | lv2:default 20.0 ; | |
365 | lv2:minimum 1.0 ; | |
366 | lv2:maximum 100.0 ; | |
367 | ] , [ | |
368 | a lv2:InputPort , | |
369 | lv2:ControlPort ; | |
370 | lv2:index 3 ; | |
371 | lv2:symbol "fslider3_" ; | |
372 | lv2:name "Drive"; | |
373 | lv2:default 0.25 ; | |
374 | lv2:minimum 0.01 ; | |
375 | lv2:maximum 1.0 ; | |
376 | ] ,[ | |
377 | a lv2:InputPort , | |
378 | lv2:ControlPort ; | |
379 | lv2:index 4 ; | |
380 | lv2:symbol "fslider0_" ; | |
381 | lv2:name "Middle"; | |
382 | lv2:default 0.5 ; | |
383 | lv2:minimum 0.0 ; | |
384 | lv2:maximum 1.0 ; | |
385 | ] , [ | |
386 | a lv2:InputPort , | |
387 | lv2:ControlPort ; | |
388 | lv2:index 5 ; | |
389 | lv2:symbol "fslider1_" ; | |
390 | lv2:name "Bass"; | |
391 | lv2:default 0.5 ; | |
392 | lv2:minimum 0.0 ; | |
393 | lv2:maximum 1.0 ; | |
394 | ] , [ | |
395 | a lv2:InputPort , | |
396 | lv2:ControlPort ; | |
397 | lv2:index 6 ; | |
398 | lv2:symbol "fslider2_" ; | |
399 | lv2:name "Treble"; | |
400 | lv2:default 0.5 ; | |
401 | lv2:minimum 0.0 ; | |
402 | lv2:maximum 1.0 ; | |
403 | ] , [ | |
404 | a lv2:InputPort , | |
405 | lv2:ControlPort ; | |
406 | lv2:index 7 ; | |
407 | lv2:symbol "fslider0_" ; | |
408 | lv2:name "Cabinet"; | |
409 | lv2:default 10.0 ; | |
410 | lv2:minimum 1.0 ; | |
411 | lv2:maximum 20.0 ; | |
412 | ] , [ | |
413 | a lv2:InputPort , | |
414 | lv2:ControlPort ; | |
415 | lv2:index 8 ; | |
416 | lv2:symbol "fslider0_" ; | |
417 | lv2:name "Presence"; | |
418 | lv2:default 10.0 ; | |
419 | lv2:minimum 1.0 ; | |
420 | lv2:maximum 20.0 ; | |
421 | ] , [ | |
422 | a lv2:InputPort , | |
423 | atom:AtomPort ; | |
424 | atom:bufferType atom:Sequence ; | |
425 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
426 | lv2:index 9 ; | |
427 | lv2:symbol "control" ; | |
428 | lv2:name "Control" | |
429 | ] , [ | |
430 | a lv2:OutputPort , | |
431 | atom:AtomPort ; | |
432 | atom:bufferType atom:Sequence ; | |
433 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
434 | lv2:index 10 ; | |
435 | lv2:symbol "notify" ; | |
436 | lv2:name "Notify" | |
437 | ] , [ | |
438 | a lv2:AudioPort , | |
439 | lv2:OutputPort ; | |
440 | lv2:index 11 ; | |
441 | lv2:symbol "out" ; | |
442 | lv2:name "Out" | |
443 | ] , [ | |
444 | a lv2:AudioPort , | |
445 | lv2:InputPort ; | |
446 | lv2:index 12 ; | |
447 | lv2:symbol "in" ; | |
448 | lv2:name "in" | |
449 | ] , [ | |
450 | a lv2:AudioPort , | |
451 | lv2:OutputPort ; | |
452 | lv2:index 13 ; | |
453 | lv2:symbol "out1" ; | |
454 | lv2:name "Out1" | |
455 | ] , [ | |
456 | a lv2:AudioPort , | |
457 | lv2:InputPort ; | |
458 | lv2:index 14 ; | |
459 | lv2:symbol "in1" ; | |
460 | lv2:name "in1" | |
461 | ] . | |
462 | ||
463 | <http://guitarix.sourceforge.net/plugins/gxamp#6V6_stereo> | |
464 | a lv2:Plugin , | |
465 | lv2:AmplifierPlugin ; | |
466 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
467 | doap:name "GxAmplifier-IV stereo"; | |
468 | doap:license <http://opensource.org/licenses/isc> ; | |
469 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
470 | lv2:optionalFeature lv2:hardRTCapable ; | |
471 | lv2:requiredFeature urid:map , | |
472 | bufsz:boundedBlockLength , | |
473 | work:schedule ; | |
474 | bufsz:minBlockLength 64 ; | |
475 | bufsz:maxBlockLength 8192 ; | |
476 | lv2:extensionData work:interface ; | |
477 | ||
478 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
479 | ||
480 | lv2:port [ | |
481 | a lv2:InputPort , | |
482 | lv2:ControlPort ; | |
483 | lv2:index 0 ; | |
484 | lv2:symbol "fslider0_" ; | |
485 | lv2:name "MasterGain"; | |
486 | lv2:default -15.0 ; | |
487 | lv2:minimum -20.0 ; | |
488 | lv2:maximum 20.0 ; | |
489 | ] , [ | |
490 | a lv2:InputPort , | |
491 | lv2:ControlPort ; | |
492 | lv2:index 1 ; | |
493 | lv2:symbol "fslider1_" ; | |
494 | lv2:name "PreGain"; | |
495 | lv2:default -15.0 ; | |
496 | lv2:minimum -20.0 ; | |
497 | lv2:maximum 20.0 ; | |
498 | ] , [ | |
499 | a lv2:InputPort , | |
500 | lv2:ControlPort ; | |
501 | lv2:index 2 ; | |
502 | lv2:symbol "fslider2_" ; | |
503 | lv2:name "Distortion"; | |
504 | lv2:default 20.0 ; | |
505 | lv2:minimum 1.0 ; | |
506 | lv2:maximum 100.0 ; | |
507 | ] , [ | |
508 | a lv2:InputPort , | |
509 | lv2:ControlPort ; | |
510 | lv2:index 3 ; | |
511 | lv2:symbol "fslider3_" ; | |
512 | lv2:name "Drive"; | |
513 | lv2:default 0.25 ; | |
514 | lv2:minimum 0.01 ; | |
515 | lv2:maximum 1.0 ; | |
516 | ] ,[ | |
517 | a lv2:InputPort , | |
518 | lv2:ControlPort ; | |
519 | lv2:index 4 ; | |
520 | lv2:symbol "fslider0_" ; | |
521 | lv2:name "Middle"; | |
522 | lv2:default 0.5 ; | |
523 | lv2:minimum 0.0 ; | |
524 | lv2:maximum 1.0 ; | |
525 | ] , [ | |
526 | a lv2:InputPort , | |
527 | lv2:ControlPort ; | |
528 | lv2:index 5 ; | |
529 | lv2:symbol "fslider1_" ; | |
530 | lv2:name "Bass"; | |
531 | lv2:default 0.5 ; | |
532 | lv2:minimum 0.0 ; | |
533 | lv2:maximum 1.0 ; | |
534 | ] , [ | |
535 | a lv2:InputPort , | |
536 | lv2:ControlPort ; | |
537 | lv2:index 6 ; | |
538 | lv2:symbol "fslider2_" ; | |
539 | lv2:name "Treble"; | |
540 | lv2:default 0.5 ; | |
541 | lv2:minimum 0.0 ; | |
542 | lv2:maximum 1.0 ; | |
543 | ] , [ | |
544 | a lv2:InputPort , | |
545 | lv2:ControlPort ; | |
546 | lv2:index 7 ; | |
547 | lv2:symbol "fslider0_" ; | |
548 | lv2:name "Cabinet"; | |
549 | lv2:default 10.0 ; | |
550 | lv2:minimum 1.0 ; | |
551 | lv2:maximum 20.0 ; | |
552 | ] , [ | |
553 | a lv2:InputPort , | |
554 | lv2:ControlPort ; | |
555 | lv2:index 8 ; | |
556 | lv2:symbol "fslider0_" ; | |
557 | lv2:name "Presence"; | |
558 | lv2:default 10.0 ; | |
559 | lv2:minimum 1.0 ; | |
560 | lv2:maximum 20.0 ; | |
561 | ] , [ | |
562 | a lv2:InputPort , | |
563 | atom:AtomPort ; | |
564 | atom:bufferType atom:Sequence ; | |
565 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
566 | lv2:index 9 ; | |
567 | lv2:symbol "control" ; | |
568 | lv2:name "Control" | |
569 | ] , [ | |
570 | a lv2:OutputPort , | |
571 | atom:AtomPort ; | |
572 | atom:bufferType atom:Sequence ; | |
573 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
574 | lv2:index 10 ; | |
575 | lv2:symbol "notify" ; | |
576 | lv2:name "Notify" | |
577 | ] , [ | |
578 | a lv2:AudioPort , | |
579 | lv2:OutputPort ; | |
580 | lv2:index 11 ; | |
581 | lv2:symbol "out" ; | |
582 | lv2:name "Out" | |
583 | ] , [ | |
584 | a lv2:AudioPort , | |
585 | lv2:InputPort ; | |
586 | lv2:index 12 ; | |
587 | lv2:symbol "in" ; | |
588 | lv2:name "in" | |
589 | ] , [ | |
590 | a lv2:AudioPort , | |
591 | lv2:OutputPort ; | |
592 | lv2:index 13 ; | |
593 | lv2:symbol "out1" ; | |
594 | lv2:name "Out1" | |
595 | ] , [ | |
596 | a lv2:AudioPort , | |
597 | lv2:InputPort ; | |
598 | lv2:index 14 ; | |
599 | lv2:symbol "in1" ; | |
600 | lv2:name "in1" | |
601 | ] . | |
602 | ||
603 | <http://guitarix.sourceforge.net/plugins/gxamp#6DJ8_stereo> | |
604 | a lv2:Plugin , | |
605 | lv2:AmplifierPlugin ; | |
606 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
607 | doap:name "GxAmplifier-V stereo"; | |
608 | doap:license <http://opensource.org/licenses/isc> ; | |
609 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
610 | lv2:optionalFeature lv2:hardRTCapable ; | |
611 | lv2:requiredFeature urid:map , | |
612 | bufsz:boundedBlockLength , | |
613 | work:schedule ; | |
614 | bufsz:minBlockLength 64 ; | |
615 | bufsz:maxBlockLength 8192 ; | |
616 | lv2:extensionData work:interface ; | |
617 | ||
618 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
619 | ||
620 | lv2:port [ | |
621 | a lv2:InputPort , | |
622 | lv2:ControlPort ; | |
623 | lv2:index 0 ; | |
624 | lv2:symbol "fslider0_" ; | |
625 | lv2:name "MasterGain"; | |
626 | lv2:default -15.0 ; | |
627 | lv2:minimum -20.0 ; | |
628 | lv2:maximum 20.0 ; | |
629 | ] , [ | |
630 | a lv2:InputPort , | |
631 | lv2:ControlPort ; | |
632 | lv2:index 1 ; | |
633 | lv2:symbol "fslider1_" ; | |
634 | lv2:name "PreGain"; | |
635 | lv2:default -15.0 ; | |
636 | lv2:minimum -20.0 ; | |
637 | lv2:maximum 20.0 ; | |
638 | ] , [ | |
639 | a lv2:InputPort , | |
640 | lv2:ControlPort ; | |
641 | lv2:index 2 ; | |
642 | lv2:symbol "fslider2_" ; | |
643 | lv2:name "Distortion"; | |
644 | lv2:default 20.0 ; | |
645 | lv2:minimum 1.0 ; | |
646 | lv2:maximum 100.0 ; | |
647 | ] , [ | |
648 | a lv2:InputPort , | |
649 | lv2:ControlPort ; | |
650 | lv2:index 3 ; | |
651 | lv2:symbol "fslider3_" ; | |
652 | lv2:name "Drive"; | |
653 | lv2:default 0.25 ; | |
654 | lv2:minimum 0.01 ; | |
655 | lv2:maximum 1.0 ; | |
656 | ] ,[ | |
657 | a lv2:InputPort , | |
658 | lv2:ControlPort ; | |
659 | lv2:index 4 ; | |
660 | lv2:symbol "fslider0_" ; | |
661 | lv2:name "Middle"; | |
662 | lv2:default 0.5 ; | |
663 | lv2:minimum 0.0 ; | |
664 | lv2:maximum 1.0 ; | |
665 | ] , [ | |
666 | a lv2:InputPort , | |
667 | lv2:ControlPort ; | |
668 | lv2:index 5 ; | |
669 | lv2:symbol "fslider1_" ; | |
670 | lv2:name "Bass"; | |
671 | lv2:default 0.5 ; | |
672 | lv2:minimum 0.0 ; | |
673 | lv2:maximum 1.0 ; | |
674 | ] , [ | |
675 | a lv2:InputPort , | |
676 | lv2:ControlPort ; | |
677 | lv2:index 6 ; | |
678 | lv2:symbol "fslider2_" ; | |
679 | lv2:name "Treble"; | |
680 | lv2:default 0.5 ; | |
681 | lv2:minimum 0.0 ; | |
682 | lv2:maximum 1.0 ; | |
683 | ] , [ | |
684 | a lv2:InputPort , | |
685 | lv2:ControlPort ; | |
686 | lv2:index 7 ; | |
687 | lv2:symbol "fslider0_" ; | |
688 | lv2:name "Cabinet"; | |
689 | lv2:default 10.0 ; | |
690 | lv2:minimum 1.0 ; | |
691 | lv2:maximum 20.0 ; | |
692 | ] , [ | |
693 | a lv2:InputPort , | |
694 | lv2:ControlPort ; | |
695 | lv2:index 8 ; | |
696 | lv2:symbol "fslider0_" ; | |
697 | lv2:name "Presence"; | |
698 | lv2:default 10.0 ; | |
699 | lv2:minimum 1.0 ; | |
700 | lv2:maximum 20.0 ; | |
701 | ] , [ | |
702 | a lv2:InputPort , | |
703 | atom:AtomPort ; | |
704 | atom:bufferType atom:Sequence ; | |
705 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
706 | lv2:index 9 ; | |
707 | lv2:symbol "control" ; | |
708 | lv2:name "Control" | |
709 | ] , [ | |
710 | a lv2:OutputPort , | |
711 | atom:AtomPort ; | |
712 | atom:bufferType atom:Sequence ; | |
713 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
714 | lv2:index 10 ; | |
715 | lv2:symbol "notify" ; | |
716 | lv2:name "Notify" | |
717 | ] , [ | |
718 | a lv2:AudioPort , | |
719 | lv2:OutputPort ; | |
720 | lv2:index 11 ; | |
721 | lv2:symbol "out" ; | |
722 | lv2:name "Out" | |
723 | ] , [ | |
724 | a lv2:AudioPort , | |
725 | lv2:InputPort ; | |
726 | lv2:index 12 ; | |
727 | lv2:symbol "in" ; | |
728 | lv2:name "in" | |
729 | ] , [ | |
730 | a lv2:AudioPort , | |
731 | lv2:OutputPort ; | |
732 | lv2:index 13 ; | |
733 | lv2:symbol "out1" ; | |
734 | lv2:name "Out1" | |
735 | ] , [ | |
736 | a lv2:AudioPort , | |
737 | lv2:InputPort ; | |
738 | lv2:index 14 ; | |
739 | lv2:symbol "in1" ; | |
740 | lv2:name "in1" | |
741 | ] . | |
742 | ||
743 | <http://guitarix.sourceforge.net/plugins/gxamp#gui> | |
744 | a guiext:GtkUI; | |
745 | guiext:binary <gxamp_gui_stereo.so>; | |
746 | guiext:requiredFeature guiext:makeResident; | |
747 | lv2:extensionData work:interface ; | |
748 | guiext:portNotification [ | |
749 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#12ax7>; | |
750 | lv2:symbol "notify" ; | |
751 | guiext:notifyType atom:Blank | |
752 | ] , [ | |
753 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#12AT7>; | |
754 | lv2:symbol "notify" ; | |
755 | guiext:notifyType atom:Blank | |
756 | ] , [ | |
757 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#6C16>; | |
758 | lv2:symbol "notify" ; | |
759 | guiext:notifyType atom:Blank | |
760 | ] , [ | |
761 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#6V6>; | |
762 | lv2:symbol "notify" ; | |
763 | guiext:notifyType atom:Blank | |
764 | ] . |
0 | # | |
1 | # Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | # | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; either version 2 of the License, or | |
6 | # (at your option) any later version. | |
7 | # | |
8 | # This program is distributed in the hope that it will be useful, | |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
12 | # | |
13 | # You should have received a copy of the GNU General Public License | |
14 | # along with this program; if not, write to the Free Software | |
15 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | # -------------------------------------------------------------------------- | |
17 | # | |
18 | ||
19 | @prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |
20 | @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | |
21 | ||
22 | <http://guitarix.sourceforge.net/plugins/gxamp#12ax7_stereo> | |
23 | a lv2:Plugin ; | |
24 | lv2:binary <gxamp_stereo@LIB_EXT@> ; | |
25 | rdfs:seeAlso <gxamp_stereo.ttl> . | |
26 | ||
27 | <http://guitarix.sourceforge.net/plugins/gxamp#12AT7_stereo> | |
28 | a lv2:Plugin ; | |
29 | lv2:binary <gxamp_stereo@LIB_EXT@> ; | |
30 | rdfs:seeAlso <gxamp_stereo.ttl> . | |
31 | ||
32 | <http://guitarix.sourceforge.net/plugins/gxamp#6C16_stereo> | |
33 | a lv2:Plugin ; | |
34 | lv2:binary <gxamp_stereo@LIB_EXT@> ; | |
35 | rdfs:seeAlso <gxamp_stereo.ttl> . | |
36 | ||
37 | <http://guitarix.sourceforge.net/plugins/gxamp#6V6_stereo> | |
38 | a lv2:Plugin ; | |
39 | lv2:binary <gxamp_stereo@LIB_EXT@> ; | |
40 | rdfs:seeAlso <gxamp_stereo.ttl> . | |
41 | ||
42 | <http://guitarix.sourceforge.net/plugins/gxamp#6DJ8_stereo> | |
43 | a lv2:Plugin ; | |
44 | lv2:binary <gxamp_stereo@LIB_EXT@> ; | |
45 | rdfs:seeAlso <gxamp_stereo.ttl> . | |
46 |
0 | #!/usr/bin/env python | |
1 | # encoding: utf-8 | |
2 | ||
3 | import sys, os, TaskGen, ctypes | |
4 | ||
5 | def configure(conf): | |
6 | pass | |
7 | ||
8 | def build(bld): | |
9 | bundle2 = 'gxamp_stereo.lv2' | |
10 | ||
11 | src2 = ['gxamp_stereo.cpp', | |
12 | '../DSP/gx_resampler.cc', | |
13 | '../DSP/gx_convolver.cc' | |
14 | ] | |
15 | incl2 = ['../../','./','../', '../DSP'] | |
16 | lib2 = [] | |
17 | if sys.platform.startswith("linux"): | |
18 | lib2.append('dl') | |
19 | uselib2 = ['LV2CORE','GLIBMM'] | |
20 | if bld.env['ZITA_CONVOLVER']: | |
21 | uselib2.append('ZITA_CONVOLVER') | |
22 | else: | |
23 | src2.append('../../../zita-convolver/zita-convolver.cc') | |
24 | incl2.append('../../../zita-convolver'); | |
25 | uselib2.append('FFTW3') | |
26 | if bld.env['ZITA_RESAMPLER']: | |
27 | uselib2.append('ZITA_RESAMPLER') | |
28 | else: | |
29 | src2.append('../../../zita-resampler-1.1.0/resampler.cc') | |
30 | src2.append('../../../zita-resampler-1.1.0/resampler-table.cc') | |
31 | incl2.append('../../../zita-resampler-1.1.0') | |
32 | cxxflag1 =[] | |
33 | if not bld.env['OPT']: | |
34 | cxxflag2 = [ "-msse2", "-mfpmath=sse"] | |
35 | lv2_plugin_stereo = bld( | |
36 | features='cxx cshlib ', | |
37 | includes = incl2, | |
38 | lib = lib2, | |
39 | uselib = uselib2, | |
40 | obj_ext = '_3.o', | |
41 | cxxflags = cxxflag2, | |
42 | defines = ["LV2_SO"], | |
43 | target = 'gxamp_stereo', | |
44 | source = src2, | |
45 | install_path = '${LV2DIR}/%s' % bundle2, | |
46 | chmod = 0o755, | |
47 | ) | |
48 | lv2_plugin_stereo.env['shlib_PATTERN'] = '%s.so' | |
49 | ||
50 | uselib_local3 = [] | |
51 | libpath3 = [] | |
52 | lib3 = [] | |
53 | incl3 = ['../../../../libgxwmm','../../../../libgxw','../'] | |
54 | if sys.platform.startswith("linux"): | |
55 | lib3.append('dl') | |
56 | if bld.env["GX_LIB_SHARED"]: | |
57 | lib3 += ['gxwmm','gxw'] | |
58 | libpath3 += [bld.path.find_dir("../../../../libgxw/gxw").bldpath(bld.env), | |
59 | bld.path.find_dir("../../../../libgxwmm/gxwmm").bldpath(bld.env)] | |
60 | else: | |
61 | uselib_local3 += ['gxwmm','gxw'] | |
62 | ||
63 | lv2_plugin_gui_stereo = bld( | |
64 | features='cxx cshlib ', | |
65 | includes = incl3, | |
66 | lib = lib3, | |
67 | uselib = 'LV2CORE GTKMM', | |
68 | libpath = libpath3, | |
69 | obj_ext = '_3.o', | |
70 | uselib_local = uselib_local3, | |
71 | linkflags = '-Wl,-z,nodelete', | |
72 | defines = ["LV2_GUI"], | |
73 | target = 'gxamp_gui_stereo', | |
74 | source = '../widget.cpp ../gxamp_gui.cpp', | |
75 | install_path = '${LV2DIR}/%s' % bundle2, | |
76 | chmod = 0o755, | |
77 | ) | |
78 | lv2_plugin_gui_stereo.env['shlib_PATTERN'] = '%s.so' | |
79 | ||
80 | ||
81 | install_path = '${LV2DIR}/%s' % bundle2, | |
82 | bld.install_files('${LV2DIR}/gxamp_stereo.lv2', 'manifest.ttl') | |
83 | bld.install_files('${LV2DIR}/gxamp_stereo.lv2', 'gxamp_stereo.ttl') | |
84 |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | #include <cstdlib> | |
20 | #include <cmath> | |
21 | #include <iostream> | |
22 | #include <cstring> | |
23 | #include <glibmm.h> | |
24 | #include <unistd.h> | |
25 | ||
26 | #ifdef __SSE__ | |
27 | /* On Intel set FZ (Flush to Zero) and DAZ (Denormals Are Zero) | |
28 | flags to avoid costly denormals */ | |
29 | #ifdef __SSE3__ | |
30 | #include <pmmintrin.h> | |
31 | inline void AVOIDDENORMALS() | |
32 | { | |
33 | _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); | |
34 | _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON); | |
35 | } | |
36 | #else | |
37 | #include <xmmintrin.h> | |
38 | inline void AVOIDDENORMALS() | |
39 | { | |
40 | _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); | |
41 | } | |
42 | #endif //__SSE3__ | |
43 | ||
44 | #else | |
45 | inline void AVOIDDENORMALS() {} | |
46 | #endif //__SSE__ | |
47 | ||
48 | // faust support | |
49 | #define FAUSTFLOAT float | |
50 | #ifndef N_ | |
51 | #define N_(String) (String) | |
52 | #endif | |
53 | #define max(x, y) (((x) > (y)) ? (x) : (y)) | |
54 | #define min(x, y) (((x) < (y)) ? (x) : (y)) | |
55 | template <int32_t N> inline float faustpower(float x) | |
56 | { | |
57 | return powf(x, N); | |
58 | } | |
59 | template <int32_t N> inline double faustpower(double x) | |
60 | { | |
61 | return pow(x, N); | |
62 | } | |
63 | template <int32_t N> inline int32_t faustpower(int32_t x) | |
64 | { | |
65 | return faustpower<N/2>(x) * faustpower<N-N/2>(x); | |
66 | } | |
67 | template <> inline int32_t faustpower<0>(int32_t x) | |
68 | { | |
69 | return 1; | |
70 | } | |
71 | template <> inline int32_t faustpower<1>(int32_t x) | |
72 | { | |
73 | return x; | |
74 | } | |
75 | ||
76 | /**************************************************************** | |
77 | ** "atomic" value access | |
78 | */ | |
79 | ||
80 | inline void atomic_set(volatile int32_t* p, int32_t v) | |
81 | { | |
82 | g_atomic_int_set(p, v); | |
83 | } | |
84 | ||
85 | inline int32_t atomic_get(volatile int32_t& p) | |
86 | { | |
87 | return g_atomic_int_get(&p); | |
88 | } | |
89 | ||
90 | inline bool atomic_compare_and_exchange(volatile int32_t *p, int32_t oldv, int32_t newv) | |
91 | { | |
92 | return g_atomic_int_compare_and_exchange(p, oldv, newv); | |
93 | } | |
94 | ||
95 | template <class T> | |
96 | inline void atomic_set(T **p, T *v) | |
97 | { | |
98 | g_atomic_pointer_set(p, v); | |
99 | } | |
100 | ||
101 | template <class T> | |
102 | inline void atomic_set_0(T **p) | |
103 | { | |
104 | g_atomic_pointer_set(p, 0); | |
105 | } | |
106 | ||
107 | template <class T> | |
108 | inline T *atomic_get(T*& p) | |
109 | { | |
110 | return static_cast<T*>(g_atomic_pointer_get(&p)); | |
111 | } | |
112 | ||
113 | template <class T> | |
114 | inline bool atomic_compare_and_exchange(T **p, T *oldv, T *newv) | |
115 | { | |
116 | return g_atomic_pointer_compare_and_exchange(reinterpret_cast<void* volatile*>(p), oldv, newv); | |
117 | } | |
118 | ||
119 | ||
120 | #include "gxamp.h" | |
121 | #include "gx_resampler.h" | |
122 | #include "gx_convolver.h" | |
123 | #include "gx_tonestack.h" | |
124 | #include "gx_amp.h" | |
125 | #include "impulse_former.h" | |
126 | #include "ampulse_former.h" | |
127 | ||
128 | ////////////////////////////// MONO //////////////////////////////////// | |
129 | ||
130 | class GxPluginMono | |
131 | { | |
132 | private: | |
133 | // internal stuff | |
134 | float* output; | |
135 | float* input; | |
136 | uint32_t tubesel; | |
137 | int32_t prio; | |
138 | TonestackMono ts; | |
139 | GxAmpMono amplifier; | |
140 | gx_resample::BufferResampler resamp; | |
141 | GxSimpleConvolver cabconv; | |
142 | Impf impf; | |
143 | gx_resample::BufferResampler resamp1; | |
144 | GxSimpleConvolver ampconv; | |
145 | Ampf ampf; | |
146 | uint32_t bufsize; | |
147 | LV2_Atom_Sequence* c_notice; | |
148 | LV2_Atom_Sequence* n_notice; | |
149 | float *clevel; | |
150 | float clevel_; | |
151 | float cab; | |
152 | bool cab_changed() | |
153 | { | |
154 | return abs(cab - clevel_) > 0.1; | |
155 | } | |
156 | void update_cab() | |
157 | { | |
158 | cab = (clevel_); | |
159 | } | |
160 | float *alevel; | |
161 | float alevel_; | |
162 | float pre; | |
163 | bool pre_changed() | |
164 | { | |
165 | return abs(pre - alevel_) > 0.1; | |
166 | } | |
167 | void update_pre() | |
168 | { | |
169 | pre = (alevel_); | |
170 | } | |
171 | float val; | |
172 | bool val_changed() | |
173 | { | |
174 | return abs(val - (*alevel) -(*clevel)) > 0.1; | |
175 | } | |
176 | void update_val() | |
177 | { | |
178 | val = (alevel_) + (clevel_); | |
179 | } | |
180 | bool doit; | |
181 | volatile int32_t schedule_wait; | |
182 | ||
183 | public: | |
184 | // LV2 stuff | |
185 | LV2_URID_Map* map; | |
186 | LV2_Worker_Schedule* schedule; | |
187 | ||
188 | void set_tubesel_mono(const LV2_Descriptor* descriptor); | |
189 | inline void run_dsp_mono(uint32_t n_samples); | |
190 | void connect_mono(uint32_t port,void* data); | |
191 | inline void init_dsp_mono(uint32_t rate, uint32_t bufsize_); | |
192 | inline void do_work_mono(); | |
193 | inline void connect_all_mono_ports(uint32_t port, void* data); | |
194 | // constructor | |
195 | GxPluginMono() : | |
196 | output(NULL), | |
197 | input(NULL), | |
198 | tubesel(0), | |
199 | prio(0), | |
200 | ts(TonestackMono()), | |
201 | amplifier(GxAmpMono()), | |
202 | cabconv(GxSimpleConvolver(resamp)), | |
203 | impf(Impf()), | |
204 | ampconv(GxSimpleConvolver(resamp1)), | |
205 | ampf(Ampf()), | |
206 | bufsize(0), | |
207 | clevel(NULL), | |
208 | clevel_(0), | |
209 | cab(0), | |
210 | alevel(NULL), | |
211 | alevel_(0), | |
212 | pre(0), | |
213 | val(0) | |
214 | { | |
215 | atomic_set(&schedule_wait,0); | |
216 | }; | |
217 | // destructor | |
218 | ~GxPluginMono() | |
219 | { | |
220 | cabconv.stop_process(); | |
221 | ampconv.stop_process(); | |
222 | }; | |
223 | }; | |
224 | ||
225 | #include "cab_data.cc" | |
226 | #include "gx_tonestack.cc" | |
227 | #include "gx_amp.cc" | |
228 | #include "impulse_former.cc" | |
229 | #include "ampulse_former.cc" | |
230 | ||
231 | // plugin stuff | |
232 | ||
233 | void GxPluginMono::do_work_mono() | |
234 | { | |
235 | if (cab_changed()) | |
236 | { | |
237 | if (cabconv.is_runnable()) | |
238 | { | |
239 | cabconv.set_not_runnable(); | |
240 | cabconv.stop_process(); | |
241 | } | |
242 | float cab_irdata_c[cabconv.cab_count]; | |
243 | impf.compute(cabconv.cab_count, cabconv.cab_data, cab_irdata_c, clevel_); | |
244 | cabconv.cab_data_new = cab_irdata_c; | |
245 | while (!cabconv.checkstate()); | |
246 | if (!cabconv.update(cabconv.cab_count, cabconv.cab_data_new, cabconv.cab_sr)) | |
247 | printf("cabconv.update fail.\n"); | |
248 | if(!cabconv.start(prio, SCHED_FIFO)) | |
249 | printf("cabinet convolver disabled\n"); | |
250 | update_cab(); | |
251 | //printf("cabinet convolver updated\n"); | |
252 | } | |
253 | if (pre_changed()) | |
254 | { | |
255 | if (ampconv.is_runnable()) | |
256 | { | |
257 | ampconv.set_not_runnable(); | |
258 | ampconv.stop_process(); | |
259 | } | |
260 | float pre_irdata_c[contrast_ir_desc.ir_count]; | |
261 | ampf.compute(contrast_ir_desc.ir_count,contrast_ir_desc.ir_data, pre_irdata_c, alevel_); | |
262 | while (!ampconv.checkstate()); | |
263 | if (!ampconv.update(contrast_ir_desc.ir_count, pre_irdata_c, contrast_ir_desc.ir_sr)) | |
264 | printf("ampconv.update fail.\n"); | |
265 | if(!ampconv.start(prio, SCHED_FIFO)) | |
266 | printf("presence convolver disabled\n"); | |
267 | update_pre(); | |
268 | //printf("presence convolver updated\n"); | |
269 | } | |
270 | update_val(); | |
271 | atomic_set(&schedule_wait,0); | |
272 | } | |
273 | ||
274 | void GxPluginMono::set_tubesel_mono(const LV2_Descriptor* descriptor) | |
275 | { | |
276 | if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#12ax7",descriptor->URI)== 0) | |
277 | { | |
278 | printf("12ax7\n"); | |
279 | _a_ptr = &GxAmpMono::run_12ax7; | |
280 | _t_ptr = &TonestackMono::run; | |
281 | cabconv.cab_count = cab_data_4x12.ir_count; | |
282 | cabconv.cab_sr = cab_data_4x12.ir_sr; | |
283 | cabconv.cab_data = cab_data_4x12.ir_data; | |
284 | tubesel = 1; | |
285 | } | |
286 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#12AT7",descriptor->URI)== 0) | |
287 | { | |
288 | printf("12AT7\n"); | |
289 | _a_ptr = &GxAmpMono::run_12AT7; | |
290 | _t_ptr = &TonestackMono::run_soldano; | |
291 | cabconv.cab_count = cab_data_AC30.ir_count; | |
292 | cabconv.cab_sr = cab_data_AC30.ir_sr; | |
293 | cabconv.cab_data = cab_data_AC30.ir_data; | |
294 | tubesel = 2; | |
295 | } | |
296 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6C16",descriptor->URI)== 0) | |
297 | { | |
298 | printf("6C16\n"); | |
299 | _a_ptr = &GxAmpMono::run_6C16; | |
300 | _t_ptr = &TonestackMono::run_bassman; | |
301 | cabconv.cab_count = cab_data_1x15.ir_count; | |
302 | cabconv.cab_sr = cab_data_1x15.ir_sr; | |
303 | cabconv.cab_data = cab_data_1x15.ir_data; | |
304 | tubesel = 3; | |
305 | } | |
306 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6V6",descriptor->URI)== 0) | |
307 | { | |
308 | printf("6V6\n"); | |
309 | _a_ptr = &GxAmpMono::run_6V6; | |
310 | _t_ptr = &TonestackMono::run_soldano; | |
311 | cabconv.cab_count = cab_data_mesa.ir_count; | |
312 | cabconv.cab_sr = cab_data_mesa.ir_sr; | |
313 | cabconv.cab_data = cab_data_mesa.ir_data; | |
314 | tubesel = 4; | |
315 | } | |
316 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6DJ8",descriptor->URI)== 0) | |
317 | { | |
318 | printf("6DJ8\n"); | |
319 | _a_ptr = &GxAmpMono::run_6DJ8; | |
320 | _t_ptr = &TonestackMono::run_ampeg; | |
321 | cabconv.cab_count = cab_data_HighGain.ir_count; | |
322 | cabconv.cab_sr = cab_data_HighGain.ir_sr; | |
323 | cabconv.cab_data = cab_data_HighGain.ir_data; | |
324 | tubesel = 5; | |
325 | } | |
326 | else | |
327 | { | |
328 | _a_ptr = &GxAmpMono::run_12ax7; | |
329 | _t_ptr = &TonestackMono::run; | |
330 | cabconv.cab_count = cab_data_4x12.ir_count; | |
331 | cabconv.cab_sr = cab_data_4x12.ir_sr; | |
332 | cabconv.cab_data = cab_data_4x12.ir_data; | |
333 | tubesel = 0; | |
334 | } | |
335 | } | |
336 | ||
337 | void GxPluginMono::init_dsp_mono(uint32_t rate, uint32_t bufsize_) | |
338 | { | |
339 | AVOIDDENORMALS(); | |
340 | ||
341 | bufsize = bufsize_; | |
342 | amplifier.init_static(rate, &lifier); | |
343 | ts.init_static(rate, &ts); | |
344 | //impf.init_static(rate, &impf); | |
345 | //ampf.init_static(rate, &f); | |
346 | ||
347 | if (bufsize ) | |
348 | { | |
349 | #ifdef _POSIX_PRIORITY_SCHEDULING | |
350 | int priomax = sched_get_priority_max(SCHED_FIFO); | |
351 | if ((priomax/2) > 0) prio = priomax/2; | |
352 | #endif | |
353 | cabconv.set_samplerate(rate); | |
354 | cabconv.set_buffersize(bufsize); | |
355 | cabconv.configure(cabconv.cab_count, cabconv.cab_data, cabconv.cab_sr); | |
356 | if(!cabconv.start(prio, SCHED_FIFO)) | |
357 | printf("cabinet convolver disabled\n"); | |
358 | ||
359 | ampconv.set_samplerate(rate); | |
360 | ampconv.set_buffersize(bufsize); | |
361 | ampconv.configure(contrast_ir_desc.ir_count, contrast_ir_desc.ir_data, contrast_ir_desc.ir_sr); | |
362 | if(!ampconv.start(prio, SCHED_FIFO)) | |
363 | printf("presence convolver disabled\n"); | |
364 | } | |
365 | else | |
366 | { | |
367 | printf("convolver disabled\n"); | |
368 | } | |
369 | } | |
370 | ||
371 | ||
372 | void GxPluginMono::connect_mono(uint32_t port,void* data) | |
373 | { | |
374 | switch ((PortIndex)port) | |
375 | { | |
376 | case AMP_MASTERGAIN: | |
377 | break; | |
378 | case AMP_PREGAIN: | |
379 | break; | |
380 | case AMP_WET_DRY: | |
381 | break; | |
382 | case AMP_DRIVE: | |
383 | break; | |
384 | case MID: | |
385 | break; | |
386 | case BASS: | |
387 | break; | |
388 | case TREBLE: | |
389 | break; | |
390 | case CLevel: | |
391 | clevel = static_cast<float*>(data); | |
392 | break; | |
393 | case ALevel: | |
394 | alevel = static_cast<float*>(data); | |
395 | break; | |
396 | case AMP_CONTROL: | |
397 | c_notice = (LV2_Atom_Sequence*)data; | |
398 | break; | |
399 | case AMP_NOTIFY: | |
400 | n_notice = (LV2_Atom_Sequence*)data; | |
401 | break; | |
402 | case AMP_OUTPUT: | |
403 | output = static_cast<float*>(data); | |
404 | break; | |
405 | case AMP_INPUT: | |
406 | input = static_cast<float*>(data); | |
407 | break; | |
408 | case AMP_OUTPUT1: | |
409 | break; | |
410 | case AMP_INPUT1: | |
411 | break; | |
412 | } | |
413 | } | |
414 | ||
415 | void GxPluginMono::run_dsp_mono(uint32_t n_samples) | |
416 | { | |
417 | // run dsp | |
418 | amplifier.run_static(n_samples, input, output, &lifier); | |
419 | ampconv.run_static(n_samples, &conv, output); | |
420 | ts.run_static(n_samples, &ts, output); | |
421 | cabconv.run_static(n_samples, &cabconv, output); | |
422 | // work ? | |
423 | if (!atomic_get(schedule_wait) && val_changed()) | |
424 | { | |
425 | clevel_ = (*clevel); | |
426 | alevel_ = (*alevel); | |
427 | atomic_set(&schedule_wait,1); | |
428 | schedule->schedule_work(schedule->handle, sizeof(bool), &doit); | |
429 | } | |
430 | } | |
431 | ||
432 | void GxPluginMono::connect_all_mono_ports(uint32_t port, void* data) | |
433 | { | |
434 | connect_mono(port,data); | |
435 | amplifier.connect_static(port,data, &lifier); | |
436 | ts.connect_static(port,data, &ts); | |
437 | //impf.connect_static(port,data, &impf); | |
438 | //ampf.connect_static(port,data, &f); | |
439 | } | |
440 | ||
441 | ///////////////////////////// LV2 defines ////////////////////////////// | |
442 | ||
443 | static LV2_Worker_Status | |
444 | work(LV2_Handle instance, | |
445 | LV2_Worker_Respond_Function respond, | |
446 | LV2_Worker_Respond_Handle handle, | |
447 | uint32_t size, | |
448 | const void* data) | |
449 | { | |
450 | GxPluginMono* self = (GxPluginMono*)instance; | |
451 | self->do_work_mono(); | |
452 | return LV2_WORKER_SUCCESS; | |
453 | } | |
454 | ||
455 | static LV2_Worker_Status | |
456 | work_response(LV2_Handle instance, | |
457 | uint32_t size, | |
458 | const void* data) | |
459 | { | |
460 | printf("worker respose.\n"); | |
461 | return LV2_WORKER_SUCCESS; | |
462 | } | |
463 | ||
464 | ||
465 | static LV2_Handle | |
466 | instantiate(const LV2_Descriptor* descriptor, | |
467 | double rate, | |
468 | const char* bundle_path, | |
469 | const LV2_Feature* const* features) | |
470 | { | |
471 | ||
472 | GxPluginMono *self = new GxPluginMono(); | |
473 | if (!self) | |
474 | { | |
475 | return NULL; | |
476 | } | |
477 | ||
478 | const LV2_Options_Option* options = NULL; | |
479 | uint32_t bufsize = 0; | |
480 | //printf(" %s\n",descriptor->URI); | |
481 | ||
482 | for (int32_t i = 0; features[i]; ++i) | |
483 | { | |
484 | if (!strcmp(features[i]->URI, LV2_URID__map)) | |
485 | { | |
486 | self->map = (LV2_URID_Map*)features[i]->data; | |
487 | } | |
488 | else if (!strcmp(features[i]->URI, LV2_WORKER__schedule)) | |
489 | { | |
490 | self->schedule = (LV2_Worker_Schedule*)features[i]->data; | |
491 | } | |
492 | else if (!strcmp(features[i]->URI, LV2_OPTIONS__options)) | |
493 | { | |
494 | options = (const LV2_Options_Option*)features[i]->data; | |
495 | } | |
496 | } | |
497 | if (!self->schedule) | |
498 | { | |
499 | fprintf(stderr, "Missing feature work:schedule.\n"); | |
500 | delete self; | |
501 | return NULL; | |
502 | } | |
503 | if (!self->map) | |
504 | { | |
505 | fprintf(stderr, "Missing feature uri:map.\n"); | |
506 | } | |
507 | else if (!options) | |
508 | { | |
509 | fprintf(stderr, "Missing feature options.\n"); | |
510 | } | |
511 | else | |
512 | { | |
513 | LV2_URID bufsz_max = self->map->map(self->map->handle, LV2_BUF_SIZE__maxBlockLength); | |
514 | LV2_URID atom_Int = self->map->map(self->map->handle, LV2_ATOM__Int); | |
515 | ||
516 | for (const LV2_Options_Option* o = options; o->key; ++o) | |
517 | { | |
518 | if (o->context == LV2_OPTIONS_INSTANCE && | |
519 | o->key == bufsz_max && | |
520 | o->type == atom_Int) | |
521 | { | |
522 | bufsize = *(const int32_t*)o->value; | |
523 | } | |
524 | } | |
525 | ||
526 | if (bufsize == 0) | |
527 | { | |
528 | fprintf(stderr, "No maximum buffer size given.\n"); | |
529 | } | |
530 | printf("using block size: %d\n", bufsize); | |
531 | } | |
532 | self->set_tubesel_mono( descriptor); | |
533 | self->init_dsp_mono((uint32_t)rate, bufsize); | |
534 | ||
535 | return (LV2_Handle)self; | |
536 | } | |
537 | ||
538 | static void | |
539 | connect_port(LV2_Handle instance, | |
540 | uint32_t port, | |
541 | void* data) | |
542 | { | |
543 | GxPluginMono* self = (GxPluginMono*)instance; | |
544 | self->connect_all_mono_ports(port, data); | |
545 | } | |
546 | ||
547 | static void | |
548 | activate(LV2_Handle instance) | |
549 | { | |
550 | ||
551 | } | |
552 | ||
553 | static void | |
554 | run(LV2_Handle instance, uint32_t n_samples) | |
555 | { | |
556 | GxPluginMono* self = (GxPluginMono*)instance; | |
557 | self->run_dsp_mono(n_samples); | |
558 | } | |
559 | ||
560 | static void | |
561 | deactivate(LV2_Handle instance) | |
562 | { | |
563 | ||
564 | } | |
565 | ||
566 | static void | |
567 | cleanup(LV2_Handle instance) | |
568 | { | |
569 | GxPluginMono* self = (GxPluginMono*)instance; | |
570 | delete self; | |
571 | } | |
572 | ||
573 | ////////////////////////////////////////////////////////////////// | |
574 | ||
575 | const void* | |
576 | extension_data(const char* uri) | |
577 | { | |
578 | static const LV2_Worker_Interface worker = { work, work_response, NULL }; | |
579 | if (!strcmp(uri, LV2_WORKER__interface)) | |
580 | { | |
581 | return &worker; | |
582 | } | |
583 | return NULL; | |
584 | } | |
585 | ||
586 | static const LV2_Descriptor descriptor = | |
587 | { | |
588 | GXPLUGIN_URI "#12ax7", | |
589 | instantiate, | |
590 | connect_port, | |
591 | activate, | |
592 | run, | |
593 | deactivate, | |
594 | cleanup, | |
595 | extension_data | |
596 | }; | |
597 | ||
598 | static const LV2_Descriptor descriptor1 = | |
599 | { | |
600 | GXPLUGIN_URI "#12AT7", | |
601 | instantiate, | |
602 | connect_port, | |
603 | activate, | |
604 | run, | |
605 | deactivate, | |
606 | cleanup, | |
607 | extension_data | |
608 | }; | |
609 | static const LV2_Descriptor descriptor2 = | |
610 | { | |
611 | GXPLUGIN_URI "#6C16", | |
612 | instantiate, | |
613 | connect_port, | |
614 | activate, | |
615 | run, | |
616 | deactivate, | |
617 | cleanup, | |
618 | extension_data | |
619 | }; | |
620 | static const LV2_Descriptor descriptor3 = | |
621 | { | |
622 | GXPLUGIN_URI "#6V6", | |
623 | instantiate, | |
624 | connect_port, | |
625 | activate, | |
626 | run, | |
627 | deactivate, | |
628 | cleanup, | |
629 | extension_data | |
630 | }; | |
631 | static const LV2_Descriptor descriptor4 = | |
632 | { | |
633 | GXPLUGIN_URI "#6DJ8", | |
634 | instantiate, | |
635 | connect_port, | |
636 | activate, | |
637 | run, | |
638 | deactivate, | |
639 | cleanup, | |
640 | extension_data | |
641 | }; | |
642 | ||
643 | extern "C" | |
644 | LV2_SYMBOL_EXPORT | |
645 | const LV2_Descriptor* | |
646 | lv2_descriptor(uint32_t index) | |
647 | { | |
648 | switch (index) | |
649 | { | |
650 | case 0: | |
651 | return &descriptor; | |
652 | case 1: | |
653 | return &descriptor1; | |
654 | case 2: | |
655 | return &descriptor2; | |
656 | case 3: | |
657 | return &descriptor3; | |
658 | case 4: | |
659 | return &descriptor4; | |
660 | default: | |
661 | return NULL; | |
662 | } | |
663 | } |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | #pragma once | |
20 | ||
21 | #ifndef SRC_HEADERS_GXAMP_H_ | |
22 | #define SRC_HEADERS_GXAMP_H_ | |
23 | ||
24 | #include <lv2.h> | |
25 | #include <lv2/lv2plug.in/ns/ext/buf-size/buf-size.h> | |
26 | #include <lv2/lv2plug.in/ns/ext/options/options.h> | |
27 | #include <lv2/lv2plug.in/ns/ext/atom/atom.h> | |
28 | #include <lv2/lv2plug.in/ns/ext/log/log.h> | |
29 | #include <lv2/lv2plug.in/ns/ext/worker/worker.h> | |
30 | #include <lv2/lv2plug.in/ns/ext/urid/urid.h> | |
31 | ||
32 | #define GXPLUGIN_URI "http://guitarix.sourceforge.net/plugins/gxamp" | |
33 | #define GXPLUGIN_UI_URI "http://guitarix.sourceforge.net/plugins/gxamp#gui" | |
34 | ||
35 | ||
36 | typedef enum | |
37 | { | |
38 | AMP_MASTERGAIN = 0, | |
39 | AMP_PREGAIN, | |
40 | AMP_WET_DRY, | |
41 | AMP_DRIVE, | |
42 | MID, | |
43 | BASS, | |
44 | TREBLE, | |
45 | CLevel, | |
46 | ALevel, | |
47 | AMP_CONTROL, | |
48 | AMP_NOTIFY, | |
49 | AMP_OUTPUT, | |
50 | AMP_INPUT, | |
51 | AMP_OUTPUT1, | |
52 | AMP_INPUT1, | |
53 | } PortIndex; | |
54 | ||
55 | #endif //SRC_HEADERS_GXAMP_H_ |
0 | # | |
1 | # Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | # | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; either version 2 of the License, or | |
6 | # (at your option) any later version. | |
7 | # | |
8 | # This program is distributed in the hope that it will be useful, | |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
12 | # | |
13 | # You should have received a copy of the GNU General Public License | |
14 | # along with this program; if not, write to the Free Software | |
15 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | # -------------------------------------------------------------------------- | |
17 | # | |
18 | ||
19 | ||
20 | @prefix doap: <http://usefulinc.com/ns/doap#> . | |
21 | @prefix foaf: <http://xmlns.com/foaf/0.1/> . | |
22 | @prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |
23 | @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . | |
24 | @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | |
25 | @prefix bufsz: <http://lv2plug.in/ns/ext/buf-size#> . | |
26 | @prefix atom: <http://lv2plug.in/ns/ext/atom#> . | |
27 | @prefix urid: <http://lv2plug.in/ns/ext/urid#> . | |
28 | @prefix opt: <http://lv2plug.in/ns/ext/options#> . | |
29 | @prefix guiext: <http://lv2plug.in/ns/extensions/ui#>. | |
30 | @prefix work: <http://lv2plug.in/ns/ext/worker#> . | |
31 | ||
32 | <http://guitarix.sourceforge.net#me> | |
33 | a foaf:Person ; | |
34 | foaf:name "Hermann Meyer" ; | |
35 | foaf:mbox <mailto:brummer@web.de> ; | |
36 | rdfs:seeAlso <http://guitarix.sourceforge.net> . | |
37 | ||
38 | <http://guitarix.sourceforge.net/plugins/gxamp> | |
39 | a doap:Project ; | |
40 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
41 | doap:name "GxAmplifier" . | |
42 | ||
43 | <http://guitarix.sourceforge.net/plugins/gxamp#12ax7> | |
44 | a lv2:Plugin , | |
45 | lv2:AmplifierPlugin ; | |
46 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
47 | doap:name "GxAmplifier"; | |
48 | doap:license <http://opensource.org/licenses/isc> ; | |
49 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
50 | lv2:optionalFeature lv2:hardRTCapable ; | |
51 | lv2:requiredFeature urid:map , | |
52 | bufsz:boundedBlockLength , | |
53 | work:schedule ; | |
54 | bufsz:minBlockLength 64 ; | |
55 | bufsz:maxBlockLength 8192 ; | |
56 | lv2:extensionData work:interface ; | |
57 | ||
58 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
59 | ||
60 | lv2:port [ | |
61 | a lv2:InputPort , | |
62 | lv2:ControlPort ; | |
63 | lv2:index 0 ; | |
64 | lv2:symbol "fslider0_" ; | |
65 | lv2:name "MasterGain"; | |
66 | lv2:default -15.0 ; | |
67 | lv2:minimum -20.0 ; | |
68 | lv2:maximum 20.0 ; | |
69 | ] , [ | |
70 | a lv2:InputPort , | |
71 | lv2:ControlPort ; | |
72 | lv2:index 1 ; | |
73 | lv2:symbol "fslider1_" ; | |
74 | lv2:name "PreGain"; | |
75 | lv2:default -15.0 ; | |
76 | lv2:minimum -20.0 ; | |
77 | lv2:maximum 20.0 ; | |
78 | ] , [ | |
79 | a lv2:InputPort , | |
80 | lv2:ControlPort ; | |
81 | lv2:index 2 ; | |
82 | lv2:symbol "fslider2_" ; | |
83 | lv2:name "Distortion"; | |
84 | lv2:default 20.0 ; | |
85 | lv2:minimum 1.0 ; | |
86 | lv2:maximum 100.0 ; | |
87 | ] , [ | |
88 | a lv2:InputPort , | |
89 | lv2:ControlPort ; | |
90 | lv2:index 3 ; | |
91 | lv2:symbol "fslider3_" ; | |
92 | lv2:name "Drive"; | |
93 | lv2:default 0.25 ; | |
94 | lv2:minimum 0.01 ; | |
95 | lv2:maximum 1.0 ; | |
96 | ] ,[ | |
97 | a lv2:InputPort , | |
98 | lv2:ControlPort ; | |
99 | lv2:index 4 ; | |
100 | lv2:symbol "fslider0_" ; | |
101 | lv2:name "Middle"; | |
102 | lv2:default 0.5 ; | |
103 | lv2:minimum 0.0 ; | |
104 | lv2:maximum 1.0 ; | |
105 | ] , [ | |
106 | a lv2:InputPort , | |
107 | lv2:ControlPort ; | |
108 | lv2:index 5 ; | |
109 | lv2:symbol "fslider1_" ; | |
110 | lv2:name "Bass"; | |
111 | lv2:default 0.5 ; | |
112 | lv2:minimum 0.0 ; | |
113 | lv2:maximum 1.0 ; | |
114 | ] , [ | |
115 | a lv2:InputPort , | |
116 | lv2:ControlPort ; | |
117 | lv2:index 6 ; | |
118 | lv2:symbol "fslider2_" ; | |
119 | lv2:name "Treble"; | |
120 | lv2:default 0.5 ; | |
121 | lv2:minimum 0.0 ; | |
122 | lv2:maximum 1.0 ; | |
123 | ] , [ | |
124 | a lv2:InputPort , | |
125 | lv2:ControlPort ; | |
126 | lv2:index 7 ; | |
127 | lv2:symbol "fslider0_" ; | |
128 | lv2:name "Cabinet"; | |
129 | lv2:default 10.0 ; | |
130 | lv2:minimum 1.0 ; | |
131 | lv2:maximum 20.0 ; | |
132 | ] , [ | |
133 | a lv2:InputPort , | |
134 | lv2:ControlPort ; | |
135 | lv2:index 8 ; | |
136 | lv2:symbol "fslider0_" ; | |
137 | lv2:name "Presence"; | |
138 | lv2:default 10.0 ; | |
139 | lv2:minimum 1.0 ; | |
140 | lv2:maximum 20.0 ; | |
141 | ] , [ | |
142 | a lv2:InputPort , | |
143 | atom:AtomPort ; | |
144 | atom:bufferType atom:Sequence ; | |
145 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
146 | lv2:index 9 ; | |
147 | lv2:symbol "control" ; | |
148 | lv2:name "Control" | |
149 | ] , [ | |
150 | a lv2:OutputPort , | |
151 | atom:AtomPort ; | |
152 | atom:bufferType atom:Sequence ; | |
153 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
154 | lv2:index 10 ; | |
155 | lv2:symbol "notify" ; | |
156 | lv2:name "Notify" | |
157 | ] , [ | |
158 | a lv2:AudioPort , | |
159 | lv2:OutputPort ; | |
160 | lv2:index 11 ; | |
161 | lv2:symbol "out" ; | |
162 | lv2:name "Out" | |
163 | ] , [ | |
164 | a lv2:AudioPort , | |
165 | lv2:InputPort ; | |
166 | lv2:index 12 ; | |
167 | lv2:symbol "in" ; | |
168 | lv2:name "in" | |
169 | ]. | |
170 | ||
171 | <http://guitarix.sourceforge.net/plugins/gxamp#12AT7> | |
172 | a lv2:Plugin , | |
173 | lv2:AmplifierPlugin ; | |
174 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
175 | doap:name "GxAmplifier-II"; | |
176 | doap:license <http://opensource.org/licenses/isc> ; | |
177 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
178 | lv2:optionalFeature lv2:hardRTCapable ; | |
179 | lv2:requiredFeature urid:map , | |
180 | bufsz:boundedBlockLength , | |
181 | work:schedule ; | |
182 | bufsz:minBlockLength 64 ; | |
183 | bufsz:maxBlockLength 8192 ; | |
184 | lv2:extensionData work:interface ; | |
185 | ||
186 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
187 | ||
188 | lv2:port [ | |
189 | a lv2:InputPort , | |
190 | lv2:ControlPort ; | |
191 | lv2:index 0 ; | |
192 | lv2:symbol "fslider0_" ; | |
193 | lv2:name "MasterGain"; | |
194 | lv2:default -15.0 ; | |
195 | lv2:minimum -20.0 ; | |
196 | lv2:maximum 20.0 ; | |
197 | ] , [ | |
198 | a lv2:InputPort , | |
199 | lv2:ControlPort ; | |
200 | lv2:index 1 ; | |
201 | lv2:symbol "fslider1_" ; | |
202 | lv2:name "PreGain"; | |
203 | lv2:default -15.0 ; | |
204 | lv2:minimum -20.0 ; | |
205 | lv2:maximum 20.0 ; | |
206 | ] , [ | |
207 | a lv2:InputPort , | |
208 | lv2:ControlPort ; | |
209 | lv2:index 2 ; | |
210 | lv2:symbol "fslider2_" ; | |
211 | lv2:name "Distortion"; | |
212 | lv2:default 20.0 ; | |
213 | lv2:minimum 1.0 ; | |
214 | lv2:maximum 100.0 ; | |
215 | ] , [ | |
216 | a lv2:InputPort , | |
217 | lv2:ControlPort ; | |
218 | lv2:index 3 ; | |
219 | lv2:symbol "fslider3_" ; | |
220 | lv2:name "Drive"; | |
221 | lv2:default 0.25 ; | |
222 | lv2:minimum 0.01 ; | |
223 | lv2:maximum 1.0 ; | |
224 | ] ,[ | |
225 | a lv2:InputPort , | |
226 | lv2:ControlPort ; | |
227 | lv2:index 4 ; | |
228 | lv2:symbol "fslider0_" ; | |
229 | lv2:name "Middle"; | |
230 | lv2:default 0.5 ; | |
231 | lv2:minimum 0.0 ; | |
232 | lv2:maximum 1.0 ; | |
233 | ] , [ | |
234 | a lv2:InputPort , | |
235 | lv2:ControlPort ; | |
236 | lv2:index 5 ; | |
237 | lv2:symbol "fslider1_" ; | |
238 | lv2:name "Bass"; | |
239 | lv2:default 0.5 ; | |
240 | lv2:minimum 0.0 ; | |
241 | lv2:maximum 1.0 ; | |
242 | ] , [ | |
243 | a lv2:InputPort , | |
244 | lv2:ControlPort ; | |
245 | lv2:index 6 ; | |
246 | lv2:symbol "fslider2_" ; | |
247 | lv2:name "Treble"; | |
248 | lv2:default 0.5 ; | |
249 | lv2:minimum 0.0 ; | |
250 | lv2:maximum 1.0 ; | |
251 | ] , [ | |
252 | a lv2:InputPort , | |
253 | lv2:ControlPort ; | |
254 | lv2:index 7 ; | |
255 | lv2:symbol "fslider0_" ; | |
256 | lv2:name "Cabinet"; | |
257 | lv2:default 10.0 ; | |
258 | lv2:minimum 1.0 ; | |
259 | lv2:maximum 20.0 ; | |
260 | ] , [ | |
261 | a lv2:InputPort , | |
262 | lv2:ControlPort ; | |
263 | lv2:index 8 ; | |
264 | lv2:symbol "fslider0_" ; | |
265 | lv2:name "Presence"; | |
266 | lv2:default 10.0 ; | |
267 | lv2:minimum 1.0 ; | |
268 | lv2:maximum 20.0 ; | |
269 | ] , [ | |
270 | a lv2:InputPort , | |
271 | atom:AtomPort ; | |
272 | atom:bufferType atom:Sequence ; | |
273 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
274 | lv2:index 9 ; | |
275 | lv2:symbol "control" ; | |
276 | lv2:name "Control" | |
277 | ] , [ | |
278 | a lv2:OutputPort , | |
279 | atom:AtomPort ; | |
280 | atom:bufferType atom:Sequence ; | |
281 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
282 | lv2:index 10 ; | |
283 | lv2:symbol "notify" ; | |
284 | lv2:name "Notify" | |
285 | ] , [ | |
286 | a lv2:AudioPort , | |
287 | lv2:OutputPort ; | |
288 | lv2:index 11 ; | |
289 | lv2:symbol "out" ; | |
290 | lv2:name "Out" | |
291 | ] , [ | |
292 | a lv2:AudioPort , | |
293 | lv2:InputPort ; | |
294 | lv2:index 12 ; | |
295 | lv2:symbol "in" ; | |
296 | lv2:name "in" | |
297 | ]. | |
298 | ||
299 | <http://guitarix.sourceforge.net/plugins/gxamp#6C16> | |
300 | a lv2:Plugin , | |
301 | lv2:AmplifierPlugin ; | |
302 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
303 | doap:name "GxAmplifier-III"; | |
304 | doap:license <http://opensource.org/licenses/isc> ; | |
305 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
306 | lv2:optionalFeature lv2:hardRTCapable ; | |
307 | lv2:requiredFeature urid:map , | |
308 | bufsz:boundedBlockLength , | |
309 | work:schedule ; | |
310 | bufsz:minBlockLength 64 ; | |
311 | bufsz:maxBlockLength 8192 ; | |
312 | lv2:extensionData work:interface ; | |
313 | ||
314 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
315 | ||
316 | lv2:port [ | |
317 | a lv2:InputPort , | |
318 | lv2:ControlPort ; | |
319 | lv2:index 0 ; | |
320 | lv2:symbol "fslider0_" ; | |
321 | lv2:name "MasterGain"; | |
322 | lv2:default -15.0 ; | |
323 | lv2:minimum -20.0 ; | |
324 | lv2:maximum 20.0 ; | |
325 | ] , [ | |
326 | a lv2:InputPort , | |
327 | lv2:ControlPort ; | |
328 | lv2:index 1 ; | |
329 | lv2:symbol "fslider1_" ; | |
330 | lv2:name "PreGain"; | |
331 | lv2:default -15.0 ; | |
332 | lv2:minimum -20.0 ; | |
333 | lv2:maximum 20.0 ; | |
334 | ] , [ | |
335 | a lv2:InputPort , | |
336 | lv2:ControlPort ; | |
337 | lv2:index 2 ; | |
338 | lv2:symbol "fslider2_" ; | |
339 | lv2:name "Distortion"; | |
340 | lv2:default 20.0 ; | |
341 | lv2:minimum 1.0 ; | |
342 | lv2:maximum 100.0 ; | |
343 | ] , [ | |
344 | a lv2:InputPort , | |
345 | lv2:ControlPort ; | |
346 | lv2:index 3 ; | |
347 | lv2:symbol "fslider3_" ; | |
348 | lv2:name "Drive"; | |
349 | lv2:default 0.25 ; | |
350 | lv2:minimum 0.01 ; | |
351 | lv2:maximum 1.0 ; | |
352 | ] ,[ | |
353 | a lv2:InputPort , | |
354 | lv2:ControlPort ; | |
355 | lv2:index 4 ; | |
356 | lv2:symbol "fslider0_" ; | |
357 | lv2:name "Middle"; | |
358 | lv2:default 0.5 ; | |
359 | lv2:minimum 0.0 ; | |
360 | lv2:maximum 1.0 ; | |
361 | ] , [ | |
362 | a lv2:InputPort , | |
363 | lv2:ControlPort ; | |
364 | lv2:index 5 ; | |
365 | lv2:symbol "fslider1_" ; | |
366 | lv2:name "Bass"; | |
367 | lv2:default 0.5 ; | |
368 | lv2:minimum 0.0 ; | |
369 | lv2:maximum 1.0 ; | |
370 | ] , [ | |
371 | a lv2:InputPort , | |
372 | lv2:ControlPort ; | |
373 | lv2:index 6 ; | |
374 | lv2:symbol "fslider2_" ; | |
375 | lv2:name "Treble"; | |
376 | lv2:default 0.5 ; | |
377 | lv2:minimum 0.0 ; | |
378 | lv2:maximum 1.0 ; | |
379 | ] , [ | |
380 | a lv2:InputPort , | |
381 | lv2:ControlPort ; | |
382 | lv2:index 7 ; | |
383 | lv2:symbol "fslider0_" ; | |
384 | lv2:name "Cabinet"; | |
385 | lv2:default 10.0 ; | |
386 | lv2:minimum 1.0 ; | |
387 | lv2:maximum 20.0 ; | |
388 | ] , [ | |
389 | a lv2:InputPort , | |
390 | lv2:ControlPort ; | |
391 | lv2:index 8 ; | |
392 | lv2:symbol "fslider0_" ; | |
393 | lv2:name "Presence"; | |
394 | lv2:default 10.0 ; | |
395 | lv2:minimum 1.0 ; | |
396 | lv2:maximum 20.0 ; | |
397 | ] , [ | |
398 | a lv2:InputPort , | |
399 | atom:AtomPort ; | |
400 | atom:bufferType atom:Sequence ; | |
401 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
402 | lv2:index 9 ; | |
403 | lv2:symbol "control" ; | |
404 | lv2:name "Control" | |
405 | ] , [ | |
406 | a lv2:OutputPort , | |
407 | atom:AtomPort ; | |
408 | atom:bufferType atom:Sequence ; | |
409 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
410 | lv2:index 10 ; | |
411 | lv2:symbol "notify" ; | |
412 | lv2:name "Notify" | |
413 | ] , [ | |
414 | a lv2:AudioPort , | |
415 | lv2:OutputPort ; | |
416 | lv2:index 11 ; | |
417 | lv2:symbol "out" ; | |
418 | lv2:name "Out" | |
419 | ] , [ | |
420 | a lv2:AudioPort , | |
421 | lv2:InputPort ; | |
422 | lv2:index 12 ; | |
423 | lv2:symbol "in" ; | |
424 | lv2:name "in" | |
425 | ]. | |
426 | ||
427 | <http://guitarix.sourceforge.net/plugins/gxamp#6V6> | |
428 | a lv2:Plugin , | |
429 | lv2:AmplifierPlugin ; | |
430 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
431 | doap:name "GxAmplifier-IV"; | |
432 | doap:license <http://opensource.org/licenses/isc> ; | |
433 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
434 | lv2:optionalFeature lv2:hardRTCapable ; | |
435 | lv2:requiredFeature urid:map , | |
436 | bufsz:boundedBlockLength , | |
437 | work:schedule ; | |
438 | bufsz:minBlockLength 64 ; | |
439 | bufsz:maxBlockLength 8192 ; | |
440 | lv2:extensionData work:interface ; | |
441 | ||
442 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
443 | ||
444 | lv2:port [ | |
445 | a lv2:InputPort , | |
446 | lv2:ControlPort ; | |
447 | lv2:index 0 ; | |
448 | lv2:symbol "fslider0_" ; | |
449 | lv2:name "MasterGain"; | |
450 | lv2:default -15.0 ; | |
451 | lv2:minimum -20.0 ; | |
452 | lv2:maximum 20.0 ; | |
453 | ] , [ | |
454 | a lv2:InputPort , | |
455 | lv2:ControlPort ; | |
456 | lv2:index 1 ; | |
457 | lv2:symbol "fslider1_" ; | |
458 | lv2:name "PreGain"; | |
459 | lv2:default -15.0 ; | |
460 | lv2:minimum -20.0 ; | |
461 | lv2:maximum 20.0 ; | |
462 | ] , [ | |
463 | a lv2:InputPort , | |
464 | lv2:ControlPort ; | |
465 | lv2:index 2 ; | |
466 | lv2:symbol "fslider2_" ; | |
467 | lv2:name "Distortion"; | |
468 | lv2:default 20.0 ; | |
469 | lv2:minimum 1.0 ; | |
470 | lv2:maximum 100.0 ; | |
471 | ] , [ | |
472 | a lv2:InputPort , | |
473 | lv2:ControlPort ; | |
474 | lv2:index 3 ; | |
475 | lv2:symbol "fslider3_" ; | |
476 | lv2:name "Drive"; | |
477 | lv2:default 0.25 ; | |
478 | lv2:minimum 0.01 ; | |
479 | lv2:maximum 1.0 ; | |
480 | ] ,[ | |
481 | a lv2:InputPort , | |
482 | lv2:ControlPort ; | |
483 | lv2:index 4 ; | |
484 | lv2:symbol "fslider0_" ; | |
485 | lv2:name "Middle"; | |
486 | lv2:default 0.5 ; | |
487 | lv2:minimum 0.0 ; | |
488 | lv2:maximum 1.0 ; | |
489 | ] , [ | |
490 | a lv2:InputPort , | |
491 | lv2:ControlPort ; | |
492 | lv2:index 5 ; | |
493 | lv2:symbol "fslider1_" ; | |
494 | lv2:name "Bass"; | |
495 | lv2:default 0.5 ; | |
496 | lv2:minimum 0.0 ; | |
497 | lv2:maximum 1.0 ; | |
498 | ] , [ | |
499 | a lv2:InputPort , | |
500 | lv2:ControlPort ; | |
501 | lv2:index 6 ; | |
502 | lv2:symbol "fslider2_" ; | |
503 | lv2:name "Treble"; | |
504 | lv2:default 0.5 ; | |
505 | lv2:minimum 0.0 ; | |
506 | lv2:maximum 1.0 ; | |
507 | ] , [ | |
508 | a lv2:InputPort , | |
509 | lv2:ControlPort ; | |
510 | lv2:index 7 ; | |
511 | lv2:symbol "fslider0_" ; | |
512 | lv2:name "Cabinet"; | |
513 | lv2:default 10.0 ; | |
514 | lv2:minimum 1.0 ; | |
515 | lv2:maximum 20.0 ; | |
516 | ] , [ | |
517 | a lv2:InputPort , | |
518 | lv2:ControlPort ; | |
519 | lv2:index 8 ; | |
520 | lv2:symbol "fslider0_" ; | |
521 | lv2:name "Presence"; | |
522 | lv2:default 10.0 ; | |
523 | lv2:minimum 1.0 ; | |
524 | lv2:maximum 20.0 ; | |
525 | ] , [ | |
526 | a lv2:InputPort , | |
527 | atom:AtomPort ; | |
528 | atom:bufferType atom:Sequence ; | |
529 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
530 | lv2:index 9 ; | |
531 | lv2:symbol "control" ; | |
532 | lv2:name "Control" | |
533 | ] , [ | |
534 | a lv2:OutputPort , | |
535 | atom:AtomPort ; | |
536 | atom:bufferType atom:Sequence ; | |
537 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
538 | lv2:index 10 ; | |
539 | lv2:symbol "notify" ; | |
540 | lv2:name "Notify" | |
541 | ] , [ | |
542 | a lv2:AudioPort , | |
543 | lv2:OutputPort ; | |
544 | lv2:index 11 ; | |
545 | lv2:symbol "out" ; | |
546 | lv2:name "Out" | |
547 | ] , [ | |
548 | a lv2:AudioPort , | |
549 | lv2:InputPort ; | |
550 | lv2:index 12 ; | |
551 | lv2:symbol "in" ; | |
552 | lv2:name "in" | |
553 | ]. | |
554 | ||
555 | <http://guitarix.sourceforge.net/plugins/gxamp#6DJ8> | |
556 | a lv2:Plugin , | |
557 | lv2:AmplifierPlugin ; | |
558 | doap:maintainer <http://guitarix.sourceforge.net#me> ; | |
559 | doap:name "GxAmplifier-V"; | |
560 | doap:license <http://opensource.org/licenses/isc> ; | |
561 | lv2:project <http://guitarix.sourceforge.net/plugins/gxamp> ; | |
562 | lv2:optionalFeature lv2:hardRTCapable ; | |
563 | lv2:requiredFeature urid:map , | |
564 | bufsz:boundedBlockLength , | |
565 | work:schedule ; | |
566 | bufsz:minBlockLength 64 ; | |
567 | bufsz:maxBlockLength 8192 ; | |
568 | lv2:extensionData work:interface ; | |
569 | ||
570 | guiext:ui <http://guitarix.sourceforge.net/plugins/gxamp#gui>; | |
571 | ||
572 | lv2:port [ | |
573 | a lv2:InputPort , | |
574 | lv2:ControlPort ; | |
575 | lv2:index 0 ; | |
576 | lv2:symbol "fslider0_" ; | |
577 | lv2:name "MasterGain"; | |
578 | lv2:default -15.0 ; | |
579 | lv2:minimum -20.0 ; | |
580 | lv2:maximum 20.0 ; | |
581 | ] , [ | |
582 | a lv2:InputPort , | |
583 | lv2:ControlPort ; | |
584 | lv2:index 1 ; | |
585 | lv2:symbol "fslider1_" ; | |
586 | lv2:name "PreGain"; | |
587 | lv2:default -15.0 ; | |
588 | lv2:minimum -20.0 ; | |
589 | lv2:maximum 20.0 ; | |
590 | ] , [ | |
591 | a lv2:InputPort , | |
592 | lv2:ControlPort ; | |
593 | lv2:index 2 ; | |
594 | lv2:symbol "fslider2_" ; | |
595 | lv2:name "Distortion"; | |
596 | lv2:default 20.0 ; | |
597 | lv2:minimum 1.0 ; | |
598 | lv2:maximum 100.0 ; | |
599 | ] , [ | |
600 | a lv2:InputPort , | |
601 | lv2:ControlPort ; | |
602 | lv2:index 3 ; | |
603 | lv2:symbol "fslider3_" ; | |
604 | lv2:name "Drive"; | |
605 | lv2:default 0.25 ; | |
606 | lv2:minimum 0.01 ; | |
607 | lv2:maximum 1.0 ; | |
608 | ] ,[ | |
609 | a lv2:InputPort , | |
610 | lv2:ControlPort ; | |
611 | lv2:index 4 ; | |
612 | lv2:symbol "fslider0_" ; | |
613 | lv2:name "Middle"; | |
614 | lv2:default 0.5 ; | |
615 | lv2:minimum 0.0 ; | |
616 | lv2:maximum 1.0 ; | |
617 | ] , [ | |
618 | a lv2:InputPort , | |
619 | lv2:ControlPort ; | |
620 | lv2:index 5 ; | |
621 | lv2:symbol "fslider1_" ; | |
622 | lv2:name "Bass"; | |
623 | lv2:default 0.5 ; | |
624 | lv2:minimum 0.0 ; | |
625 | lv2:maximum 1.0 ; | |
626 | ] , [ | |
627 | a lv2:InputPort , | |
628 | lv2:ControlPort ; | |
629 | lv2:index 6 ; | |
630 | lv2:symbol "fslider2_" ; | |
631 | lv2:name "Treble"; | |
632 | lv2:default 0.5 ; | |
633 | lv2:minimum 0.0 ; | |
634 | lv2:maximum 1.0 ; | |
635 | ] , [ | |
636 | a lv2:InputPort , | |
637 | lv2:ControlPort ; | |
638 | lv2:index 7 ; | |
639 | lv2:symbol "fslider0_" ; | |
640 | lv2:name "Cabinet"; | |
641 | lv2:default 10.0 ; | |
642 | lv2:minimum 1.0 ; | |
643 | lv2:maximum 20.0 ; | |
644 | ] , [ | |
645 | a lv2:InputPort , | |
646 | lv2:ControlPort ; | |
647 | lv2:index 8 ; | |
648 | lv2:symbol "fslider0_" ; | |
649 | lv2:name "Presence"; | |
650 | lv2:default 10.0 ; | |
651 | lv2:minimum 1.0 ; | |
652 | lv2:maximum 20.0 ; | |
653 | ] , [ | |
654 | a lv2:InputPort , | |
655 | atom:AtomPort ; | |
656 | atom:bufferType atom:Sequence ; | |
657 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
658 | lv2:index 9 ; | |
659 | lv2:symbol "control" ; | |
660 | lv2:name "Control" | |
661 | ] , [ | |
662 | a lv2:OutputPort , | |
663 | atom:AtomPort ; | |
664 | atom:bufferType atom:Sequence ; | |
665 | atom:supports <http://lv2plug.in/ns/ext/patch#Message> ; | |
666 | lv2:index 10 ; | |
667 | lv2:symbol "notify" ; | |
668 | lv2:name "Notify" | |
669 | ] , [ | |
670 | a lv2:AudioPort , | |
671 | lv2:OutputPort ; | |
672 | lv2:index 11 ; | |
673 | lv2:symbol "out" ; | |
674 | lv2:name "Out" | |
675 | ] , [ | |
676 | a lv2:AudioPort , | |
677 | lv2:InputPort ; | |
678 | lv2:index 12 ; | |
679 | lv2:symbol "in" ; | |
680 | lv2:name "in" | |
681 | ]. | |
682 | ||
683 | <http://guitarix.sourceforge.net/plugins/gxamp#gui> | |
684 | a guiext:GtkUI; | |
685 | guiext:binary <gxamp_gui.so>; | |
686 | guiext:requiredFeature guiext:makeResident; | |
687 | lv2:extensionData work:interface ; | |
688 | guiext:portNotification [ | |
689 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#12ax7>; | |
690 | lv2:symbol "notify" ; | |
691 | guiext:notifyType atom:Blank | |
692 | ] , [ | |
693 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#12AT7>; | |
694 | lv2:symbol "notify" ; | |
695 | guiext:notifyType atom:Blank | |
696 | ] , [ | |
697 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#6C16>; | |
698 | lv2:symbol "notify" ; | |
699 | guiext:notifyType atom:Blank | |
700 | ] , [ | |
701 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#6V6>; | |
702 | lv2:symbol "notify" ; | |
703 | guiext:notifyType atom:Blank | |
704 | ] , [ | |
705 | guiext:plugin <http://guitarix.sourceforge.net/plugins/gxamp#6DJ8>; | |
706 | lv2:symbol "notify" ; | |
707 | guiext:notifyType atom:Blank | |
708 | ] . |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | #include <string> | |
21 | #include <iostream> | |
22 | ||
23 | #include <gtkmm.h> | |
24 | #include "gxamp.h" | |
25 | #include "widget.h" | |
26 | ||
27 | ||
28 | #include <lv2.h> | |
29 | #include <lv2/lv2plug.in/ns/extensions/ui/ui.h> | |
30 | ||
31 | using namespace std; | |
32 | ||
33 | class GXPluginGUI | |
34 | { | |
35 | private: | |
36 | Glib::ustring plugskin; | |
37 | Glib::ustring addKnob; | |
38 | Glib::ustring plug_name; | |
39 | void set_knob(Glib::ustring knob); | |
40 | void set_skin(); | |
41 | void set_plug_name(const char * plugin_uri); | |
42 | GtkWidget* make_gui(); | |
43 | public: | |
44 | ||
45 | Widget* widget; | |
46 | static void set_plug_name_static(GXPluginGUI *self, const char * plugin_uri) | |
47 | { | |
48 | self->set_plug_name(plugin_uri); | |
49 | } | |
50 | static GtkWidget* make_gui_static(GXPluginGUI *self) | |
51 | { | |
52 | return self->make_gui(); | |
53 | } | |
54 | ||
55 | GXPluginGUI () {}; | |
56 | ~GXPluginGUI () {}; | |
57 | } ; | |
58 | ||
59 | void GXPluginGUI::set_knob( Glib::ustring knob) | |
60 | { | |
61 | addKnob = " style 'gx_"; | |
62 | addKnob += plug_name; | |
63 | addKnob += "_dark_skin_icons'\n" | |
64 | " { \n" | |
65 | " stock['bigknob'] = {{'"; | |
66 | addKnob += knob; | |
67 | addKnob += ".png'}}\n" | |
68 | " stock['smallknob'] = {{'"; | |
69 | addKnob += knob; | |
70 | addKnob += "-small.png'}}\n" | |
71 | " stock['smallknobr'] = {{'"; | |
72 | addKnob += knob; | |
73 | addKnob += "-middle.png'}}\n" | |
74 | " }\n" | |
75 | "widget '*."; | |
76 | addKnob += plug_name; | |
77 | addKnob += "' style 'gx_"; | |
78 | addKnob += plug_name; | |
79 | addKnob += "_dark_skin_icons' "; | |
80 | } | |
81 | ||
82 | void GXPluginGUI::set_skin() | |
83 | { | |
84 | Glib::ustring toparse = "pixmap_path "; | |
85 | toparse += " '"; | |
86 | toparse += GX_STYLE_DIR; | |
87 | toparse += "/'\n"; | |
88 | toparse += "style \"gx_"; | |
89 | toparse += plug_name; | |
90 | toparse += "_dark-paintbox\"\n" | |
91 | " { \n" | |
92 | " GxPaintBox::icon-set =9\n" | |
93 | " stock['amp_skin'] = {{'"; | |
94 | toparse += plugskin; | |
95 | toparse += "'}}\n" | |
96 | " }\n" | |
97 | "\n" | |
98 | "style 'gx_head_black_box' \n" | |
99 | " { \n" | |
100 | " fg[NORMAL] = '#afafaf' \n" | |
101 | " }\n"; | |
102 | toparse += addKnob; | |
103 | ||
104 | toparse += " widget '*.amplabel' style:highest 'gx_head_black_box'\n" | |
105 | "widget '*."; | |
106 | toparse += plug_name; | |
107 | toparse += "' style 'gx_"; | |
108 | toparse += plug_name; | |
109 | toparse += "_dark-paintbox' "; | |
110 | ||
111 | gtk_rc_parse_string (toparse.c_str()); | |
112 | } | |
113 | ||
114 | void GXPluginGUI::set_plug_name( const char * plugin_uri) | |
115 | { | |
116 | addKnob = ""; | |
117 | ||
118 | if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#12ax7", plugin_uri) == 0) | |
119 | { | |
120 | plugskin = "amp21.png"; | |
121 | plug_name = "12ax7"; | |
122 | } | |
123 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#12AT7", plugin_uri) == 0) | |
124 | { | |
125 | plugskin = "amp22.png"; | |
126 | plug_name = "12AT7"; | |
127 | set_knob("metalic1-knob"); | |
128 | } | |
129 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6C16", plugin_uri) == 0) | |
130 | { | |
131 | plugskin = "amp23.png"; | |
132 | plug_name = "6C16"; | |
133 | } | |
134 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6V6", plugin_uri) == 0) | |
135 | { | |
136 | plugskin = "amp24.png"; | |
137 | plug_name = "6V6"; | |
138 | set_knob("knob"); | |
139 | } | |
140 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6DJ8", plugin_uri) == 0) | |
141 | { | |
142 | plugskin = "amp25.png"; | |
143 | plug_name = "6DJ8"; | |
144 | set_knob("black-knob"); | |
145 | } | |
146 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#12ax7_stereo", plugin_uri) == 0) | |
147 | { | |
148 | plugskin = "amp21.png"; | |
149 | plug_name = "12ax7_stereo"; | |
150 | } | |
151 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#12AT7_stereo", plugin_uri) == 0) | |
152 | { | |
153 | plugskin = "amp22.png"; | |
154 | plug_name = "12AT7_stereo"; | |
155 | set_knob("metalic1-knob"); | |
156 | } | |
157 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6C16_stereo", plugin_uri) == 0) | |
158 | { | |
159 | plugskin = "amp23.png"; | |
160 | plug_name = "6C16_stereo"; | |
161 | } | |
162 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6V6_stereo", plugin_uri) == 0) | |
163 | { | |
164 | plugskin = "amp24.png"; | |
165 | plug_name = "6V6_stereo"; | |
166 | set_knob("knob"); | |
167 | } | |
168 | else if (strcmp("http://guitarix.sourceforge.net/plugins/gxamp#6DJ8_stereo", plugin_uri) == 0) | |
169 | { | |
170 | plugskin = "amp25.png"; | |
171 | plug_name = "6DJ8_stereo"; | |
172 | set_knob("black-knob"); | |
173 | } | |
174 | else | |
175 | { | |
176 | plugskin = "amp21.png"; | |
177 | plug_name = "12ax7"; | |
178 | } | |
179 | } | |
180 | ||
181 | GtkWidget* GXPluginGUI::make_gui() | |
182 | { | |
183 | // init the gxwmm library | |
184 | Gxw::init(); | |
185 | set_skin(); | |
186 | GtkWidget* container = gtk_vbox_new(FALSE, 2); | |
187 | widget = new Widget(plug_name); | |
188 | GtkWidget* cWidget = (GtkWidget*)widget->gobj(); | |
189 | gtk_container_add( (GtkContainer*)container, cWidget ); | |
190 | ||
191 | return container; | |
192 | } | |
193 | ||
194 | ||
195 | static LV2UI_Handle instantiate(const struct _LV2UI_Descriptor * descriptor, | |
196 | const char * plugin_uri, | |
197 | const char * bundle_path, | |
198 | LV2UI_Write_Function write_function, | |
199 | LV2UI_Controller controller, | |
200 | LV2UI_Widget * widget, | |
201 | const LV2_Feature * const * features) | |
202 | { | |
203 | GXPluginGUI* self = new GXPluginGUI(); | |
204 | if (self == NULL) return NULL; | |
205 | self->set_plug_name_static(self, plugin_uri); | |
206 | *widget = (LV2UI_Widget)self->make_gui_static(self); | |
207 | self->widget->controller = controller; | |
208 | self->widget->write_function = write_function; | |
209 | return (LV2UI_Handle)self; | |
210 | } | |
211 | ||
212 | static void cleanup(LV2UI_Handle ui) | |
213 | { | |
214 | GXPluginGUI *pluginGui = (GXPluginGUI *) ui; | |
215 | delete pluginGui->widget; | |
216 | delete pluginGui; | |
217 | } | |
218 | ||
219 | static void port_event(LV2UI_Handle ui, | |
220 | uint32_t port_index, | |
221 | uint32_t buffer_size, | |
222 | uint32_t format, | |
223 | const void * buffer) | |
224 | { | |
225 | GXPluginGUI *self = (GXPluginGUI *) ui; | |
226 | self->widget->set_value_static( port_index, buffer_size, format, buffer, self->widget); | |
227 | return; | |
228 | } | |
229 | ||
230 | static LV2UI_Descriptor descriptors[] = | |
231 | { | |
232 | {GXPLUGIN_UI_URI, instantiate, cleanup, port_event, NULL} | |
233 | }; | |
234 | ||
235 | const LV2UI_Descriptor * lv2ui_descriptor(uint32_t index) | |
236 | { | |
237 | //printf("lv2ui_descriptor(%u) called\n", (uint32_t)index); | |
238 | if (index >= sizeof(descriptors) / sizeof(descriptors[0])) | |
239 | { | |
240 | return NULL; | |
241 | } | |
242 | return descriptors + index; | |
243 | } | |
244 |
0 | # | |
1 | # Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | # | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; either version 2 of the License, or | |
6 | # (at your option) any later version. | |
7 | # | |
8 | # This program is distributed in the hope that it will be useful, | |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
12 | # | |
13 | # You should have received a copy of the GNU General Public License | |
14 | # along with this program; if not, write to the Free Software | |
15 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | # -------------------------------------------------------------------------- | |
17 | # | |
18 | ||
19 | @prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |
20 | @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | |
21 | ||
22 | <http://guitarix.sourceforge.net/plugins/gxamp#12ax7> | |
23 | a lv2:Plugin ; | |
24 | lv2:binary <gxamp@LIB_EXT@> ; | |
25 | rdfs:seeAlso <gxamp.ttl> . | |
26 | ||
27 | <http://guitarix.sourceforge.net/plugins/gxamp#12AT7> | |
28 | a lv2:Plugin ; | |
29 | lv2:binary <gxamp@LIB_EXT@> ; | |
30 | rdfs:seeAlso <gxamp.ttl> . | |
31 | ||
32 | <http://guitarix.sourceforge.net/plugins/gxamp#6C16> | |
33 | a lv2:Plugin ; | |
34 | lv2:binary <gxamp@LIB_EXT@> ; | |
35 | rdfs:seeAlso <gxamp.ttl> . | |
36 | ||
37 | <http://guitarix.sourceforge.net/plugins/gxamp#6V6> | |
38 | a lv2:Plugin ; | |
39 | lv2:binary <gxamp@LIB_EXT@> ; | |
40 | rdfs:seeAlso <gxamp.ttl> . | |
41 | ||
42 | <http://guitarix.sourceforge.net/plugins/gxamp#6DJ8> | |
43 | a lv2:Plugin ; | |
44 | lv2:binary <gxamp@LIB_EXT@> ; | |
45 | rdfs:seeAlso <gxamp.ttl> . |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | ||
20 | #include "widget.h" | |
21 | ||
22 | #include <iostream> | |
23 | ||
24 | Widget::Widget(Glib::ustring plug_name) | |
25 | { | |
26 | // init values set by host | |
27 | /*mastergain = -15.0; | |
28 | pregain = -15.0; | |
29 | wet_dry = 20.0; | |
30 | drive = 0.25; | |
31 | mid = 0.5; | |
32 | bass = 0.5; | |
33 | treble = 0.5; | |
34 | clevel = 1.0; | |
35 | alevel = 1.0;*/ | |
36 | ||
37 | ||
38 | ||
39 | // set propertys for the main paintbox holding the skin | |
40 | m_paintbox.set_border_width(30); | |
41 | m_paintbox.set_spacing(12); | |
42 | m_paintbox.set_homogeneous(false); | |
43 | m_paintbox.set_name(plug_name); | |
44 | m_paintbox.property_paint_func() = "amp_skin_expose"; | |
45 | add(m_paintbox); | |
46 | // box for the controllers | |
47 | m_hbox_.set_spacing(12); | |
48 | m_hbox_.set_homogeneous(false); | |
49 | // this box set space for the upper part of the skin | |
50 | m_hbox1_.set_spacing(12); | |
51 | m_hbox1_.set_border_width(65); | |
52 | // set a vertical box in the paintbox | |
53 | m_paintbox.pack_start(m_vbox_); | |
54 | // and put space box on top | |
55 | m_vbox_.pack_start(m_hbox1_, Gtk::PACK_EXPAND_PADDING); | |
56 | // and controller box on bottem | |
57 | m_vbox_.pack_start(m_hbox_,Gtk::PACK_SHRINK); | |
58 | ||
59 | // create all controllers | |
60 | make_controller_box(&m_vbox, &m_bigknob, "mastergain", -20, 20, 0.1, mastergain, plug_name); | |
61 | m_bigknob.signal_value_changed().connect(sigc::mem_fun(*this, | |
62 | &Widget::on_knob_value_changed)); | |
63 | ||
64 | make_controller_box(&m_vbox1, &m_bigknob1, "pregain", -20, 20, 0.1, pregain, plug_name); | |
65 | m_bigknob1.signal_value_changed().connect(sigc::mem_fun(*this, | |
66 | &Widget::on_knob1_value_changed)); | |
67 | ||
68 | make_controller_box(&m_vbox2, &m_bigknob2, "distortion", 1, 100, 1, wet_dry, plug_name); | |
69 | m_bigknob2.signal_value_changed().connect(sigc::mem_fun(*this, | |
70 | &Widget::on_knob2_value_changed)); | |
71 | ||
72 | make_controller_box(&m_vbox3, &m_bigknob3, "drive", 0.01, 1, 0.01, drive, plug_name); | |
73 | m_bigknob3.signal_value_changed().connect(sigc::mem_fun(*this, | |
74 | &Widget::on_knob3_value_changed)); | |
75 | ||
76 | make_controller_box(&m_vbox4, &m_smallknob1, "mid", 0, 1, 0.01, mid, plug_name); | |
77 | m_smallknob1.signal_value_changed().connect(sigc::mem_fun(*this, | |
78 | &Widget::on_knob4_value_changed)); | |
79 | ||
80 | make_controller_box(&m_vbox5, &m_smallknob2, "bass", 0, 1, 0.01, bass, plug_name); | |
81 | m_smallknob2.signal_value_changed().connect(sigc::mem_fun(*this, | |
82 | &Widget::on_knob5_value_changed)); | |
83 | ||
84 | make_controller_box(&m_vbox6, &m_smallknob3, "treble", 0, 1, 0.01, treble, plug_name); | |
85 | m_smallknob3.signal_value_changed().connect(sigc::mem_fun(*this, | |
86 | &Widget::on_knob6_value_changed)); | |
87 | ||
88 | make_controller_box(&m_vbox7, &m_smallknob4, "cabinet", 1, 20, 1, clevel, plug_name); | |
89 | m_smallknob4.signal_value_changed().connect(sigc::mem_fun(*this, | |
90 | &Widget::on_knob7_value_changed)); | |
91 | ||
92 | make_controller_box(&m_vbox8, &m_smallknob5, "presence", 1, 20, 1, alevel, plug_name); | |
93 | m_smallknob5.signal_value_changed().connect(sigc::mem_fun(*this, | |
94 | &Widget::on_knob8_value_changed)); | |
95 | ||
96 | // put boxed controllers into controller box | |
97 | m_hbox_.pack_start(m_vboxhh); | |
98 | m_hbox_.pack_start(m_vbox1); | |
99 | m_hbox_.pack_start(m_vbox2); | |
100 | m_hbox_.pack_start(m_vbox3); | |
101 | m_hbox_.pack_start(m_vbox7); | |
102 | m_hbox_.pack_start(m_vbox8); | |
103 | m_hbox_.pack_start(m_vbox); | |
104 | // etxra box for the boxed tonestack controllers | |
105 | m_hbox.set_border_width(8); | |
106 | m_hbox.pack_start(m_vbox5); | |
107 | m_hbox.pack_start(m_vbox4); | |
108 | m_hbox.pack_start(m_vbox6); | |
109 | m_hbox.pack_start(m_vboxii); | |
110 | m_hbox.set_spacing(5); | |
111 | // add tonestack controller box to main controller box | |
112 | m_hbox_.pack_start(m_hbox); | |
113 | ||
114 | // connect expose handler as resize handler | |
115 | m_paintbox.signal_expose_event().connect( | |
116 | sigc::mem_fun(this, &Widget::_expose_event), true); | |
117 | ||
118 | show_all(); | |
119 | } | |
120 | ||
121 | Widget::~Widget() | |
122 | { | |
123 | ||
124 | } | |
125 | // create stackboxes with controllers from gxw | |
126 | void Widget::make_controller_box(Gtk::VBox *box, | |
127 | Gxw::Regler *regler, | |
128 | Glib::ustring label, | |
129 | float min, float max, | |
130 | float digits, float value, | |
131 | Glib::ustring plug_name) | |
132 | { | |
133 | //Gtk::Label* pr = new Gtk::Label(label, 0); | |
134 | //pr->set_name("amplabel"); | |
135 | Glib::ustring label_image = GX_STYLE_DIR; | |
136 | label_image += "/"; | |
137 | label_image += label; | |
138 | label_image += "-label.png"; | |
139 | Gtk::Image *pr = new Gtk::Image(label_image); | |
140 | ||
141 | Gtk::VBox* b1 = new Gtk::VBox(); | |
142 | box->pack_start( *Gtk::manage(b1), Gtk::PACK_EXPAND_PADDING); | |
143 | box->pack_start( *Gtk::manage(pr),Gtk::PACK_SHRINK); | |
144 | regler->cp_configure("KNOB", label, min, max, digits); | |
145 | regler->set_show_value(false); | |
146 | regler->cp_set_value(value); | |
147 | regler->set_name(plug_name); | |
148 | box->pack_start(*regler,Gtk::PACK_SHRINK); | |
149 | Gtk::VBox* b2 = new Gtk::VBox(); | |
150 | box->pack_start( *Gtk::manage(b2), Gtk::PACK_EXPAND_PADDING); | |
151 | } | |
152 | // set borderwith for paintbox when widget resize | |
153 | // to hold controllers in place | |
154 | bool Widget::_expose_event(GdkEventExpose *event) | |
155 | { | |
156 | int x, y, width, height, depth; | |
157 | m_paintbox.get_window()->get_geometry(x, y, width, height, depth); | |
158 | //double_t height = m_paintbox.get_window()->get_height(); | |
159 | m_paintbox.set_border_width(height/10); | |
160 | return false; | |
161 | } | |
162 | // receive controller value changes from host | |
163 | void Widget::set_value(uint32_t port_index, | |
164 | uint32_t format, | |
165 | const void * buffer) | |
166 | { | |
167 | if ( format == 0 ) | |
168 | { | |
169 | float value = *(float *)buffer; | |
170 | switch ((PortIndex)port_index ) | |
171 | { | |
172 | case AMP_MASTERGAIN: | |
173 | mastergain = value; | |
174 | m_bigknob.cp_set_value(mastergain); | |
175 | break; | |
176 | case AMP_PREGAIN: | |
177 | pregain = value; | |
178 | m_bigknob1.cp_set_value(pregain); | |
179 | break; | |
180 | case AMP_WET_DRY: | |
181 | wet_dry = value; | |
182 | m_bigknob2.cp_set_value(wet_dry); | |
183 | break; | |
184 | case AMP_DRIVE: | |
185 | drive = value; | |
186 | m_bigknob3.cp_set_value(drive); | |
187 | break; | |
188 | case MID: | |
189 | mid = value; | |
190 | m_smallknob1.cp_set_value(mid); | |
191 | break; | |
192 | case BASS: | |
193 | bass = value; | |
194 | m_smallknob2.cp_set_value(bass); | |
195 | break; | |
196 | case TREBLE: | |
197 | treble = value; | |
198 | m_smallknob3.cp_set_value(treble); | |
199 | break; | |
200 | case CLevel: | |
201 | clevel = value; | |
202 | m_smallknob4.cp_set_value(clevel); | |
203 | break; | |
204 | case ALevel: | |
205 | alevel = value; | |
206 | m_smallknob5.cp_set_value(alevel); | |
207 | break; | |
208 | case AMP_CONTROL: | |
209 | break; | |
210 | case AMP_NOTIFY: | |
211 | break; | |
212 | case AMP_OUTPUT: | |
213 | break; | |
214 | case AMP_INPUT: | |
215 | break; | |
216 | case AMP_OUTPUT1: | |
217 | break; | |
218 | case AMP_INPUT1: | |
219 | break; | |
220 | } | |
221 | } | |
222 | } | |
223 | // write value changes to the host->engine | |
224 | void Widget::on_knob_value_changed() | |
225 | { | |
226 | mastergain = m_bigknob.get_value(); | |
227 | //std::cout << "mastergain = " << mastergain << std::endl; | |
228 | write_function( controller, 0, sizeof(float), 0, (const void*)&mastergain); | |
229 | } | |
230 | ||
231 | void Widget::on_knob1_value_changed() | |
232 | { | |
233 | pregain = m_bigknob1.get_value(); | |
234 | //std::cout << "pregain = " << pregain << std::endl; | |
235 | write_function( controller, 1, sizeof(float), 0, (const void*)&pregain); | |
236 | } | |
237 | ||
238 | void Widget::on_knob2_value_changed() | |
239 | { | |
240 | wet_dry = m_bigknob2.get_value(); | |
241 | //std::cout << "wet_dry = " << wet_dry << std::endl; | |
242 | write_function( controller, 2, sizeof(float), 0, (const void*)&wet_dry); | |
243 | } | |
244 | ||
245 | void Widget::on_knob3_value_changed() | |
246 | { | |
247 | drive = m_bigknob3.get_value(); | |
248 | //std::cout << "drive = " << drive << std::endl; | |
249 | write_function( controller, 3, sizeof(float), 0, (const void*)&drive); | |
250 | } | |
251 | ||
252 | void Widget::on_knob4_value_changed() | |
253 | { | |
254 | mid = m_smallknob1.get_value(); | |
255 | //std::cout << "mid = " << mid << std::endl; | |
256 | write_function( controller, 4, sizeof(float), 0, (const void*)&mid); | |
257 | } | |
258 | ||
259 | void Widget::on_knob5_value_changed() | |
260 | { | |
261 | bass = m_smallknob2.get_value(); | |
262 | //std::cout << "bass = " << bass << std::endl; | |
263 | write_function( controller, 5, sizeof(float), 0, (const void*)&bass); | |
264 | } | |
265 | ||
266 | void Widget::on_knob6_value_changed() | |
267 | { | |
268 | treble = m_smallknob3.get_value(); | |
269 | //std::cout << "treble = " << treble << std::endl; | |
270 | write_function( controller, 6, sizeof(float), 0, (const void*)&treble); | |
271 | } | |
272 | ||
273 | void Widget::on_knob7_value_changed() | |
274 | { | |
275 | clevel = m_smallknob4.get_value(); | |
276 | //std::cout << "treble = " << clevel << std::endl; | |
277 | write_function( controller, 7, sizeof(float), 0, (const void*)&clevel); | |
278 | } | |
279 | ||
280 | void Widget::on_knob8_value_changed() | |
281 | { | |
282 | alevel = m_smallknob5.get_value(); | |
283 | //std::cout << "treble = " << alevel << std::endl; | |
284 | write_function( controller, 8, sizeof(float), 0, (const void*)&alevel); | |
285 | } |
0 | /* | |
1 | * Copyright (C) 2012 Hermann Meyer, Andreas Degert, Pete Shorthose | |
2 | * | |
3 | * This program is free software; you can redistribute it and/or modify | |
4 | * it under the terms of the GNU General Public License as published by | |
5 | * the Free Software Foundation; either version 2 of the License, or | |
6 | * (at your option) any later version. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program; if not, write to the Free Software | |
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
16 | * -------------------------------------------------------------------------- | |
17 | */ | |
18 | ||
19 | #pragma once | |
20 | ||
21 | #ifndef SRC_HEADERS_WIDGET_H_ | |
22 | #define SRC_HEADERS_WIDGET_H_ | |
23 | ||
24 | #include <gtkmm.h> | |
25 | #include <gxwmm.h> | |
26 | #include "gxamp.h" | |
27 | #include "../config.h" // for GX_STYLE_DIR | |
28 | // LV2UI stuff | |
29 | #include "lv2/lv2plug.in/ns/extensions/ui/ui.h" | |
30 | ||
31 | class Widget : public Gtk::HBox | |
32 | { | |
33 | private: | |
34 | void make_controller_box(Gtk::VBox *box, | |
35 | Gxw::Regler *regler, | |
36 | Glib::ustring label, | |
37 | float min, float max, | |
38 | float digits, float value, | |
39 | Glib::ustring plug_name); | |
40 | bool _expose_event(GdkEventExpose *event); | |
41 | void set_value(uint32_t port_index, | |
42 | uint32_t format, | |
43 | const void * buffer); | |
44 | public: | |
45 | ||
46 | // public Lv2 communication stuff | |
47 | LV2UI_Controller controller; | |
48 | LV2UI_Write_Function write_function; | |
49 | static void set_value_static(uint32_t port_index, | |
50 | uint32_t buffer_size, | |
51 | uint32_t format, | |
52 | const void * buffer, Widget *self) | |
53 | { | |
54 | self->set_value(port_index,format,buffer); | |
55 | } | |
56 | ||
57 | Widget(Glib::ustring plug_name); | |
58 | ~Widget(); | |
59 | ||
60 | protected: | |
61 | Gtk::VBox m_vbox_; | |
62 | Gtk::HBox m_hbox_; | |
63 | Gtk::HBox m_hbox1_; | |
64 | Gtk::VBox m_vbox; | |
65 | Gtk::VBox m_vbox1; | |
66 | Gtk::VBox m_vbox2; | |
67 | Gtk::VBox m_vbox3; | |
68 | Gtk::VBox m_vbox4; | |
69 | Gtk::VBox m_vbox5; | |
70 | Gtk::VBox m_vbox6; | |
71 | Gtk::VBox m_vbox7; | |
72 | Gtk::VBox m_vbox8; | |
73 | Gtk::VBox m_vboxhh; | |
74 | Gtk::VBox m_vboxii; | |
75 | ||
76 | Gxw::PaintBox m_paintbox; | |
77 | Gtk::HBox m_hbox; | |
78 | Gxw::BigKnob m_bigknob; | |
79 | Gxw::BigKnob m_bigknob1; | |
80 | Gxw::BigKnob m_bigknob2; | |
81 | Gxw::BigKnob m_bigknob3; | |
82 | Gxw::SmallKnob m_smallknob1; | |
83 | Gxw::SmallKnob m_smallknob2; | |
84 | Gxw::SmallKnob m_smallknob3; | |
85 | Gxw::SmallKnobR m_smallknob4; | |
86 | Gxw::SmallKnobR m_smallknob5; | |
87 | void on_knob_value_changed(); | |
88 | void on_knob1_value_changed(); | |
89 | void on_knob2_value_changed(); | |
90 | void on_knob3_value_changed(); | |
91 | void on_knob4_value_changed(); | |
92 | void on_knob5_value_changed(); | |
93 | void on_knob6_value_changed(); | |
94 | void on_knob7_value_changed(); | |
95 | void on_knob8_value_changed(); | |
96 | // stores port values we're currently at. | |
97 | float mastergain; | |
98 | float pregain; | |
99 | float wet_dry; | |
100 | float drive; | |
101 | float mid; | |
102 | float bass; | |
103 | float treble; | |
104 | float clevel; | |
105 | float alevel; | |
106 | }; | |
107 | ||
108 | #endif //SRC_HEADERS_WIDGET_H_ |
0 | #!/usr/bin/env python | |
1 | # encoding: utf-8 | |
2 | ||
3 | import sys, os, TaskGen, ctypes | |
4 | ||
5 | def configure(conf): | |
6 | pass | |
7 | ||
8 | def build(bld): | |
9 | bundle = 'gxamp.lv2' | |
10 | ||
11 | src = ['gxamp.cpp', | |
12 | 'DSP/gx_resampler.cc', | |
13 | 'DSP/gx_convolver.cc' | |
14 | ] | |
15 | incl = ['../../','./', './DSP'] | |
16 | lib = [] | |
17 | if sys.platform.startswith("linux"): | |
18 | lib.append('dl') | |
19 | uselib = ['LV2CORE','GLIBMM'] | |
20 | if bld.env['ZITA_CONVOLVER']: | |
21 | uselib.append('ZITA_CONVOLVER') | |
22 | else: | |
23 | src.append('../../zita-convolver/zita-convolver.cc') | |
24 | incl.append('../../zita-convolver'); | |
25 | uselib.append('FFTW3') | |
26 | if bld.env['ZITA_RESAMPLER']: | |
27 | uselib.append('ZITA_RESAMPLER') | |
28 | else: | |
29 | src.append('../../zita-resampler-1.1.0/resampler.cc') | |
30 | src.append('../../zita-resampler-1.1.0/resampler-table.cc') | |
31 | incl.append('../../zita-resampler-1.1.0') | |
32 | cxxflag =[] | |
33 | if not bld.env['OPT']: | |
34 | cxxflag = [ "-msse2", "-mfpmath=sse"] | |
35 | lv2_plugin = bld( | |
36 | features='cxx cshlib ', | |
37 | includes = incl, | |
38 | lib = lib, | |
39 | uselib = uselib, | |
40 | obj_ext = '_2.o', | |
41 | cxxflags = cxxflag, | |
42 | defines = ["LV2_SO"], | |
43 | target = 'gxamp', | |
44 | source = src, | |
45 | install_path = '${LV2DIR}/%s' % bundle, | |
46 | chmod = 0o755, | |
47 | ) | |
48 | lv2_plugin.env['shlib_PATTERN'] = '%s.so' | |
49 | ||
50 | uselib_local1 = [] | |
51 | libpath1 = [] | |
52 | lib1 = [] | |
53 | incl = ['../../../libgxwmm','../../../libgxw'] | |
54 | if sys.platform.startswith("linux"): | |
55 | lib1.append('dl') | |
56 | if bld.env["GX_LIB_SHARED"]: | |
57 | lib1 += ['gxwmm','gxw'] | |
58 | libpath1 += [bld.path.find_dir("../../../libgxw/gxw").bldpath(bld.env), | |
59 | bld.path.find_dir("../../../libgxwmm/gxwmm").bldpath(bld.env)] | |
60 | else: | |
61 | uselib_local1 += ['gxwmm','gxw'] | |
62 | ||
63 | lv2_plugin_gui = bld( | |
64 | features='cxx cshlib ', | |
65 | includes = incl, | |
66 | lib = lib1, | |
67 | uselib = 'LV2CORE GTKMM', | |
68 | libpath = libpath1, | |
69 | uselib_local = uselib_local1, | |
70 | linkflags = '-Wl,-z,nodelete', | |
71 | defines = ["LV2_GUI"], | |
72 | target = 'gxamp_gui', | |
73 | source = 'widget.cpp gxamp_gui.cpp', | |
74 | install_path = '${LV2DIR}/%s' % bundle, | |
75 | chmod = 0o755, | |
76 | ) | |
77 | lv2_plugin_gui.env['shlib_PATTERN'] = '%s.so' | |
78 | ||
79 | ||
80 | install_path = '${LV2DIR}/%s' % bundle, | |
81 | bld.install_files('${LV2DIR}/gxamp.lv2', 'manifest.ttl') | |
82 | bld.install_files('${LV2DIR}/gxamp.lv2', 'gxamp.ttl') | |
83 | ||
84 | gxlv2style_files = [ | |
85 | 'GUI/amp21.png', | |
86 | 'GUI/amp22.png', | |
87 | 'GUI/amp23.png', | |
88 | 'GUI/amp24.png', | |
89 | 'GUI/amp25.png', | |
90 | 'GUI/mastergain-label.png', | |
91 | 'GUI/pregain-label.png', | |
92 | 'GUI/drive-label.png', | |
93 | 'GUI/distortion-label.png', | |
94 | 'GUI/cabinet-label.png', | |
95 | 'GUI/presence-label.png', | |
96 | 'GUI/presence-label.png', | |
97 | 'GUI/bass-label.png', | |
98 | 'GUI/treble-label.png', | |
99 | 'GUI/mid-label.png', | |
100 | 'GUI/knob.png', | |
101 | 'GUI/knob-middle.png', | |
102 | 'GUI/knob-small.png', | |
103 | 'GUI/metalic1-knob.png', | |
104 | 'GUI/metalic1-knob-middle.png', | |
105 | 'GUI/metalic1-knob-small.png', | |
106 | 'GUI/black-knob.png', | |
107 | 'GUI/black-knob-middle.png', | |
108 | 'GUI/black-knob-small.png',] | |
109 | ||
110 | bld.install_files(bld.env['GX_STYLE_DIR'], gxlv2style_files, chmod=0o644) | |
111 |
241 | 241 | <property name="visible">True</property> |
242 | 242 | <property name="can_focus">False</property> |
243 | 243 | <property name="yscale">0</property> |
244 | <property name="left_padding">17</property> | |
244 | <property name="left_padding">16</property> | |
245 | 245 | <child> |
246 | 246 | <object class="GtkVBox" id="vbox10"> |
247 | 247 | <property name="visible">True</property> |
457 | 457 | <property name="can_focus">False</property> |
458 | 458 | <property name="top_padding">14</property> |
459 | 459 | <property name="bottom_padding">14</property> |
460 | <property name="right_padding">14</property> | |
460 | <property name="right_padding">20</property> | |
461 | 461 | <child> |
462 | 462 | <object class="GxPaintBox" id="gxpaintbox5"> |
463 | 463 | <property name="width_request">47</property> |
799 | 799 | return conv_start(); |
800 | 800 | } |
801 | 801 | |
802 | bool CabinetConvolver::do_only_update() { | |
803 | CabDesc& cab = *getCabEntry(cabinet).data; | |
804 | float cab_irdata_c[cab.ir_count]; | |
805 | impf.compute(cab.ir_count,cab.ir_data,cab_irdata_c); | |
806 | ||
807 | if (!conv.update(cab.ir_count, cab_irdata_c, cab.ir_sr)) { | |
808 | return false; | |
809 | } | |
810 | update_sum(); | |
811 | return true; | |
812 | } | |
813 | ||
802 | 814 | bool CabinetConvolver::start(bool force) { |
803 | 815 | if (force) { |
804 | 816 | current_cab = -1; |
817 | 829 | void CabinetConvolver::check_update() { |
818 | 830 | if (cabinet_changed() || sum_changed()) { |
819 | 831 | do_update(); |
820 | } | |
832 | } | |
821 | 833 | } |
822 | 834 | |
823 | 835 | void CabinetConvolver::run_cab_conf(int count, float *input0, float *output0, PluginDef *p) { |
941 | 953 | return conv_start(); |
942 | 954 | } |
943 | 955 | |
956 | bool PreampConvolver::do_only_update() { | |
957 | PreDesc& pre = *getPreEntry(preamp).data; | |
958 | float pre_irdata_c[pre.ir_count]; | |
959 | impf.compute(pre.ir_count,pre.ir_data,pre_irdata_c); | |
960 | if (!conv.update(pre.ir_count, pre_irdata_c, pre.ir_sr)) { | |
961 | return false; | |
962 | } | |
963 | update_sum(); | |
964 | return true; | |
965 | } | |
966 | ||
944 | 967 | bool PreampConvolver::start(bool force) { |
945 | 968 | if (force) { |
946 | 969 | current_pre = -1; |
1026 | 1049 | return conv_start(); |
1027 | 1050 | } |
1028 | 1051 | |
1052 | bool ContrastConvolver::do_only_update() { | |
1053 | float contrast_irdata_c[contrast_ir_desc.ir_count]; | |
1054 | presl.compute(contrast_ir_desc.ir_count,contrast_ir_desc.ir_data,contrast_irdata_c); | |
1055 | ||
1056 | if (!conv.update(contrast_ir_desc.ir_count, contrast_irdata_c, contrast_ir_desc.ir_sr)) { | |
1057 | return false; | |
1058 | } | |
1059 | update_sum(); | |
1060 | return true; | |
1061 | } | |
1062 | ||
1029 | 1063 | bool ContrastConvolver::start(bool force) { |
1030 | 1064 | if (force) { |
1031 | 1065 | sum = no_sum; |
539 | 539 | (boost::format(_("invalid style '%1%' on command line")) |
540 | 540 | % rcset).str()); |
541 | 541 | } |
542 | if (jack_outputs.size() >= 2) { | |
542 | if (jack_outputs.size() > 2) { | |
543 | 543 | gx_print_warning( |
544 | 544 | _("main"), |
545 | 545 | _("Warning --> provided more than 2 output ports, ignoring extra ports")); |
504 | 504 | sigc::bind( |
505 | 505 | sigc::ptr_fun(MyPaintBox::create_from_builder), |
506 | 506 | background_adj)); |
507 | ||
508 | Glib::RefPtr<Gdk::Pixbuf> pb = Gdk::Pixbuf::create_from_file( | |
509 | options.get_style_filepath("bypass.svg"), 300, 150); | |
510 | bypass_image->set(pb); | |
511 | pb = Gdk::Pixbuf::create_from_file( | |
512 | options.get_style_filepath("mute.svg"), 300, 150); | |
513 | mute_image->set(pb); | |
507 | Glib::RefPtr<Gdk::Pixbuf> pb; | |
508 | try { | |
509 | pb = Gdk::Pixbuf::create_from_file( | |
510 | options.get_style_filepath("bypass.svg"), 300, 150); | |
511 | bypass_image->set(pb); | |
512 | } catch (const Glib::FileError& ex) { | |
513 | gx_system::gx_print_error("liveplay", ex.what()); | |
514 | } catch (const Gdk::PixbufError& ex) { | |
515 | gx_system::gx_print_error("liveplay", ex.what()); | |
516 | } catch(...) { | |
517 | gx_system::gx_print_error("liveplay", "failed to load pixmap bypass.svg"); | |
518 | } | |
519 | try { | |
520 | pb = Gdk::Pixbuf::create_from_file( | |
521 | options.get_style_filepath("mute.svg"), 300, 150); | |
522 | mute_image->set(pb); | |
523 | } catch (const Glib::FileError& ex) { | |
524 | gx_system::gx_print_error("liveplay", ex.what()); | |
525 | } catch (const Gdk::PixbufError& ex) { | |
526 | gx_system::gx_print_error("liveplay", ex.what()); | |
527 | } catch(...) { | |
528 | gx_system::gx_print_error("liveplay", "failed to load pixmap mute.svg"); | |
529 | } | |
514 | 530 | use_composite = window->get_display()->supports_composite(); |
515 | 531 | if (use_composite) { |
516 | 532 | brightness_adj->signal_value_changed().connect(sigc::mem_fun(this, &Liveplay::on_brightness_changed)); |
449 | 449 | static void run_cab_conf(int count, float *input, float *output, PluginDef*); |
450 | 450 | static int register_cab(const ParamReg& reg); |
451 | 451 | bool do_update(); |
452 | bool do_only_update(); | |
452 | 453 | virtual void check_update(); |
453 | 454 | virtual bool start(bool force = false); |
454 | 455 | bool cabinet_changed() { return current_cab != cabinet; } |
480 | 481 | static void run_pre_conf(int count, float *input, float *output, PluginDef*); |
481 | 482 | static int register_pre(const ParamReg& reg); |
482 | 483 | bool do_update(); |
484 | bool do_only_update(); | |
483 | 485 | virtual void check_update(); |
484 | 486 | virtual bool start(bool force = false); |
485 | 487 | bool preamp_changed() { return current_pre != preamp; } |
507 | 509 | inline void update_sum() { sum = level; } |
508 | 510 | virtual void check_update(); |
509 | 511 | bool do_update(); |
512 | bool do_only_update(); | |
510 | 513 | inline bool sum_changed() { return abs(sum - level) > 0.01; } |
511 | 514 | virtual bool start(bool force = false); |
512 | 515 | public: |
23 | 23 | use_2to3 = True |
24 | 24 | |
25 | 25 | # used by waf dist and waf build |
26 | VERSION='0.24.3' | |
26 | VERSION='0.25.1' | |
27 | 27 | APPNAME='guitarix' |
28 | 28 | |
29 | 29 | good_faust_versions = ['0.9.43','0.9.46'] |
119 | 119 | default=False, |
120 | 120 | const=True, |
121 | 121 | help=("don't build with new ladspa plugins")) |
122 | ||
123 | comp.add_option('--build-lv2', | |
124 | action='store_const', | |
125 | default=False, | |
126 | const=True, | |
127 | help=("build with new lv2 plugins")) | |
122 | 128 | |
123 | 129 | faust = opt.add_option_group("Faust-Compiler") |
124 | 130 | |
316 | 322 | ################################################################ |
317 | 323 | # configuration helper functions |
318 | 324 | # |
325 | def sub_file(src_fname, dst_fname, lst): | |
326 | ||
327 | f = open(src_fname, 'rU') | |
328 | txt = f.read() | |
329 | f.close() | |
330 | ||
331 | for (key, val) in lst: | |
332 | re_pat = re.compile(key, re.M) | |
333 | txt = re_pat.sub(val, txt) | |
334 | ||
335 | f = open(dst_fname, 'w') | |
336 | f.write(txt) | |
337 | f.close() | |
319 | 338 | |
320 | 339 | def check_faust(conf): |
321 | 340 | if Options.options.no_faust: |
513 | 532 | conf.check_cfg(package='giomm-2.4', atleast_version='2.24', args='--cflags --libs', uselib_store='GIOMM', mandatory=1) |
514 | 533 | conf.check_cfg(package='fftw3f', atleast_version='3.1.2', args='--cflags --libs', uselib_store='FFTW3', mandatory=1) |
515 | 534 | conf.check_cfg(package='lrdf', args='--cflags --libs', uselib_store='LRDF', mandatory=1) |
535 | if opt.build_lv2: | |
536 | conf.check_cfg(package='lv2', atleast_version='1.2.0',args='--cflags --libs', uselib_store='LV2CORE', mandatory=1) | |
516 | 537 | if not opt.no_ladspa: |
517 | 538 | conf.check(header_name='ladspa.h', mandatory=1) |
518 | 539 | |
533 | 554 | conf.define('GX_ICON_DIR', os.path.normpath(os.path.join(conf.env['SHAREDIR'], 'guitarix','icons'))) |
534 | 555 | conf.define('GX_PIXMAPS_DIR', os.path.normpath(os.path.join(conf.env['SHAREDIR'], 'pixmaps'))) |
535 | 556 | conf.define('GX_VERSION', VERSION) |
536 | ||
557 | ||
537 | 558 | if conf.env.DEST_CPU=='x86_64': |
538 | 559 | conf.define('OS_64_BIT', 1) |
539 | 560 | else: |
545 | 566 | conf.define('BINDIR', os.path.normpath(os.path.join(conf.env['PREFIX'], 'bin'))) |
546 | 567 | conf.define('DESKAPPS_DIR', os.path.normpath(os.path.join(conf.env['SHAREDIR'], 'applications'))) |
547 | 568 | conf.define('BIN_NAME', APPNAME) |
569 | ||
570 | conf.env['LV2'] = opt.build_lv2 | |
571 | if opt.build_lv2: | |
572 | conf.define('LV2DIR', os.path.normpath(os.path.join(conf.env['LIBDIR'], 'lv2')) ) | |
573 | ||
548 | 574 | |
549 | 575 | conf.env['NEW_LADSPA'] = not opt.no_ladspa and not opt.no_new_ladspa |
550 | 576 | conf.env['LADSPA'] = not opt.no_ladspa |
563 | 589 | cxxflags += opt.cxxflags_release.split() |
564 | 590 | cpu_model = None |
565 | 591 | if opt.optimization: |
592 | conf.env['OPT'] = False | |
566 | 593 | cpu_model = append_optimization_flags(cxxflags) |
567 | 594 | conf.env['CXXFLAGS'] += cxxflags |
568 | 595 | |
571 | 598 | conf.check_tool('python') |
572 | 599 | conf.check_cfg(package='pygobject-2.0', args='--cflags --libs', uselib_store='PYGOBJECT', mandatory=True) |
573 | 600 | conf.cfg_get_variable(package='pygobject-2.0', variable='codegendir') |
574 | ||
575 | # config subdirs | |
576 | conf.sub_config('pygxw'); | |
577 | conf.sub_config('glade-gxw'); | |
578 | conf.sub_config('libgxwmm'); | |
579 | conf.sub_config('libgxw/gxw'); | |
580 | 601 | |
581 | 602 | conf.sub_config('src/gx_head'); |
582 | 603 | if conf.env['FAUST']: |
584 | 605 | conf.sub_config('src/plugins'); |
585 | 606 | if conf.env["LADSPA"]: |
586 | 607 | conf.sub_config('ladspa'); |
608 | if conf.env["LV2"]: | |
609 | opt.shared_lib = True; | |
610 | conf.sub_config('src/LV2/gxamp.lv2'); | |
611 | pa = '.so' | |
612 | sub_file('./src/LV2/gxamp.lv2/manifest.ttl.in', './src/LV2/gxamp.lv2/manifest.ttl', (('@LIB_EXT@', '%s' % pa), )) | |
613 | conf.sub_config('src/LV2/gxamp.lv2/StereoAmp'); | |
614 | sub_file('./src/LV2/gxamp.lv2/StereoAmp/manifest_stereo.ttl.in', './src/LV2/gxamp.lv2/StereoAmp/manifest.ttl', (('@LIB_EXT@', '%s' % pa), )) | |
615 | ||
616 | # config subdirs | |
617 | conf.sub_config('pygxw'); | |
618 | conf.sub_config('glade-gxw'); | |
619 | conf.sub_config('libgxwmm'); | |
620 | conf.sub_config('libgxw/gxw'); | |
621 | ||
587 | 622 | conf.sub_config('rcstyles'); |
623 | if conf.env["GX_LIB_DEV"]: | |
624 | pa = conf.env['PREFIX'] | |
625 | sub_file('./libgxw/gxw.pc.in', './libgxw/gxw.pc', (('prefix=/path', 'prefix=%s' % pa), )) | |
626 | sub_file('./libgxwmm/gxwmm.pc.in', './libgxwmm/gxwmm.pc', (('prefix=/path', 'prefix=%s' % pa), )) | |
627 | ||
588 | 628 | |
589 | 629 | # some output |
590 | 630 | print("") |
611 | 651 | |
612 | 652 | |
613 | 653 | display_feature("build ladspa plugins", conf.env['LADSPA']) |
654 | display_feature("build lv2 plugins", conf.env['LV2']) | |
614 | 655 | display_feature("skip Python Library Wrapper", not conf.env['GX_PYTHON_WRAPPER']) |
615 | 656 | display_feature("use prebuild C++ Library Wrapper", conf.env['USE_GENERATED_CPP']) |
616 | 657 | display_feature("skip building shared lib", not conf.env['GX_LIB_SHARED']) |
658 | display_feature("skip install lib-dev", not conf.env['GX_LIB_DEV']) | |
617 | 659 | display_feature("Localization (intltool)", conf.env['ENABLE_NLS']) |
618 | 660 | display_feature("skip glade support", not conf.env['GX_GLADE_SUPPORT']) |
619 | 661 | if conf.env['GX_GLADE_SUPPORT']: |
624 | 666 | |
625 | 667 | if not opt.no_ladspa: |
626 | 668 | display_msg("Install ladspa", conf.env['LADSPADIR'], 'CYAN') |
669 | if opt.build_lv2: | |
670 | display_msg("Install lv2", conf.env['LV2DIR'], 'CYAN') | |
627 | 671 | display_msg("Guitarix shared files directory", gxsharedir, 'CYAN') |
628 | 672 | display_msg("Guitarix pixmaps directory", conf.env['GX_PIXMAPS_DIR'], 'CYAN') |
629 | 673 | if conf.env['g++']: |
656 | 700 | bld.add_subdirs('pygxw') |
657 | 701 | bld.add_subdirs('src/faust') |
658 | 702 | bld.add_subdirs('src/plugins') |
659 | ||
660 | 703 | bld.add_subdirs('rcstyles') |
661 | 704 | bld.add_subdirs('pixmaps') |
662 | ||
663 | pa = bld.env['GX_SOUND_DIR'] | |
664 | 705 | bld.add_subdirs('src/gx_head') |
665 | 706 | if bld.env["NEW_LADSPA"]: |
666 | 707 | bld.add_subdirs('src/ladspa') |
708 | if bld.env["LV2"]: | |
709 | bld.add_subdirs('src/LV2/gxamp.lv2') | |
710 | bld.add_subdirs('src/LV2/gxamp.lv2/StereoAmp') | |
711 | ||
667 | 712 | bld.install_files(bld.env['DESKAPPS_DIR'], 'guitarix.desktop', chmod=0o644) |
668 | 713 | bld.install_files(bld.env['GX_FACTORY_DIR'], 'factorysettings/dirlist.js', chmod=0o664) |
669 | 714 | bld.install_files(bld.env['GX_FACTORY_DIR'], 'factorysettings/funkmuscle.gx', chmod=0o664) |
705 | 750 | |
706 | 751 | if bld.env["GX_LIB_SHARED"]: |
707 | 752 | bld.add_post_fun(post) |
708 | ||
753 | if bld.env["GX_LIB_DEV"]: | |
754 | bld.install_files('${PREFIX}/include/gxw','libgxw/gxw/*.h') | |
755 | bld.install_files('${PREFIX}/include','libgxw/gxw.h') | |
756 | bld.install_files('${PREFIX}/lib/pkgconfig', './libgxw/gxw.pc') | |
757 | bld.install_files('${PREFIX}/include/gxwmm','libgxwmm/gxwmm-generated/*.h') | |
758 | bld.install_files('${PREFIX}/include/gxwmm','libgxwmm/gxwmm/*.h') | |
759 | bld.install_files('${PREFIX}/include','libgxwmm/gxwmm.h') | |
760 | bld.install_files('${PREFIX}/lib/pkgconfig', './libgxwmm/gxwmm.pc') | |
709 | 761 | |
710 | 762 | ################################################################ |
711 | 763 | # other commands |