update luadoc tools
authorRobin Gareus <robin@gareus.org>
Tue, 12 Apr 2016 22:48:39 +0000 (00:48 +0200)
committerRobin Gareus <robin@gareus.org>
Tue, 12 Apr 2016 22:52:25 +0000 (00:52 +0200)
tools/fmt-luadoc.php
tools/update_luadoc.sh

index 530a4d8c48e856259b868f12701f86f2c5e44fc0..073061d068091326734a1885795eb8544e67dfc9 100755 (executable)
@@ -420,8 +420,10 @@ foreach ($classlist as $ns => $cl) {
                if ($c['lua'] == $ns) {
                        if (strpos ($c['type'], 'Pointer Class') !== false) {
                                $classlist[$ns]['ptr'] = true;
-                               $classlist[$ns]['decl'] = 'boost::shared_ptr< '.$c['decl']. ' >, boost::weak_ptr< '.$c['decl']. ' >';
+                               $classlist[$ns]['cdecl'] = 'boost::shared_ptr< '.$c['decl']. ' >, boost::weak_ptr< '.$c['decl']. ' >';
                                break;
+                       } else {
+                               $classlist[$ns]['cdecl'] = $c['decl'];
                        }
                }
        }
@@ -481,10 +483,19 @@ function doxydoc ($canonical_declaration) {
        if (isset ($api[$canonical_declaration])) {
                $dox_found++;
                return $api[$canonical_declaration]['doc'];
-       } else {
-               $dox_miss++;
-               return '';
        }
+       // remove template namespace e.g.
+       //  "ARDOUR::Track::bounceable(boost::shared_ptr<ARDOUR::Processor>"
+       //  "ARDOUR::Track::bounceable(boost::shared_ptr<Processor>"
+       $cn = preg_replace ('/<[^>]*::([^>]*)>/', '<$1>', $canonical_declaration);
+       if (isset ($api[$cn])) {
+               $dox_found++;
+               return $api[$cn]['doc'];
+       }
+       #fwrite (STDERR, $canonical_declaration."\n"); # XXX DEBUG
+
+       $dox_miss++;
+       return '';
 }
 
 ################################################################################
@@ -932,7 +943,7 @@ foreach ($classlist as $ns => $cl) {
 
        # show original C++ declaration
        if (isset ($cl['decl'])) {
-               echo '<p class="cdecl"><em>C&#8225;</em>: '.htmlentities ($cl['decl']).'</p>'.NL;
+               echo '<p class="cdecl"><em>C&#8225;</em>: '.htmlentities ($cl['cdecl']).'</p>'.NL;
        }
 
        # print class inheritance (direct parent *name* only)
index 048374d835297fe109430ab8812121e3708e6ad0..07001cab5829e2444bcb9e5bcc53168f995838d0 100755 (executable)
@@ -9,7 +9,9 @@ test -e ../gtk2_ardour/arluadoc
 test -e ../build/gtk2_ardour/luadoc
 
 # generate ../doc/ardourapi.json.gz
-./doxy2json/ardourdoc.sh
+if test -z "$1"; then
+       ./doxy2json/ardourdoc.sh
+fi
 
 # generate ../doc/luadoc.json.gz
 $DIR/../gtk2_ardour/arluadoc