1#!/bin/bash 2cd `dirname $0` 3cd ../.. 4 5set -e 6 7test -f "$1" 8 9echo "# consolidating JSON $1" 10php << EOF 11<?php 12\$json = file_get_contents ('$1'); 13\$api = array (); 14foreach (json_decode (\$json, true) as \$a) { 15 if (!isset (\$a['decl'])) { continue; } 16 17 \$a['decl'] = str_replace ('__cxx11::', '', \$a['decl']); 18 \$a['decl'] = str_replace ('size_t', 'unsigned long', \$a['decl']); 19 \$a['decl'] = str_replace ('uint32_t', 'unsigned int', \$a['decl']); 20 \$a['decl'] = str_replace ('int32_t', 'int', \$a['decl']); 21 \$a['decl'] = str_replace ('ARDOUR::samplepos_t', 'long', \$a['decl']); 22 \$a['decl'] = str_replace ('ARDOUR::samplecnt_t', 'long', \$a['decl']); 23 \$a['decl'] = str_replace ('ARDOUR::sampleoffset_t', 'long', \$a['decl']); 24 \$a['decl'] = str_replace ('ARDOUR::frameoffset_t', 'long', \$a['decl']); 25 \$a['decl'] = str_replace ('ARDOUR::pframes_t', 'unsigned int', \$a['decl']); 26 \$a['decl'] = str_replace ('ARDOUR::Sample', 'float', \$a['decl']); 27 \$a['decl'] = str_replace ('ARDOUR::gain_t', 'float', \$a['decl']); 28 \$a['decl'] = str_replace ('samplepos_t', 'long', \$a['decl']); 29 \$a['decl'] = str_replace ('samplecnt_t', 'long', \$a['decl']); 30 \$a['decl'] = str_replace ('sampleoffset_t', 'long', \$a['decl']); 31 \$a['decl'] = str_replace ('frameoffset_t', 'long', \$a['decl']); 32 \$a['decl'] = str_replace ('pframes_t', 'unsigned int', \$a['decl']); 33 \$a['decl'] = preg_replace ('/\bSample\b/', 'float', \$a['decl']); 34 \$a['decl'] = str_replace ('gain_t', 'float', \$a['decl']); 35 \$a['decl'] = str_replace ('int64_t', 'long', \$a['decl']); 36 \$a['decl'] = str_replace ('uint8_t', 'unsigned char', \$a['decl']); 37 \$a['decl'] = str_replace ('uint64_t', 'unsigned long', \$a['decl']); 38 \$a['decl'] = str_replace ('const char', 'char', \$a['decl']); 39 \$a['decl'] = str_replace ('const float', 'float', \$a['decl']); 40 \$a['decl'] = str_replace ('const double', 'double', \$a['decl']); 41 \$a['decl'] = str_replace ('const long', 'long', \$a['decl']); 42 \$a['decl'] = str_replace ('const unsigned int', 'unsigned int', \$a['decl']); 43 \$a['decl'] = str_replace ('const unsigned long', 'unsigned long', \$a['decl']); 44 \$a['decl'] = str_replace (' ::Vamp::', ' Vamp::', \$a['decl']); 45 \$a['decl'] = str_replace ('Cairo::Context::set_line_join(LineJoin)', 'Cairo::Context::set_line_join(Cairo::LineJoin)', \$a['decl']); 46 \$a['decl'] = str_replace ('Cairo::Context::set_line_cap(LineCap)', 'Cairo::Context::set_line_cap(Cairo::LineCap)', \$a['decl']); 47 \$a['decl'] = str_replace ('Cairo::Context::set_operator(Operator)', 'Cairo::Context::set_operator(Cairo::Operator)', \$a['decl']); 48 \$canon = str_replace (' *', '*', \$a['decl']); 49 \$api[\$canon] = \$a; 50} 51\$jout = array (); 52foreach (\$api as \$k => \$a) { 53 \$jout[] = \$a; 54} 55file_put_contents('doc/ardourapi.json.gz', gzencode (json_encode (\$jout, JSON_PRETTY_PRINT))); 56EOF 57 58ls -l doc/ardourapi.json.gz 59