Wiki » History » Version 4
Version 3 (Luis Figueira, 2013-11-28 07:33 PM) → Version 4/27 (Luis Figueira, 2013-11-28 07:33 PM)
h1. Wiki
h3. Some issues on building the compiled version of the MATLAB code
h4. Reading config files (m files using eval)
When reading/writing files - such as config files - not everything will behave like in the matlab console.
The way teh config files were being read was not working - was simply using eval. It was necessary to read the file manually, adapting the suggestion found here: http://stackoverflow.com/questions/185461/reading-input-m-file-in-a-main-m-file#185660
> (...)in (...)n a function we would create a text file, INP, containing our parameters.
> We create this file in the directory returned by the ctfroot function.
> Then, in MAIN, we would use the following to retrieve these parameters:
>
<pre>
eval(char(textread(fullfile(ctfroot, INP), '%s', 'whitespace', '');
</pre>
See commit:d9262cdbfb38d9262cdbfb38 on the jabuilder-int branch.
h4. Other input/output files
At the moment the input/output is done in the same folder where the the java class is being called from (hrir_final.mat, for instance).
h3. Building the isvr jar
<pre>
> /Applications/MATLAB_R2013b.app/bin/mcc -W "java:uk.ac.soton.isvr,HumanEcho" -d ./scratch -T "link:lib" -v "class{HumanEcho:./webapp/WEB-INF/mcode/gen_echo.m}"
</pre>
h4. Contents of the isvr jar
<pre>
> jar tvf scratch/isvr.jar
0 Tue Nov 26 16:47:42 GMT 2013 META-INF/
68 Tue Nov 26 16:47:44 GMT 2013 META-INF/MANIFEST.MF
0 Tue Nov 26 16:47:30 GMT 2013 uk/
0 Tue Nov 26 16:47:30 GMT 2013 uk/ac/
0 Tue Nov 26 16:47:30 GMT 2013 uk/ac/soton/
0 Tue Nov 26 16:47:36 GMT 2013 uk/ac/soton/isvr/
3895 Tue Nov 26 16:47:36 GMT 2013 uk/ac/soton/isvr/HumanEcho.class
336 Tue Nov 26 16:47:36 GMT 2013 uk/ac/soton/isvr/HumanEchoRemote.class
168802 Tue Nov 26 16:47:30 GMT 2013 uk/ac/soton/isvr/isvr.ctf
1798 Tue Nov 26 16:47:36 GMT 2013 uk/ac/soton/isvr/IsvrMCRFactory.class
</pre>
h3. Some issues on building the compiled version of the MATLAB code
h4. Reading config files (m files using eval)
When reading/writing files - such as config files - not everything will behave like in the matlab console.
The way teh config files were being read was not working - was simply using eval. It was necessary to read the file manually, adapting the suggestion found here: http://stackoverflow.com/questions/185461/reading-input-m-file-in-a-main-m-file#185660
> (...)in (...)n a function we would create a text file, INP, containing our parameters.
> We create this file in the directory returned by the ctfroot function.
> Then, in MAIN, we would use the following to retrieve these parameters:
>
<pre>
eval(char(textread(fullfile(ctfroot, INP), '%s', 'whitespace', '');
</pre>
See commit:d9262cdbfb38d9262cdbfb38 on the jabuilder-int branch.
h4. Other input/output files
At the moment the input/output is done in the same folder where the the java class is being called from (hrir_final.mat, for instance).
h3. Building the isvr jar
<pre>
> /Applications/MATLAB_R2013b.app/bin/mcc -W "java:uk.ac.soton.isvr,HumanEcho" -d ./scratch -T "link:lib" -v "class{HumanEcho:./webapp/WEB-INF/mcode/gen_echo.m}"
</pre>
h4. Contents of the isvr jar
<pre>
> jar tvf scratch/isvr.jar
0 Tue Nov 26 16:47:42 GMT 2013 META-INF/
68 Tue Nov 26 16:47:44 GMT 2013 META-INF/MANIFEST.MF
0 Tue Nov 26 16:47:30 GMT 2013 uk/
0 Tue Nov 26 16:47:30 GMT 2013 uk/ac/
0 Tue Nov 26 16:47:30 GMT 2013 uk/ac/soton/
0 Tue Nov 26 16:47:36 GMT 2013 uk/ac/soton/isvr/
3895 Tue Nov 26 16:47:36 GMT 2013 uk/ac/soton/isvr/HumanEcho.class
336 Tue Nov 26 16:47:36 GMT 2013 uk/ac/soton/isvr/HumanEchoRemote.class
168802 Tue Nov 26 16:47:30 GMT 2013 uk/ac/soton/isvr/isvr.ctf
1798 Tue Nov 26 16:47:36 GMT 2013 uk/ac/soton/isvr/IsvrMCRFactory.class
</pre>