Merge branch 'pre-master-47' into bt_dev. With sound waveforms.

This commit is contained in:
Brian Taylor 2026-05-04 14:22:43 -07:00
commit 259d78fd97
39 changed files with 1221 additions and 90 deletions

32
Install-Ubuntu.txt Normal file
View File

@ -0,0 +1,32 @@
// installation of ngspice with wav support on Linux, Ubuntu 24.04 LTS
sudo apt install git gcc g++ libx11-dev libxaw7-dev libreadline-dev make flex byacc
cd Software
git clone git://git.code.sf.net/p/ngspice/ngspice ngspice
cd ngspice
git checkout hv-master-43
cd ..
mkdir libsndfile
cd libsndfile
git clone https://github.com/libsndfile/libsndfile.git
git clone https://github.com/libsndfile/libsamplerate.git
sudo apt install autoconf autogen automake build-essential libasound2-dev libflac-dev libogg-dev libtool libvorbis-dev libopus-dev libmp3lame-dev libmpg123-dev pkg-config python3
cd libsndfile
autoreconf -vif
./configure --enable-werror
make
make check
sudo make install
cd ../libsamplerate
autoreconf -vif
./configure --enable-werror
make
sudo make install
cd ../../ngspice
git pull
git checkout hv-wave-43
git pull
sudo ./compile_linux.sh
sudo ./compile_linux_shared.sh
sudo apt install audacity

View File

@ -1,7 +1,7 @@
SEE (single event effects) generator
The SEE generator generates current pulses, which resemble the
charge generation and flow causes by a penetrating particle.
charge generation and flow caused by a penetrating particle.
How to use it:
Select LET and charge collection depth cdepth, define them as parameters.
@ -14,6 +14,7 @@ Set up the SEEgenerator by adding for example
.param d = 1
* LET (linear energy transfer) in MeV*cm²/mg
.param let = 12
* the generator
aseegen1 NULL mon [%id(xcell.n1 m1) %id(xcell.n2 m2) %id(xcell.n1 m1) %id(xcell.n2 m2)] seemod1
.model seemod1 seegen (tdelay = 11n tperiod=25n let='let' cdepth='d')

32
README.wavsim Normal file
View File

@ -0,0 +1,32 @@
This branch, contains functions to read, simulate and output wav audio files.
The origin of the code stems from
http://gareus.org/oss/spicesound/start
http://gareus.org/oss/spicesound/examples
and has been made by Robin Gareus, enhanced by Hannu Vuolasaho at
https://sourceforge.net/p/ngspice/patches/13/,
compatibility and integration into ngspice-46 by Holger Vogt.
It uses the external libraries libsndfile and libsamplerate.
The current setup (ngspice.exe) has been tested with MSVC 2022 and CYGWIN on Windows 11.
A setup for KiCad (MS Windows) is available.
64 bit libsndfile has been downloaded from https://github.com/libsndfile/libsndfile/releases/
64 bit libsamplerate has been downloaded from https://github.com/libsndfile/libsamplerate/releases
The usage is described in
http://gareus.org/oss/spicesound/start
Example files are available at \examples\wave
Compiling for macOS M2 requires installing libsndfile and libsamplerate from Homebrew.
compile_macos_clang_M2.sh has been enhanced by adding
-I/opt/homebrew/opt/libsndfile/include -I/opt/homebrew/opt/libsamplerate/include
to CFLAGS and
-L/opt/homebrew/opt/libsndfile/lib -L/opt/homebrew/opt/libsamplerate/lib
to LDFLAGS
Linux Ubuntu 24.04 has the libraries libsndfile0 and libsamplerate0 available automatically.
You may need to install (with apt) the development header files libsndfile0-dev and libsamplerate0-dev.

View File

@ -47,13 +47,13 @@ if test "$1" = "d"; then
# Builtin readline is not compatible (Big Sur), readline via Homebrew required (in /opt/homebrew/opt)
# Standard clang does not support OpenMP, uses https://mac.r-project.org/openmp/
../configure --with-x --enable-cider --with-readline=/opt/homebrew/opt/readline --enable-debug CFLAGS="-m64 -O0 -g -Wall -I/opt/X11/include/freetype2 -I/opt/homebrew/opt/readline/include" LDFLAGS="-m64 -g -L/opt/homebrew/opt/readline/lib -L/opt/X11/lib -L/usr/local/lib -lomp"
../configure --with-x --enable-cider --with-readline=/opt/homebrew/opt/readline --enable-debug CFLAGS="-m64 -O0 -g -Wall -I/opt/X11/include/freetype2 -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/libsndfile/include -I/opt/homebrew/opt/libsamplerate/include" LDFLAGS="-m64 -g -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libsndfile/lib -L/opt/homebrew/opt/libsamplerate/lib -L/opt/X11/lib -L/usr/local/lib -lomp"
else
cd release
if [ $? -ne 0 ]; then echo "cd release failed"; exit 1 ; fi
echo "configuring for 64 bit release"
echo
../configure --with-x --enable-cider --with-readline=/opt/homebrew/opt/readline CFLAGS="-m64 -O2 -I/opt/X11/include/freetype2 -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/ncurses/include" LDFLAGS="-m64 -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/X11/lib -L/usr/local/lib -lomp"
../configure --with-x --enable-cider --with-readline=/opt/homebrew/opt/readline --enable-predictor CFLAGS=" -march=native -m64 -O2 -I/opt/X11/include/freetype2 -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/libsndfile/include -I/opt/homebrew/opt/libsamplerate/include" LDFLAGS="-m64 -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/libsndfile/lib -L/opt/homebrew/opt/libsamplerate/lib -L/opt/X11/lib -L/usr/local/lib -lomp"
fi
if [ $? -ne 0 ]; then echo "../configure failed"; exit 1 ; fi

View File

@ -933,6 +933,17 @@ if test "x$with_fftw3" != xno; then
LIBS="$LIBS -lfftw3"])
fi
AC_CHECK_HEADERS([sndfile.h])
AC_CHECK_LIB([sndfile], [sf_command],
[AC_DEFINE([HAVE_LIBSNDFILE], [], [Have libsndfile])
LIBS="$LIBS -lsndfile"])
AC_CHECK_HEADERS([samplerate.h])
AC_CHECK_LIB([samplerate], [src_process],
[AC_DEFINE([HAVE_LIBSAMPLERATE], [], [Have libsamplerate])
LIBS="$LIBS -lsamplerate"])
# Check for a few mathematical functions:
AC_CHECK_FUNCS([erfc logb scalb scalbn asinh acosh atanh finite])
# According POSIX we should look for macros first

View File

@ -0,0 +1,35 @@
README.examples, slightly adapted to the new ngspice wav capability,
taken from http://gareus.org/oss/spicesound/examples
Simulation either as batch mode
ngspice -b xxx.cir
or in control mode
ngspice xxx.cir
output of jimi_fuzz-snd.cir, ready to compare
git-fuzz64.mp3
git-fuzz64.wav
input for jimi_fuzz-snd.cir
gits.wav
circuit of fuzzer in jimi_fuzz-snd.cir
jhfface.pdf
just a simulation file of the fuzzer circuit
jimi_fuzz.cir
guitar input, fuzzified output on the left,
original on the right channel
jimi_fuzz-snd.cir
bandpass RC filter, input sweep_sin20_20k_5s48k.wav
rcfilter.cir
just a simulation file for the RC filter
rcsim.cir
wav simulation input (gits.wav) is output
sndtst.cir
input to rcfilter.cir
sweep_sin20_20k_5s48k.wav

View File

@ -0,0 +1,26 @@
This branch, contains functions to read, simulate and output wav audio files.
The origin of the code stems from
http://gareus.org/oss/spicesound/start
http://gareus.org/oss/spicesound/examples
and has been made by Robin Gareus, enhanced by Hannu Vuolasaho at
https://sourceforge.net/p/ngspice/patches/13/,
compatibility and integration into ngspice-46 by Holger Vogt.
It uses the external libraries libsndfile and libsamplerate.
The current setup (ngspice.exe) has been tested with MSVC 2022 and CYGWIN on Windows 11.
A setup for KiCad (MS Windows) is available.
64 bit libsndfile has been downloaded from https://github.com/libsndfile/libsndfile/releases/
64 bit libsamplerate has been downloaded from https://github.com/libsndfile/libsamplerate/releases
The usage is described in
http://gareus.org/oss/spicesound/start
Example files are available at \examples\wave
Tests on Linux and macOS will follow.

BIN
examples/wave/gits.wav Normal file

Binary file not shown.

BIN
examples/wave/jhfface.pdf Normal file

Binary file not shown.

View File

@ -0,0 +1,77 @@
* jimi hendrix fuzz face - by J. Dunlop
*
* this netlist does not model the power-supply
* as in the original device. a zener and cap
* were left out next to the "battery".
*
* input : V2 - pin 10
* output: R50/51 - pin 9
*
* Pots:
* R50+R51 = 500k [Vol]
* R100+R101 = 1k [Fuzz]
*
*----------------------------------------------
* SPICE 3 - NETLIST
.options
*------------- Models -------------------------
.model NPN NPN(Is=1.0e-16)
*----------------------------------------------
V_V2 10 0 dc 0.0 file(gits.wav) snd(0 0 0.5 0 0 32)
R_R50 9 0 200k
R_R51 3 9 300k
R_R100 6 5 100
R_R101 5 0 900
R_R4 1 8 43k
R_R6 4 11 10k
C_C4 4 3 0.01u IC=0
C_C6 5 0 1u
Q_Q2 11 8 6 NPN
R_R5 1 4 330
Q_Q1 8 7 0 NPN
C_C3 7 6 47p IC=0
R_R3 7 6 68k
C_C2 7 0 1n IC=0
C_C1 2 10 2.2u
R_R1 10 0 180k
R_R2 2 7 100
V_V1 1 0 dc 9.0
*----------------------------------------------
*.sndparam /tmp/melon-fuzz8.wav 48000 wav32 1.0 0.0
**.sndparam git-fuzz9.wav 48000 wav32 3.5 0.0 2
**.sndprint tran v(10) v(9)
*.tran 2.0833333333333e-05 5.0 0 2.0833333333333e-05
*.tran 1.3020833e-06 25.0 0 1.3020833e-06
*.tran 1.3020833e-06 7.5 0 1.3020833e-06
*.tran 2.6041666e-06 2.0 0 2.6041666e-06
* /16
*.tran 1.3020833e-06 3.0 0.1 1.3020833e-06
.tran 6.5104166e-07 3.0 0.1 6.5104166e-07
*.tran 3.25520833e-07 3.0 0 3.25520833e-07
*.tran 1.627604166e-07 3.0 0 1.627604166e-07
*.tran 8.138020833e-08 0.5 0 8.138020833e-08
*.tran 4.069010416e-08 0.5 0 4.069010416e-08
.op
.control
if $?batchmode
else
save v(10) v(9)
sndparam $inputdir/git-fuzz9.wav 48000 wav32 3.5 0.0 2
tran 6.5104166e-07 3.0 0.1 6.5104166e-07
* tran 1.3020833e-06 3.0 0.1 1.3020833e-06
* tran 2.0833333333333e-05 5.0 0 2.0833333333333e-05
rusage
sndprint v(10) v(9)
rusage time
end
.endc
.END

View File

@ -0,0 +1,49 @@
* jimi hendrix fuzz face - by J. Dunlop
*
* this netlist does not model the power-supply
* as in the original device. a zener and cap
* were left out next to the "battery".
*
* input : V2 - pin 10
* output: R50/51 - pin 9
*
* Pots:
* R50+R51 = 500k [Vol]
* R100+R101 = 1k [Fuzz]
*
*----------------------------------------------
* SPICE 3 - NETLIST
.options
*------------- Models -------------------------
.model NPN NPN(Is=1.0e-16)
*----------------------------------------------
V_V2 10 0 dc 0.0 sine(0.0 0.3 440.0 0 0)
R_R50 9 0 400k
R_R51 3 9 100k
R_R100 6 5 950
R_R101 5 0 50
R_R4 1 8 43k
R_R6 4 11 10k
C_C4 4 3 0.01u IC=0
C_C6 5 0 1u
Q_Q2 11 8 6 NPN
R_R5 1 4 330
Q_Q1 8 7 0 NPN
C_C3 7 6 47p IC=0
R_R3 7 6 68k
C_C2 7 0 1n IC=0
C_C1 2 10 2.2u
R_R1 10 0 180k
R_R2 2 7 100
V_V1 1 0 dc 9.0
*----------------------------------------------
.print tran v(10) v(9)
.tran 2.0833333333333e-05 5.0 0 2.0833333333333e-05
.op
.END

2
examples/wave/nowave.wav Normal file
View File

@ -0,0 +1,2 @@
This is not a wave file.
It is a test vehicle.

View File

@ -0,0 +1,29 @@
capacitive bandpass filter
v1 1 0 file sweep_sin20_20k_5s48k.wav snd(0 0 1.0 0 0 1.0)
r1 1 2 200
c1 2 0 5u
c2 2 33 1u
rload 33 0 1k
B3 3 0 v = v(33) * 3
.sndparam $Inputdir/test-filter.wav 48000 wav24 1.0 0.0 1.0
.sndprint tran v(1) v(3)
.tran 2.08333e-05 5.0 0 2.08333e-05
.op
.control
if $?batchmode
else
save v(1) v(3)
sndparam $Inputdir/test-filter.wav 48000 wav24 1.0 0.0 1.0
tran 2.08333e-05 5.0 0 2.08333e-05
rusage
sndprint v(1) v(3)
rusage
end
.endc
.end

13
examples/wave/rcsim.cir Normal file
View File

@ -0,0 +1,13 @@
capacitive bandpass filter
v1 1 0 dc 0 ac 1 ; sin
r1 1 2 200
c1 2 0 5u
c2 2 3 1u
rload 3 0 1k
.ac lin 50 20 1000
.plot ac v(3)
.control
run
plot db(v(3)) xlog xlimit 10 1000
.endc
.end

24
examples/wave/sndtst.cir Normal file
View File

@ -0,0 +1,24 @@
simple audio test
V_V2 1 0 file ..\exampleswav\gits.wav snd 0 0 1.0 0 0 32
R_R1 1 0 1M
.sndparam ..\exampleswav\test-io.wav 48000 wav24 1.0 0.0 1.0
.sndprint tran v(1)
.tran 2.08333e-05 2.0 0 2.08333e-05
.op
.control
if $?batchmode
else
sndparam ..\exampleswav\test-io.wav 48000 wav24 1.0 0.0 1.0
tran 6.5104166e-07 3.0 0.1 6.5104166e-07
rusage
sndprint v(1)
rusage
end
.endc
.END

Binary file not shown.

View File

@ -58,6 +58,7 @@ c2 z vss 0.576f
.control
pre_osdi C:\Spice64\lib\ngspice\psp103_nqs.osdi
pre_osdi C:\Spice64\lib\ngspice\psp103.osdi
run
rusage
*set nolegend

View File

@ -179,6 +179,8 @@ libfte_la_SOURCES = \
shyu.h \
signal_handler.c \
signal_handler.h \
sndprint.c \
sndprint.h \
spec.c \
spec.h \
spiceif.c \

View File

@ -248,6 +248,14 @@ struct comm spcp_coms[] = {
{ 040000, 040000, 040000, 040000 }, E_BEGINNING, 1, LOTS,
arg_print,
"[col] expr ... : Print vector values." } ,
{ "sndprint", com_sndprint, FALSE, FALSE,
{ 040000, 040000, 040000, 040000 }, E_BEGINNING, 1, LOTS,
arg_print,
"[col] expr ... : Print vector values." },
{ "sndparam", com_sndparam, FALSE, FALSE,
{ 1, 1, 1, 1 }, E_BEGINNING | E_NOPLOTS, 1, LOTS,
arg_load,
"file samplerate : set sndprint parameters." },
#ifdef XSPICE
{ "esave", EVTsave, FALSE, TRUE,
{ 040000, 040000, 040000, 040000 }, E_BEGINNING, 1, LOTS,
@ -785,6 +793,14 @@ struct comm nutcp_coms[] = {
{ 040000, 040000, 040000, 040000 }, E_BEGINNING, 1, LOTS,
arg_print,
"[col] expr ... : Print vector values." } ,
{ "sndprint", com_sndprint, FALSE, FALSE,
{ 040000, 040000, 040000, 040000 }, E_BEGINNING, 1, LOTS,
arg_print,
"[col] expr ... : Print vector values." },
{ "sndparam", com_sndparam, FALSE, FALSE,
{ 1, 1, 1, 1 }, E_BEGINNING | E_NOPLOTS, 1, LOTS,
arg_load,
"file samplerate : set sndprint parameters." },
{ "load", com_load, FALSE, TRUE,
{ 1, 1, 1, 1 }, E_BEGINNING | E_NOPLOTS, 1, LOTS,
arg_load,

View File

@ -111,7 +111,7 @@ ft_savedotargs(void)
else
isaplot = 0;
if (isaplot || ciprefix(".print", s)) {
if (isaplot || ciprefix(".print", s) || ciprefix(".sndparam", s) || ciprefix(".sndprint", s)) {
s = nexttok(s);
name = gettok(&s);
@ -355,6 +355,41 @@ ft_cktcoms(bool terse)
fprintf(cp_err, "Error: .plot: no %s analysis found.\n",
plottype);
}
} else if (eq(command->wl_word, ".sndparam")) {
if (terse) {
fprintf(cp_out, ".sndparam line ignored since rawfile was produced.\n");
}
else {
com_sndparam(command->wl_next);
}
} else if (eq(command->wl_word, ".sndprint")) {
if (terse) {
fprintf(cp_out, ".sndprint line ignored since rawfile was produced.\n");
}
else {
command = command->wl_next;
if (!command) {
fprintf(cp_err, "Error: bad line %s\n", coms->wl_word);
coms = coms->wl_next;
continue;
}
plottype = command->wl_word;
command = command->wl_next;
fixdotprint(command);
twl.wl_next = command;
found = 0;
for (pl = plot_list; pl; pl = pl->pl_next) {
if (ciprefix(plottype, pl->pl_typename)) {
plot_cur = pl;
com_sndprint(&twl);
fprintf(cp_out, "\n");
found = 1;
}
}
if (!found)
fprintf(cp_err, "Error: .sndprint: no %s analysis found.\n", plottype);
}
} else if (ciprefix(".four", command->wl_word)) {
if (terse) {
fprintf(cp_out,

View File

@ -820,6 +820,8 @@ inp_spsource(FILE *fp, bool comfile, char *filename, bool intfile)
eq(s, ".plot") ||
eq(s, ".print") ||
/* eq(s, ".save") || add .save only after subcircuit expansion */
eq(s, ".sndprint") ||
eq(s, ".sndparam") ||
eq(s, ".op") ||
ciprefix(".meas", s) ||
eq(s, ".tf")) {

View File

@ -2354,9 +2354,10 @@ static void inp_fix_gnd_name(struct card *c)
if (*gnd == '*')
continue;
// if inside of a subcircuit, and compatmode is ps, don't replace gnd
/* if inside of a subcircuit, and compatmode is ps,
and node gnd is on the .subckt line, don't replace gnd */
if (newcompat.ps) {
if (ciprefix(".subckt", c->line))
if (ciprefix(".subckt", c->line) && search_plain_identifier(c->line, "gnd"))
found_subckt = TRUE;
if (ciprefix(".ends", c->line))
found_subckt = FALSE;

View File

@ -136,6 +136,8 @@ inp_nutsource(FILE *fp, bool comfile, char *filename)
if (eq(s, ".width") || ciprefix(".four", s) ||
eq(s, ".plot") ||
eq(s, ".print") ||
eq(s, ".sndprint") ||
eq(s, ".sndparam") ||
eq(s, ".save"))
{
wl_append_word(&wl, &end, copy(dd->line));

View File

@ -26,6 +26,7 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
#include "ngspice/compatmode.h"
#include "ngspice/dstring.h"
#include "numparam/general.h"
#include "sndprint.h"
static void killplot(struct plot *pl);
static void DelPlotWindows(struct plot *pl);
@ -430,6 +431,135 @@ done:
}
/* tweaked version of print - write sound-files
*/
void
com_sndprint(wordlist* wl)
{
struct dvec* v, * lv = NULL, * bv, * vecs = NULL;
int i, j, npoints;
struct pnode* nn;
int ngood;
if (wl == NULL)
return;
#ifdef HAS_PROGREP
SetAnalyse("Wav out", 0);
#endif
if (eq(wl->wl_word, "col")) {
wl = wl->wl_next;
}
else if (eq(wl->wl_word, "line")) {
wl = wl->wl_next;
}
ngood = 0;
for (nn = ft_getpnames(wl, TRUE); nn; nn = nn->pn_next) {
v = ft_evaluate(nn);
if (!v)
continue;
if (!vecs)
vecs = lv = v;
else
lv->v_link2 = v;
for (lv = v; lv->v_link2; lv = lv->v_link2)
;
ngood += 1;
}
if (!vecs || vecs->v_plot->pl_scale->v_type != SV_TIME)
return;
if (!ngood) return;
snd_init(ngood);
bv = vecs;
i = j = 0;
npoints = 0;
for (v = bv; v; v = v->v_link2)
if (v->v_length > npoints)
npoints = v->v_length;
double samplerate = snd_get_samplerate();
while ((j < npoints)) {
double tme;
if (isreal(bv->v_plot->pl_scale))
tme = bv->v_plot->pl_scale->v_realdata[j] * samplerate;
else
tme = realpart(bv->v_plot->pl_scale->v_compdata[j]) * samplerate;
int c = 0;
for (v = bv; v; v = v->v_link2) {
if (v->v_length <= j) {
i += snd_send(tme, c, 0.0);
}
else {
if (isreal(v))
i += snd_send(tme, c, v->v_realdata[j]);
else
i += snd_send(tme, c, realpart(v->v_compdata[j]));
}
c++;
}
j++;
}
snd_close();
printf("Info: wrote %i audio-samples from %i data-points\n", i / ngood, j);
/* Get rid of the vectors. */
return;
}
/* Configure sndprint. */
void
com_sndparam(wordlist* wl)
{
char* copypath;
int i = 0;
char* file = NULL;
int srate = 48000;
int fmt = -1;
double mult = 1.0;
double off = 0.0;
int oversampling = 4;
while (wl) {
copypath = cp_unquote(wl->wl_word);
switch (++i) {
case 1:
file = strdup(copypath);
break;
case 2:
srate = atoi(copypath);
break;
case 3:
fmt = snd_format(copypath);
break;
case 4:
mult = atof(copypath);
break;
case 5:
off = atof(copypath);
break;
case 6:
oversampling = atoi(copypath);
break;
default:
printf("Warning: unknown argument\n");
}
tfree(copypath);
wl = wl->wl_next;
}
if (file)
snd_configure(file, srate, fmt, mult, off, oversampling);
return;
}
/* Write out some data into a ngspice raw file with 'write filename expr'.
* If vectors (expr) from various plots are selected, they are written
* out as seperate plots. In any case, we have to be sure to write out

View File

@ -9,6 +9,8 @@
void com_unlet(wordlist *wl);
void com_load(wordlist *wl);
void com_print(wordlist *wl);
void com_sndprint(wordlist *wl);
void com_sndparam(wordlist *wl);
void com_write(wordlist *wl);
void com_write_sparam(wordlist *wl);
void com_transpose(wordlist *wl);

325
src/frontend/sndprint.c Normal file
View File

@ -0,0 +1,325 @@
#include <stdio.h>
#include <stdlib.h>
#include <sndfile.h>
#include <string.h>
#include <math.h>
#include <inttypes.h>
#include "sndprint.h"
#include "ngspice/ngspice.h"
static int o_samplerate = 48000;
static int o_sndfmt = (SF_FORMAT_WAV | SF_FORMAT_PCM_24);
static float o_mult = 1.0;
static float o_off = 0.0;
////////////////////////////////// aliki //////////////////////////////////
#define HDRSIZE 256
static void* my_open_aliki(char* fn, int nchannel) {
char p[HDRSIZE];
FILE* aldfile;
if ((aldfile = fopen(fn, "w")) == 0) {
fprintf(stderr, "Error: Not able to open output file '%s'\n", fn);
controlled_exit(1);
}
strcpy(p, "aliki");
p[6] = p[7] = 0;
*(uint32_t*)(p + 8) = 2; //_vers
*(uint32_t*)(p + 12) = nchannel; // _type;
*(uint32_t*)(p + 16) = o_samplerate; //_rate_n;
*(uint32_t*)(p + 20) = 1; //_rate_d;
*(uint32_t*)(p + 24) = 486239; //_n_fram;
*(uint32_t*)(p + 28) = 1; // _n_sect;
*(uint32_t*)(p + 32) = 0; // _tref_i;
*(uint32_t*)(p + 36) = 0; // _tref_n;
*(uint32_t*)(p + 40) = 1; // _tref_d;
*(uint32_t*)(p + 44) = 0; // _bits;
memset(p + 48, 0, HDRSIZE - 48);
if (fwrite(p, 1, HDRSIZE, aldfile) != HDRSIZE) {
fprintf(stderr, "Error: Not able to write aliki header to '%s'\n", fn);
fclose(aldfile);
controlled_exit(1);
}
return ((void*)aldfile);
}
static size_t my_write_aliki(void* d, float val) {
return(fwrite(&val, sizeof(float), 1, (FILE*)d));
}
static void my_close_aliki(void* d) {
fclose((FILE*)d);
}
////////////////////////////////// sndfile //////////////////////////////////
typedef struct {
SNDFILE* outfile;
int sf_channels;
int sf_bptr;
float* sf_buf;
} SSFILE;
static void* my_open_sf(char* fn, int nchannel) {
SSFILE* d = calloc(1, sizeof(SSFILE));
SF_INFO sfinfo;
sfinfo.samplerate = o_samplerate;
sfinfo.channels = nchannel;
sfinfo.frames = 0;
sfinfo.format = o_sndfmt;
d->sf_channels = nchannel;
d->sf_bptr = 0;
d->sf_buf = calloc(nchannel, sizeof(float));
if ((d->outfile = sf_open(fn, SFM_WRITE, &sfinfo)) == NULL) {
fprintf(stderr, "Error: Not able to open output file '%s'\n", fn);
controlled_exit(1);
}
#if 1
sf_command(d->outfile, SFC_SET_UPDATE_HEADER_AUTO, NULL, SF_TRUE);
sf_command(d->outfile, SFC_SET_CLIPPING, NULL, SF_TRUE);
#endif
return ((void*)d);
}
static size_t my_write_sf(void* d, float val) {
SSFILE* p = (SSFILE*)d;
p->sf_buf[p->sf_bptr++] = val;
if (p->sf_bptr >= p->sf_channels) {
sf_writef_float(p->outfile, p->sf_buf, 1);
p->sf_bptr = 0;
}
return (1);
}
static void my_close_sf(void* d) {
sf_close(((SSFILE*)d)->outfile);
free(((SSFILE*)d)->sf_buf);
free((SSFILE*)d);
}
////////////////////////////////// spice //////////////////////////////////
typedef struct SP_BUF {
double tme;
double* val;
} SP_BUF;
static void (*p_close)(void*);
static void* (*p_open)(char*, int);
static size_t (*p_write)(void*, float);
static void* outfile;
static uint32_t sample;
static int sp_nchannel;
#define SP_MAX (2)
SP_BUF* sp_buf;
static char* filename = NULL;
#define HAVE_SRC
#ifndef HAVE_SRC
#define OVERSAMPLING (1.0)
#else
#include <samplerate.h>
#define OBUFSIZE 256
static int oversampling = 4;
#define OVERSAMPLING ((double) oversampling)
static SRC_STATE* rabbit;
static int rabbit_err;
static float* interleaved;
static float* resampled;
static int iptr = 0;
static int resample_wrapper(void* d, float val) {
interleaved[iptr++] = val;
size_t ibufsize = sp_nchannel * OBUFSIZE * oversampling;
size_t obufsize = sp_nchannel * OBUFSIZE;
if (iptr == ibufsize) {
SRC_DATA src_data;
src_data.data_in = interleaved;
src_data.data_out = resampled;
src_data.input_frames = iptr / sp_nchannel;
src_data.output_frames = OBUFSIZE;
src_data.end_of_input = 0;
src_data.src_ratio = 1.0 / OVERSAMPLING;
src_data.input_frames_used = 0;
src_data.output_frames_gen = 0;
int procerr = src_process(rabbit, &src_data);
if (procerr) {
const char* errmsg = src_strerror(procerr);
fprintf(stderr, "Error: Process src_process failed with message: %s\n", errmsg);
}
if (src_data.output_frames_gen * sp_nchannel != obufsize) {
fprintf(stderr, "Warning: resample: out %li != %i\n", src_data.output_frames_gen * sp_nchannel, (int)obufsize);
}
if (src_data.input_frames_used * sp_nchannel != iptr) {
fprintf(stderr, "Warning: resample: in: %li != %i\n", src_data.input_frames_used * sp_nchannel, iptr);
}
int i;
for (i = 0; i < src_data.output_frames_gen * sp_nchannel; i++)
p_write(d, resampled[i]);
iptr = 0;
return (src_data.output_frames_gen * sp_nchannel);
}
return (0);
}
#endif
void snd_configure(char* fn, int srate, int fmt, double mult, double off, int os) {
if (filename) free(filename);
filename = strdup(fn);
o_samplerate = srate;
o_mult = (float)mult;
o_off = (float)off;
oversampling = os;
if (fmt != 0) {
p_close = &my_close_sf;
p_open = &my_open_sf;
p_write = &my_write_sf;
o_sndfmt = (fmt > 0) ? fmt : (SF_FORMAT_WAV | SF_FORMAT_PCM_24);
printf("info: opened snd file '%s'\n", filename);
}
else {
p_close = &my_close_aliki;
p_open = &my_open_aliki;
p_write = &my_write_aliki;
printf("info: opened aliki file '%s'\n", filename);
}
}
int snd_format(char* fmt) {
int f = atoi(fmt);
if (!strcmp(fmt, "wav")) f = (SF_FORMAT_WAV | SF_FORMAT_PCM_24);
if (!strcmp(fmt, "wav16")) f = (SF_FORMAT_WAV | SF_FORMAT_PCM_16);
if (!strcmp(fmt, "wav24")) f = (SF_FORMAT_WAV | SF_FORMAT_PCM_24);
if (!strcmp(fmt, "wav32")) f = (SF_FORMAT_WAV | SF_FORMAT_PCM_32);
if (!strcmp(fmt, "aiff")) f = (SF_FORMAT_AIFF | SF_FORMAT_PCM_16);
if (!strcmp(fmt, "aliki")) f = 0;
return (f);
}
void snd_init(int nchannel) {
int i;
if (!filename) snd_configure("spice.wav", 48000, o_sndfmt, o_mult, o_off, oversampling);
outfile = p_open(filename, nchannel);
sp_nchannel = nchannel;
sp_buf = calloc(SP_MAX, sizeof(SP_BUF));
for (i = 0; i < SP_MAX; i++) {
sp_buf[i].tme = 0.0;
sp_buf[i].val = calloc(nchannel, sizeof(double));
}
sample = 0;
#ifdef HAVE_SRC
interleaved = calloc(nchannel * OBUFSIZE * oversampling, sizeof(float));
resampled = calloc(nchannel * OBUFSIZE, sizeof(float));
rabbit = src_new(SRC_SINC_BEST_QUALITY, nchannel, &rabbit_err);
src_set_ratio(rabbit, 1.0 / OVERSAMPLING);
src_reset(rabbit);
#endif
}
int snd_send(double tme, int c, double out) {
int i;
int rv = 0;
static bool shown = FALSE;
if (c == 0) for (i = SP_MAX - 1; i > 0; i--) {
memcpy(&(sp_buf[i]), &(sp_buf[i - 1]), sizeof(SP_BUF));
}
sp_buf[0].tme = tme * OVERSAMPLING;
sp_buf[0].val[c] = out;
#ifdef SND_DEBUG
printf("INFO : c:%i tme:%f fsmp:%i val:%f\n", c, tme, sample, out);
#endif
if (sample == 0) {
if (c == (sp_nchannel - 1))
sample = (uint32_t)ceil(tme * OVERSAMPLING);
return (0);
}
if ((sample) < ceil(tme * OVERSAMPLING)) {
if (!(sp_buf[0].tme > sample))
fprintf(stderr, "Error: Oversampling error 1 %f !> %i\n", sp_buf[0].tme, sample);
if (!shown && (sp_buf[1].tme > sample)) {
fprintf(stderr, "Error: Oversampling error 2 %f !< %i\n", sp_buf[1].tme, sample);
fprintf(stderr, " Time step too large\n");
shown = TRUE;
}
#if 0 // DEBUG
if ((sp_buf[0].tme - sample) > 1.0)
fprintf(stderr, "Error: Oversampling error 3 large timestep: dv/dt=%e dt:%f dv:%e\n",
(sp_buf[0].val[c] - sp_buf[1].val[c]) / (sp_buf[0].tme - sample),
(sp_buf[0].tme - sample), (sp_buf[0].val[c] - sp_buf[1].val[c]));
#endif
// linear
double p = (sp_buf[0].tme - sample) / (sp_buf[0].tme - sp_buf[1].tme);
double val = sp_buf[0].val[c] - p * (sp_buf[0].val[c] - sp_buf[1].val[c]);
#ifdef SND_DEBUG
printf("DEBUG: writing c:%i p:%f*[%f - %f] v:%f\n", c, p, sp_buf[0].val[c], sp_buf[1].val[c], val);
#endif
#ifdef HAVE_SRC
rv = resample_wrapper(outfile, o_off + (float)val * o_mult);
#else
p_write(outfile, o_off + val * o_mult);
if (c == (sp_nchannel - 1)) rv = 1;
#endif
if (c == (sp_nchannel - 1)) sample++;
}
else {
#ifdef SND_DEBUG
printf(" ^^^^^^^^^ SKIPPED ^^^^^^^^^\n");
#endif
}
return (rv);
}
void snd_close(void) {
#ifdef HAVE_SRC
while (!resample_wrapper(outfile, 0.0)); // flush buffer.
#endif
p_close(outfile);
free(filename); filename = NULL;
#ifdef HAVE_SRC
free(interleaved);
free(resampled);
#endif
/*
int i;
for (i=0; i< SP_MAX; i){
free (sp_buf[i].val);
sp_buf[i].val=NULL;
}
*/
free(sp_buf);
}
double snd_get_samplerate(void) {
return ((double)o_samplerate);
}
/* vi:set ts=8 sts=2 sw=2: */

11
src/frontend/sndprint.h Normal file
View File

@ -0,0 +1,11 @@
#ifndef _SPICE_SNDFILE_H
#define _SPICE_SNDFILE_H
void snd_configure(char*, int, int, double, double, int);
void snd_init(int);
void snd_close(void);
int snd_send(double, int, double);
int snd_format(char*);
double snd_get_samplerate(void);
#endif

View File

@ -19,7 +19,9 @@ libvsrc_la_SOURCES = \
vsrcpzld.c \
vsrcpzs.c \
vsrcset.c \
vsrctemp.c
vsrctemp.c \
vsjack.c \
vsjack.h
if KLU_WANTED

View File

@ -0,0 +1,231 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
/////// SNDFILE ///////
#include <stdlib.h>
#include <math.h>
#include <sndfile.h>
#include <inttypes.h>
// Resampling can be rather slow. Don't resample
// the whole audio file, do it in smaller chunks
#define VS_RESAMPLING_CHUNK 1024
#include "ngspice/ngspice.h"
#include "vsjack.h"
extern char* inp_pathresolve(const char* name);
#define MAX_D 6
static SNDFILE* m_sndfile[MAX_D];
static int m_channel[MAX_D]; //< channel to be used in src-file
static int m_channels[MAX_D]; //< number of channles in src-file
static uint32_t m_samplerate[MAX_D]; //< samplerate of source
static uint32_t m_frames[MAX_D]; //< duration of source in frames
static float* (interleaved[MAX_D]); //< internal soundfile buffer
#define HAVE_SRC
#ifdef HAVE_SRC
#include <samplerate.h>
static double src_ratio[MAX_D];
static SRC_STATE* rabbit[MAX_D];
static int rabbit_err[MAX_D];
static float* (resampled[MAX_D]); //< internal soundfile buffer
static uint32_t input_frames_used[MAX_D];
static uint32_t output_frames_generated[MAX_D];
#endif
static void vsjack_initialize(void) {
int d;
for (d = 0; d < MAX_D; d++) {
m_sndfile[d] = NULL;
interleaved[d] = NULL;
#ifdef HAVE_SRC
resampled[d] = NULL;
#endif
}
}
static void realloc_sf(int d, uint32_t buffersize) {
if (interleaved[d]) free(interleaved[d]);
interleaved[d] = (float*)calloc(m_channels[d] * buffersize, sizeof(float));
}
#ifdef HAVE_SRC
static void realloc_src(int d, uint32_t buffersize) {
if (resampled[d]) free(resampled[d]);
resampled[d] = (float*)calloc(m_channels[d] * buffersize, sizeof(float));
}
#endif
#if 0
void closefile_sf(int d) {
if (!m_sndfile[d]) return;
sf_close(m_sndfile[d]);
#ifdef HAVE_SRC
src_delete(rabbit[d]);
#endif
m_sndfile[d] = NULL;
}
#endif
static int openfile_sf(int d, char* filename, uint32_t channel, double oversampling) {
int nframes;
SF_INFO sfinfo;
if (!m_sndfile[d])
sf_close(m_sndfile[d]);
printf("Opening file '%s' for id:%i\n", filename, d);
/* search intensively for the input file */
char* const path = inp_pathresolve(filename);
if (!path) {
fprintf(stderr, "Error: Could not find file %s.\n", filename);
return (-1);
}
m_sndfile[d] = sf_open(path, SFM_READ, &sfinfo);
txfree(path);
if (SF_ERR_NO_ERROR != sf_error(m_sndfile[d])) {
fprintf(stderr, "Error: This is not a sndfile supported audio file format\n");
return (-1);
}
if (sfinfo.frames == 0) {
fprintf(stderr, "Error: This is an empty audio file\n");
return (-1);
}
nframes = sfinfo.frames;
if (channel >= sfinfo.channels) {
fprintf(stderr, "Error: Audio file does not have channel %d (0-%d)\n", channel, sfinfo.channels-1);
return (-1);
}
m_channel[d] = channel;
m_channels[d] = sfinfo.channels;
m_samplerate[d] = sfinfo.samplerate;
m_frames[d] = nframes;
realloc_sf(d, nframes);
#ifdef HAVE_SRC
src_ratio[d] = oversampling;
realloc_src(d, nframes * oversampling);
rabbit[d] = src_new(SRC_SINC_BEST_QUALITY, m_channels[d], &(rabbit_err[d]));
src_set_ratio(rabbit[d], oversampling);
src_reset(rabbit[d]);
output_frames_generated[d] = 0;
input_frames_used[d] = 0;
#endif
nframes = sf_readf_float(m_sndfile[d], (interleaved[d]), nframes);
if (nframes < 0) {
fprintf(stderr, "Error: Failed to read audio frames\n");
return (-1);
}
m_frames[d] = nframes;
return (0);
}
static double get_value(int d, double time) {
uint32_t channel = m_channel[d];
uint32_t nframes = m_frames[d];
double sample_fp = time * ((double)m_samplerate[d]);
uint32_t sample = (uint32_t)floor(sample_fp);
if (sample >= nframes) return (0.0);
#ifdef HAVE_SRC
double SRC_RATIO = src_ratio[d];
sample_fp *= SRC_RATIO;
sample = (uint32_t)floor(sample_fp);
// Do we need to generate more output frames?
while (sample >= output_frames_generated[d]) {
SRC_DATA src_data;
uint32_t output_generated = output_frames_generated[d];
uint32_t input_used = input_frames_used[d];
uint32_t input_frames_left = nframes - input_used;
// Not enough output frames, and nothing more to input?
// Give up.
if (!input_frames_left)
return (0.0);
// Do the resampling in smaller chunks
src_data.end_of_input = 1;
if (input_frames_left > VS_RESAMPLING_CHUNK) {
input_frames_left = VS_RESAMPLING_CHUNK;
src_data.end_of_input = 0;
}
src_data.data_in = interleaved[d] + m_channels[d] * input_used;
src_data.data_out = resampled[d] + m_channels[d] * output_generated;
src_data.input_frames = input_frames_left;
src_data.output_frames = nframes * SRC_RATIO - output_generated;
src_data.src_ratio = SRC_RATIO;
src_data.output_frames_gen = 0;
src_data.input_frames_used = 0;
if (src_process(rabbit[d], &src_data)) {
fprintf(stderr, "src_process() failed on sound file");
return -1;
}
output_frames_generated[d] += src_data.output_frames_gen;
input_frames_used[d] += src_data.input_frames_used;
if (src_data.end_of_input)
break;
}
// Are we past all the generated samples?
if (sample >= output_frames_generated[d])
return (0.0);
float val = ((float*)(resampled[d]))[m_channels[d] * sample + channel];
// Are we the last sample?
if (sample + 1 == output_frames_generated[d])
return val;
// linear interpolation between samples
double diff = sample_fp - sample;
float val1 = ((float*)(resampled[d]))[(m_channels[d] * (sample + 1)) + channel];
double rv = ((double)val) * (1.0 - diff) + ((double)val1) * diff;
return(rv);
#else // no upsampling.
return((double)(((float*)(interleaved[d]))[m_channels[d] * sample + channel]));
#endif
}
/*
* "public" functions
*/
double vsjack_get_value(int d, double time, double time_offset) {
assert(d >= 0 && d < MAX_D);
if (m_sndfile[d] == NULL) return (0.0); // FIXME
double value = get_value(d, time + time_offset);
return (value);
}
int vsjack_open(int d, char *file, int channel, double oversampling) {
static int initialized = 0;
if (!initialized) {
initialized = 1;
vsjack_initialize();
}
assert(d >= 0 && d < MAX_D);
if (openfile_sf(d, file, channel, oversampling)) {
fprintf(stderr, "Error: Could not open or read '%s'\n", file);
controlled_exit(1);
}
return (d);
}
/* vi:set ts=8 sts=4 sw=4: */

View File

@ -0,0 +1,3 @@
double vsjack_get_value (int, double time, double time_offset);
int vsjack_open (int, char *file, int channel, double oversampling);

View File

@ -23,6 +23,8 @@ IFparm VSRCpTable[] = { /* parameters */
IOP ("am", VSRC_AM, IF_REALVEC,"Amplitude modulation description"),
IOP ("trnoise", VSRC_TRNOISE, IF_REALVEC,"Transient noise description"),
IOP ("trrandom", VSRC_TRRANDOM, IF_REALVEC,"random source description"),
IP ("snd", VSRC_SOUND, IF_REALVEC,"External sound source parameters"),
OPU ("file", VSRC_FILE, IF_STRING, "External sound source filename"),
#ifdef SHARED_MODULE
IOP ("external", VSRC_EXTERNAL, IF_STRING,"external source description"),
#endif

View File

@ -327,6 +327,11 @@ VSRCaccept(CKTcircuit *ckt, GENmodel *inModel)
}
break;
case SOUND: {
/* no breakpoints (yet) */
}
break;
#ifdef SHARED_MODULE
case EXTERNAL: {
/* no breakpoints (yet) */

View File

@ -48,6 +48,7 @@ VSRCask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value, IFvalue *
case VSRC_AM:
case VSRC_TRNOISE:
case VSRC_TRRANDOM:
case VSRC_SOUND:
case VSRC_FCN_COEFFS:
temp = value->v.numValue = here->VSRCfunctionOrder;
v = value->v.vec.rVec = TMALLOC(double, here->VSRCfunctionOrder);

View File

@ -154,7 +154,8 @@ enum {
AM,
TRNOISE,
TRRANDOM,
EXTERNAL
EXTERNAL,
SOUND
#ifdef RFSPICE
,
PORT
@ -199,6 +200,8 @@ enum {
VSRC_TRNOISE,
VSRC_TRRANDOM,
VSRC_EXTERNAL,
VSRC_SOUND,
VSRC_FILE,
};
/* model parameters */

View File

@ -12,6 +12,7 @@ Modified: 2000 AlansFixes
#include "ngspice/suffix.h"
#include "ngspice/1-f-code.h"
#include "ngspice/compatmode.h"
#include "vsjack.h"
#ifdef XSPICE_EXP
/* gtri - begin - wbk - modify for supply ramping option */
@ -435,6 +436,12 @@ VNoi3 3 0 DC 0 TRNOISE(0 0 0 0 15m 22u 50u) : generate RTS noise
}
break;
case SOUND: {
value = here->VSRCcoeffs[2] * vsjack_get_value((int)here->VSRCcoeffs[0], time, here->VSRCcoeffs[3]);
value += here->VSRCcoeffs[1];
}
break;
#ifdef SHARED_MODULE
case EXTERNAL: {
value = getvsrcval(time, here->VSRCname);

View File

@ -12,6 +12,8 @@ Modified: 2000 AlansFixes
#include "ngspice/sperror.h"
#include "ngspice/suffix.h"
#include "ngspice/1-f-code.h"
#include "vsjack.h"
static void copy_coeffs(VSRCinstance *here, IFvalue *value)
@ -34,6 +36,8 @@ int
VSRCparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select)
{
int i;
static char* jfile = NULL;
VSRCinstance *here = (VSRCinstance *) inst;
NG_IGNORE(select);
@ -286,6 +290,34 @@ VSRCparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select)
}
break;
case VSRC_FILE: {
jfile = strdup(value->sValue);
}
break;
case VSRC_SOUND: {
int id, channel;
double oversampling;
here->VSRCfunctionType = SOUND;
here->VSRCfuncTGiven = TRUE;
copy_coeffs(here, value);
here->VSRCcoeffsGiven = TRUE;
if (!jfile) {
fprintf(stderr, "Warning! Need filename for sound input");
return(E_BADPARM);
}
if (value->v.numValue != 6) {
fprintf(stderr, "Warning! invalid jack args: %i\nFormat: jack(id v_off v_mult t_off channel oversampling)", value->v.numValue);
return (E_BADPARM);
}
id = (int)rint(here->VSRCcoeffs[0]);
channel = (int)rint(here->VSRCcoeffs[4]);
oversampling = here->VSRCcoeffs[5];
vsjack_open(id, jfile, channel, oversampling);
tfree(jfile);
}
break;
#ifdef SHARED_MODULE
case VSRC_EXTERNAL: {
here->VSRCfunctionType = EXTERNAL;

View File

@ -104,7 +104,7 @@ static LPCTSTR hwAnalyseWindowName = "AnalyseDisplay";
#else
static WNDCLASSW hwMainClassW; /* Class definition for the main window */
static LPCWSTR hwClassNameW = L"SPICE_TEXT_WND";/* Class name of the main window */
static LPCWSTR hwWindowNameW = L"ngspice 26"; /* main window displayed name */
static LPCWSTR hwWindowNameW = L"ngspice 43"; /* main window displayed name */
static WNDCLASSW twTextClassW; /* Class definition for the text box */
static LPCWSTR twClassNameW = L"SPICE_TEXT_BOX"; /* Class name for the text box */
static LPCWSTR twWindowNameW = L"TextOut"; /* text box name */

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug-fftw|Win32">
@ -162,13 +162,9 @@
<Message>force recompilation of conf.c with actual date</Message>
<Command>if exist $(IntDir)conf.obj del $(IntDir)conf.obj</Command>
</PreBuildEvent>
<CustomBuildStep>
<Message />
<Command />
</CustomBuildStep>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@ -185,7 +181,7 @@
<LanguageStandard>stdcpp14</LanguageStandard>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<SubSystem>Windows</SubSystem>
@ -198,7 +194,7 @@
<DataExecutionPrevention />
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Debug/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Debug/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-fftw|Win32'">
@ -256,15 +252,11 @@
<Message>force recompilation of conf.c with actual date</Message>
<Command>if exist $(IntDir)conf.obj del $(IntDir)conf.obj</Command>
</PreBuildEvent>
<CustomBuildStep>
<Message />
<Command />
</CustomBuildStep>
<ClCompile>
<Optimization>Full</Optimization>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling />
@ -278,7 +270,7 @@
<LanguageStandard>stdcpp14</LanguageStandard>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -292,7 +284,7 @@
<DataExecutionPrevention />
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -302,7 +294,7 @@
</PreBuildEvent>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@ -322,7 +314,7 @@
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<SubSystem>Windows</SubSystem>
@ -333,7 +325,7 @@
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<AdditionalLibraryDirectories>KLU\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-fftw|x64'">
@ -344,7 +336,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
</PreBuildEvent>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;..\..\fftw-3.3-dll64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;..\..\fftw-3.3-dll64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_LIBFFTW3;_CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@ -364,7 +356,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;$(IntDir)libfftw3-3.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;$(IntDir)libfftw3-3.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<SubSystem>Windows</SubSystem>
@ -375,7 +367,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<AdditionalLibraryDirectories>KLU\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -383,17 +375,11 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<Message>force recompilation of conf.c with current date</Message>
<Command>if exist $(IntDir)conf.obj del $(IntDir)conf.obj</Command>
</PreBuildEvent>
<CustomBuildStep>
<Message>
</Message>
<Command>
</Command>
</CustomBuildStep>
<ClCompile>
<Optimization>Full</Optimization>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -410,14 +396,14 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
<HeapCommitSize>0</HeapCommitSize>
<StackReserveSize>4194304</StackReserveSize>
<StackCommitSize>1048576</StackCommitSize>
<AdditionalLibraryDirectories>KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
@ -435,7 +421,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<Optimization>Full</Optimization>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling />
@ -450,7 +436,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<LanguageStandard>stdcpp14</LanguageStandard>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -464,7 +450,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<DataExecutionPrevention />
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseOMP-fftw|Win32'">
@ -516,17 +502,11 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<Message>force recompilation of conf.c with current date</Message>
<Command>if exist $(IntDir)conf.obj del $(IntDir)conf.obj</Command>
</PreBuildEvent>
<CustomBuildStep>
<Message>
</Message>
<Command>
</Command>
</CustomBuildStep>
<ClCompile>
<Optimization>Full</Optimization>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -545,7 +525,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -559,7 +539,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<DataExecutionPrevention>
</DataExecutionPrevention>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseOMP-fftw|x64'">
@ -578,7 +558,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<Optimization>Full</Optimization>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;..\..\fftw-3.3-dll64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;..\..\fftw-3.3-dll64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_LIBFFTW3;_CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -597,7 +577,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;$(IntDir)libfftw3-3.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;$(IntDir)libfftw3-3.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -611,7 +591,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<DataExecutionPrevention>
</DataExecutionPrevention>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
@ -1135,6 +1115,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<ClInclude Include="..\src\spicelib\devices\vdmos\vdmosext.h" />
<ClInclude Include="..\src\spicelib\devices\vdmos\vdmosinit.h" />
<ClInclude Include="..\src\spicelib\devices\vdmos\vdmositf.h" />
<ClInclude Include="..\src\spicelib\devices\vsrc\vsjack.h" />
<ClInclude Include="..\src\spicelib\devices\vsrc\vsrcdefs.h" />
<ClInclude Include="..\src\spicelib\devices\vsrc\vsrcext.h" />
<ClInclude Include="..\src\spicelib\devices\vsrc\vsrcinit.h" />
@ -1347,6 +1328,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<ClCompile Include="..\src\frontend\runcoms2.c" />
<ClCompile Include="..\src\frontend\shyu.c" />
<ClCompile Include="..\src\frontend\signal_handler.c" />
<ClCompile Include="..\src\frontend\sndprint.c" />
<ClCompile Include="..\src\frontend\spec.c" />
<ClCompile Include="..\src\frontend\spiceif.c" />
<ClCompile Include="..\src\frontend\streams.c" />
@ -2512,6 +2494,7 @@ lib /machine:x64 /def:..\..\fftw-3.3-dll64\libfftw3-3.def /out:$(IntDir)libfftw3
<ClCompile Include="..\src\spicelib\devices\vdmos\vdmossoachk.c" />
<ClCompile Include="..\src\spicelib\devices\vdmos\vdmostemp.c" />
<ClCompile Include="..\src\spicelib\devices\vdmos\vdmostrun.c" />
<ClCompile Include="..\src\spicelib\devices\vsrc\vsjack.c" />
<ClCompile Include="..\src\spicelib\devices\vsrc\vsrc.c" />
<ClCompile Include="..\src\spicelib\devices\vsrc\vsrcacct.c" />
<ClCompile Include="..\src\spicelib\devices\vsrc\vsrcacld.c" />

View File

@ -211,7 +211,7 @@
</PreBuildEvent>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -229,7 +229,7 @@
<OpenMPSupport>true</OpenMPSupport>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -241,7 +241,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Debug/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Debug/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>make-install-vngspiced.bat $(OutDir)</Command>
@ -260,7 +260,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -278,7 +278,7 @@
<OpenMPSupport>true</OpenMPSupport>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -293,7 +293,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>
@ -314,7 +314,7 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONFIG64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -332,7 +332,7 @@
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -344,7 +344,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>
@ -368,7 +368,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONFIG64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -386,7 +386,7 @@
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -403,7 +403,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>
@ -421,7 +421,7 @@
</PreBuildEvent>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -439,7 +439,7 @@
<OpenMPSupport>true</OpenMPSupport>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -451,7 +451,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Debug/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Debug/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>make-install-vngspiced.bat $(OutDir)</Command>
@ -470,7 +470,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -488,7 +488,7 @@
<OpenMPSupport>true</OpenMPSupport>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -503,7 +503,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>make-install-vngspice.bat $(OutDir)</Command>
@ -522,7 +522,7 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONSOLE;CONFIG64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -540,7 +540,7 @@
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -552,7 +552,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>
@ -576,7 +576,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;CONFIG64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -594,7 +594,7 @@
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -609,7 +609,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>
@ -630,7 +630,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -648,7 +648,7 @@
<LanguageStandard>stdcpp14</LanguageStandard>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -663,7 +663,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>make-install-vngspice.bat $(OutDir)</Command>
@ -685,7 +685,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;CONFIG64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -705,7 +705,7 @@
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -722,7 +722,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>
@ -743,7 +743,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;USE_OMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -761,7 +761,7 @@
<LanguageStandard>stdcpp14</LanguageStandard>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -776,7 +776,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU/Release/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>make-install-vngspice.bat $(OutDir)</Command>
@ -798,7 +798,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\libsamplerate\include;..\..\libsndfile\include;..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;CONFIG64;USE_OMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
@ -818,7 +818,7 @@
<AdditionalOptions>/openmp:llvm %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>sndfile.lib;samplerate.lib;psapi.lib;KLU_COMPLEX.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<HeapReserveSize>0</HeapReserveSize>
@ -833,7 +833,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalLibraryDirectories>KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../libsamplerate/lib;../../libsndfile/lib;KLU\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PostBuildEvent>
<Command>
@ -949,6 +949,7 @@
<ClInclude Include="..\src\frontend\runcoms2.h" />
<ClInclude Include="..\src\frontend\shyu.h" />
<ClInclude Include="..\src\frontend\signal_handler.h" />
<ClInclude Include="..\src\frontend\sndprint.h" />
<ClInclude Include="..\src\frontend\spec.h" />
<ClInclude Include="..\src\frontend\spiceif.h" />
<ClInclude Include="..\src\frontend\streams.h" />
@ -1366,6 +1367,7 @@
<ClInclude Include="..\src\spicelib\devices\vdmos\vdmosext.h" />
<ClInclude Include="..\src\spicelib\devices\vdmos\vdmosinit.h" />
<ClInclude Include="..\src\spicelib\devices\vdmos\vdmositf.h" />
<ClInclude Include="..\src\spicelib\devices\vsrc\vsjack.h" />
<ClInclude Include="..\src\spicelib\devices\vsrc\vsrcdefs.h" />
<ClInclude Include="..\src\spicelib\devices\vsrc\vsrcext.h" />
<ClInclude Include="..\src\spicelib\devices\vsrc\vsrcinit.h" />
@ -1578,6 +1580,7 @@
<ClCompile Include="..\src\frontend\runcoms2.c" />
<ClCompile Include="..\src\frontend\shyu.c" />
<ClCompile Include="..\src\frontend\signal_handler.c" />
<ClCompile Include="..\src\frontend\sndprint.c" />
<ClCompile Include="..\src\frontend\spec.c" />
<ClCompile Include="..\src\frontend\spiceif.c" />
<ClCompile Include="..\src\frontend\streams.c" />
@ -2747,6 +2750,7 @@
<ClCompile Include="..\src\spicelib\devices\vdmos\vdmossoachk.c" />
<ClCompile Include="..\src\spicelib\devices\vdmos\vdmostemp.c" />
<ClCompile Include="..\src\spicelib\devices\vdmos\vdmostrun.c" />
<ClCompile Include="..\src\spicelib\devices\vsrc\vsjack.c" />
<ClCompile Include="..\src\spicelib\devices\vsrc\vsrc.c" />
<ClCompile Include="..\src\spicelib\devices\vsrc\vsrcacct.c" />
<ClCompile Include="..\src\spicelib\devices\vsrc\vsrcacld.c" />