Changeset 9fa0ed1
- Timestamp:
- Jul 24, 2017, 2:12:55 PM (7 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master
- Children:
- 1070378
- Parents:
- 482641d (diff), ddea34b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/web.cfg
r482641d r9fa0ed1 1 # Doxyfile 1.8. 81 # Doxyfile 1.8.13 2 2 3 3 # This file describes the settings to be used by the documentation system … … 47 47 PROJECT_BRIEF = 48 48 49 # With the PROJECT_LOGO tag one can specify a n logo or icon that is included in50 # the documentation. The maximum height of the logo should not exceed 55 pixels51 # and the maximum width should not exceed 200 pixels. Doxygen will copy the logo52 # t o the output directory.49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included 50 # in the documentation. The maximum height of the logo should not exceed 55 51 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy 52 # the logo to the output directory. 53 53 54 54 PROJECT_LOGO = … … 61 61 OUTPUT_DIRECTORY = web 62 62 63 # If the CREATE_SUBDIRS tag is set to YES ,then doxygen will create 4096 sub-63 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- 64 64 # directories (in 2 levels) under the output directory of each output format and 65 65 # will distribute the generated files over these directories. Enabling this … … 94 94 OUTPUT_LANGUAGE = English 95 95 96 # If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member96 # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member 97 97 # descriptions after the members that are listed in the file and class 98 98 # documentation (similar to Javadoc). Set to NO to disable this. … … 101 101 BRIEF_MEMBER_DESC = YES 102 102 103 # If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief103 # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief 104 104 # description of a member or function before the detailed description 105 105 # … … 136 136 INLINE_INHERITED_MEMB = NO 137 137 138 # If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path138 # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path 139 139 # before files name in the file list and in the header files. If set to NO the 140 140 # shortest path that makes the file name unique will be used … … 206 206 INHERIT_DOCS = YES 207 207 208 # If the SEPARATE_MEMBER_PAGES tag is set to YES , then doxygen will produce a209 # new page for each member. If set to NO, the documentation of a member will be210 # partof the file/class/namespace that contains it.208 # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new 209 # page for each member. If set to NO, the documentation of a member will be part 210 # of the file/class/namespace that contains it. 211 211 # The default value is: NO. 212 212 … … 277 277 # and .f files as C (default is Fortran), use: inc=Fortran f=C. 278 278 # 279 # Note For files without extension you can use no_extension as a placeholder.279 # Note: For files without extension you can use no_extension as a placeholder. 280 280 # 281 281 # Note that for custom extensions you also need to set FILE_PATTERNS otherwise … … 294 294 MARKDOWN_SUPPORT = YES 295 295 296 # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up 297 # to that level are automatically included in the table of contents, even if 298 # they do not have an id attribute. 299 # Note: This feature currently applies only to Markdown headings. 300 # Minimum value: 0, maximum value: 99, default value: 0. 301 # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. 302 303 TOC_INCLUDE_HEADINGS = 0 304 296 305 # When enabled doxygen tries to link words that correspond to documented 297 306 # classes, or namespaces to their corresponding documentation. Such a link can 298 # be prevented in individual cases by by putting a % sign in front of the word299 # orglobally by setting AUTOLINK_SUPPORT to NO.307 # be prevented in individual cases by putting a % sign in front of the word or 308 # globally by setting AUTOLINK_SUPPORT to NO. 300 309 # The default value is: YES. 301 310 … … 337 346 338 347 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 339 # tag is set to YES ,then doxygen will reuse the documentation of the first348 # tag is set to YES then doxygen will reuse the documentation of the first 340 349 # member in the group (if any) for the other members of the group. By default 341 350 # all members of a group must be documented explicitly. … … 343 352 344 353 DISTRIBUTE_GROUP_DOC = NO 354 355 # If one adds a struct or class to a group and this option is enabled, then also 356 # any nested class or struct is added to the same group. By default this option 357 # is disabled and one has to add nested compounds explicitly via \ingroup. 358 # The default value is: NO. 359 360 GROUP_NESTED_COMPOUNDS = NO 345 361 346 362 # Set the SUBGROUPING tag to YES to allow class member groups of the same type … … 402 418 #--------------------------------------------------------------------------- 403 419 404 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in420 # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in 405 421 # documentation are documented, even if no documentation was available. Private 406 422 # class members and static file members will be hidden unless the … … 412 428 EXTRACT_ALL = NO 413 429 414 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class will430 # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will 415 431 # be included in the documentation. 416 432 # The default value is: NO. … … 418 434 EXTRACT_PRIVATE = NO 419 435 420 # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal436 # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal 421 437 # scope will be included in the documentation. 422 438 # The default value is: NO. … … 424 440 EXTRACT_PACKAGE = NO 425 441 426 # If the EXTRACT_STATIC tag is set to YES all static members of a file will be442 # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be 427 443 # included in the documentation. 428 444 # The default value is: NO. … … 430 446 EXTRACT_STATIC = NO 431 447 432 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined433 # locally in source files will be included in the documentation. If set to NO 448 # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined 449 # locally in source files will be included in the documentation. If set to NO, 434 450 # only classes defined in header files are included. Does not have any effect 435 451 # for Java sources. … … 438 454 EXTRACT_LOCAL_CLASSES = YES 439 455 440 # This flag is only useful for Objective-C code. When set to YESlocal methods,456 # This flag is only useful for Objective-C code. If set to YES, local methods, 441 457 # which are defined in the implementation section but not in the interface are 442 # included in the documentation. If set to NO only methods in the interface are458 # included in the documentation. If set to NO, only methods in the interface are 443 459 # included. 444 460 # The default value is: NO. … … 465 481 # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all 466 482 # undocumented classes that are normally visible in the class hierarchy. If set 467 # to NO these classes will be included in the various overviews. This option has468 # no effect if EXTRACT_ALL is enabled.483 # to NO, these classes will be included in the various overviews. This option 484 # has no effect if EXTRACT_ALL is enabled. 469 485 # The default value is: NO. 470 486 … … 472 488 473 489 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend 474 # (class|struct|union) declarations. If set to NO these declarations will be490 # (class|struct|union) declarations. If set to NO, these declarations will be 475 491 # included in the documentation. 476 492 # The default value is: NO. … … 479 495 480 496 # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any 481 # documentation blocks found inside the body of a function. If set to NO these497 # documentation blocks found inside the body of a function. If set to NO, these 482 498 # blocks will be appended to the function's detailed documentation block. 483 499 # The default value is: NO. … … 493 509 494 510 # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file 495 # names in lower-case letters. If set to YES upper-case letters are also511 # names in lower-case letters. If set to YES, upper-case letters are also 496 512 # allowed. This is useful if you have classes or files whose names only differ 497 513 # in case and if your file system supports case sensitive file names. Windows … … 502 518 503 519 # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with 504 # their full class and namespace scopes in the documentation. If set to YES the520 # their full class and namespace scopes in the documentation. If set to YES, the 505 521 # scope will be hidden. 506 522 # The default value is: NO. 507 523 508 524 HIDE_SCOPE_NAMES = NO 525 526 # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will 527 # append additional text to a page's title, such as Class Reference. If set to 528 # YES the compound reference will be hidden. 529 # The default value is: NO. 530 531 HIDE_COMPOUND_REFERENCE= NO 509 532 510 533 # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of … … 535 558 # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the 536 559 # (detailed) documentation of file and class members alphabetically by member 537 # name. If set to NO the members will appear in declaration order.560 # name. If set to NO, the members will appear in declaration order. 538 561 # The default value is: YES. 539 562 … … 542 565 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief 543 566 # descriptions of file, namespace and class members alphabetically by member 544 # name. If set to NO the members will appear in declaration order. Note that567 # name. If set to NO, the members will appear in declaration order. Note that 545 568 # this will also influence the order of the classes in the class list. 546 569 # The default value is: NO. … … 587 610 STRICT_PROTO_MATCHING = NO 588 611 589 # The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the 590 # todo list. This list is created by putting \todo commands in the 591 # documentation. 612 # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo 613 # list. This list is created by putting \todo commands in the documentation. 592 614 # The default value is: YES. 593 615 594 616 GENERATE_TODOLIST = YES 595 617 596 # The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the 597 # test list. This list is created by putting \test commands in the 598 # documentation. 618 # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test 619 # list. This list is created by putting \test commands in the documentation. 599 620 # The default value is: YES. 600 621 601 622 GENERATE_TESTLIST = YES 602 623 603 # The GENERATE_BUGLIST tag can be used to enable ( YES) or disable (NO) the bug624 # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug 604 625 # list. This list is created by putting \bug commands in the documentation. 605 626 # The default value is: YES. … … 607 628 GENERATE_BUGLIST = YES 608 629 609 # The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable (NO)630 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) 610 631 # the deprecated list. This list is created by putting \deprecated commands in 611 632 # the documentation. … … 632 653 633 654 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at 634 # the bottom of the documentation of classes and structs. If set to YES the list635 # will mention the files that were used to generate the documentation.655 # the bottom of the documentation of classes and structs. If set to YES, the 656 # list will mention the files that were used to generate the documentation. 636 657 # The default value is: YES. 637 658 … … 697 718 698 719 # The WARNINGS tag can be used to turn on/off the warning messages that are 699 # generated to standard error ( 720 # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES 700 721 # this implies that the warnings are on. 701 722 # … … 705 726 WARNINGS = YES 706 727 707 # If the WARN_IF_UNDOCUMENTED tag is set to YES ,then doxygen will generate728 # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate 708 729 # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag 709 730 # will automatically be disabled. … … 722 743 # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that 723 744 # are documented, but have no documentation for their parameters or return 724 # value. If set to NO doxygen will only warn about wrong or incomplete parameter725 # documentation, but not about the absence of documentation.745 # value. If set to NO, doxygen will only warn about wrong or incomplete 746 # parameter documentation, but not about the absence of documentation. 726 747 # The default value is: NO. 727 748 728 749 WARN_NO_PARAMDOC = NO 750 751 # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when 752 # a warning is encountered. 753 # The default value is: NO. 754 755 WARN_AS_ERROR = NO 729 756 730 757 # The WARN_FORMAT tag determines the format of the warning messages that doxygen … … 751 778 # documented source files. You may enter file names like myfile.cpp or 752 779 # directories like /usr/src/myproject. Separate the files or directories with 753 # spaces. 780 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING 754 781 # Note: If this tag is empty the current directory is searched. 755 782 … … 767 794 # If the value of the INPUT tag contains directories, you can use the 768 795 # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and 769 # *.h) to filter out the source-files in the directories. If left blank the 770 # following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, 771 # *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, 772 # *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, 773 # *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, 774 # *.qsf, *.as and *.js. 796 # *.h) to filter out the source-files in the directories. 797 # 798 # Note that for custom extensions or not directly supported extensions you also 799 # need to set EXTENSION_MAPPING for the extension otherwise the files are not 800 # read by doxygen. 801 # 802 # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, 803 # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, 804 # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, 805 # *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, 806 # *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. 775 807 776 808 FILE_PATTERNS = *.h … … 881 913 # code is scanned, but not when the output code is generated. If lines are added 882 914 # or removed, the anchors will not be placed correctly. 915 # 916 # Note that for custom extensions or not directly supported extensions you also 917 # need to set EXTENSION_MAPPING for the extension otherwise the files are not 918 # properly processed by doxygen. 883 919 884 920 INPUT_FILTER = … … 890 926 # filters are used. If the FILTER_PATTERNS tag is empty or if none of the 891 927 # patterns match the file name, INPUT_FILTER is applied. 928 # 929 # Note that for custom extensions or not directly supported extensions you also 930 # need to set EXTENSION_MAPPING for the extension otherwise the files are not 931 # properly processed by doxygen. 892 932 893 933 FILTER_PATTERNS = 894 934 895 935 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 896 # INPUT_FILTER 936 # INPUT_FILTER) will also be used to filter the input files that are used for 897 937 # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). 898 938 # The default value is: NO. … … 954 994 955 995 # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set 956 # to YES ,then the hyperlinks from functions in REFERENCES_RELATION and996 # to YES then the hyperlinks from functions in REFERENCES_RELATION and 957 997 # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will 958 998 # link to the documentation. … … 1001 1041 VERBATIM_HEADERS = YES 1002 1042 1003 # If the CLANG_ASSISTED_PARSING tag is set to YES ,then doxygen will use the1043 # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the 1004 1044 # clang parser (see: http://clang.llvm.org/) for more accurate parsing at the 1005 1045 # cost of reduced performance. This can be particularly helpful with template … … 1007 1047 # information. 1008 1048 # Note: The availability of this option depends on whether or not doxygen was 1009 # compiled with the --with-libclang option.1049 # generated with the -Duse-libclang=ON option for CMake. 1010 1050 # The default value is: NO. 1011 1051 … … 1050 1090 #--------------------------------------------------------------------------- 1051 1091 1052 # If the GENERATE_HTML tag is set to YES doxygen will generate HTML output1092 # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output 1053 1093 # The default value is: YES. 1054 1094 … … 1116 1156 # created by doxygen. Using this option one can overrule certain style aspects. 1117 1157 # This is preferred over using HTML_STYLESHEET since it does not replace the 1118 # standard style sheet and is therefor more robust against future updates.1158 # standard style sheet and is therefore more robust against future updates. 1119 1159 # Doxygen will copy the style sheet files to the output directory. 1120 # Note: The order of the extra style sheet files is of importance (e.g. the last1121 # style sheet in the list overrules the setting of the previous ones in the1160 # Note: The order of the extra style sheet files is of importance (e.g. the last 1161 # style sheet in the list overrules the setting of the previous ones in the 1122 1162 # list). For an example see the documentation. 1123 1163 # This tag requires that the tag GENERATE_HTML is set to YES. … … 1136 1176 1137 1177 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen 1138 # will adjust the colors in the style sheet and background images according to1178 # will adjust the colors in the style sheet and background images according to 1139 1179 # this color. Hue is specified as an angle on a colorwheel, see 1140 1180 # http://en.wikipedia.org/wiki/Hue for more information. For instance the value … … 1167 1207 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 1168 1208 # page will contain the date and time when the page was generated. Setting this 1169 # to NO can help when comparing the output of multiple runs. 1170 # The default value is: YES. 1209 # to YES can help to show when doxygen was last run and thus if the 1210 # documentation is up to date. 1211 # The default value is: NO. 1171 1212 # This tag requires that the tag GENERATE_HTML is set to YES. 1172 1213 … … 1264 1305 1265 1306 # The HHC_LOCATION tag can be used to specify the location (absolute path 1266 # including file name) of the HTML help compiler ( hhc.exe). If non-empty1307 # including file name) of the HTML help compiler (hhc.exe). If non-empty, 1267 1308 # doxygen will try to run the HTML help compiler on the generated index.hhp. 1268 1309 # The file has to be specified with full path. … … 1271 1312 HHC_LOCATION = 1272 1313 1273 # The GENERATE_CHI flag controls if a separate .chi index file is generated (1274 # YES) or that it should be included in the master .chm file (NO).1314 # The GENERATE_CHI flag controls if a separate .chi index file is generated 1315 # (YES) or that it should be included in the master .chm file (NO). 1275 1316 # The default value is: NO. 1276 1317 # This tag requires that the tag GENERATE_HTMLHELP is set to YES. … … 1278 1319 GENERATE_CHI = NO 1279 1320 1280 # The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content (hhc)1321 # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) 1281 1322 # and project file content. 1282 1323 # This tag requires that the tag GENERATE_HTMLHELP is set to YES. … … 1284 1325 CHM_INDEX_ENCODING = 1285 1326 1286 # The BINARY_TOC flag controls whether a binary table of contents is generated (1287 # YES) or a normal table of contents (NO) in the .chm file. Furthermore it1327 # The BINARY_TOC flag controls whether a binary table of contents is generated 1328 # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it 1288 1329 # enables the Previous and Next buttons. 1289 1330 # The default value is: NO. … … 1399 1440 # to work a browser that supports JavaScript, DHTML, CSS and frames is required 1400 1441 # (i.e. any modern browser). Windows users are probably better off using the 1401 # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can1442 # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can 1402 1443 # further fine-tune the look of the index. As an example, the default style 1403 1444 # sheet generated by doxygen has an example that shows how to put an image at … … 1427 1468 TREEVIEW_WIDTH = 250 1428 1469 1429 # When the EXT_LINKS_IN_WINDOW option is set to YESdoxygen will open links to1470 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to 1430 1471 # external symbols imported via tag files in a separate window. 1431 1472 # The default value is: NO. … … 1456 1497 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see 1457 1498 # http://www.mathjax.org) which uses client side Javascript for the rendering 1458 # instead of using pre rendered bitmaps. Use this if you do not have LaTeX1499 # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX 1459 1500 # installed or if you want to formulas look prettier in the HTML output. When 1460 1501 # enabled you may also need to install MathJax separately and configure the path … … 1542 1583 # search results. 1543 1584 # 1544 # Doxygen ships with an example indexer ( 1585 # Doxygen ships with an example indexer (doxyindexer) and search engine 1545 1586 # (doxysearch.cgi) which are based on the open source search engine library 1546 1587 # Xapian (see: http://xapian.org/). … … 1555 1596 # which will return the search results when EXTERNAL_SEARCH is enabled. 1556 1597 # 1557 # Doxygen ships with an example indexer ( 1598 # Doxygen ships with an example indexer (doxyindexer) and search engine 1558 1599 # (doxysearch.cgi) which are based on the open source search engine library 1559 1600 # Xapian (see: http://xapian.org/). See the section "External Indexing and … … 1593 1634 #--------------------------------------------------------------------------- 1594 1635 1595 # If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.1636 # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. 1596 1637 # The default value is: YES. 1597 1638 … … 1624 1665 MAKEINDEX_CMD_NAME = makeindex 1625 1666 1626 # If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX1667 # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX 1627 1668 # documents. This may be useful for small projects and may help to save some 1628 1669 # trees in general. … … 1642 1683 1643 1684 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names 1644 # that should be included in the LaTeX output. To get the times font for 1645 # instance you can specify 1646 # EXTRA_PACKAGES=times 1685 # that should be included in the LaTeX output. The package can be specified just 1686 # by its name or with the correct syntax as to be used with the LaTeX 1687 # \usepackage command. To get the times font for instance you can specify : 1688 # EXTRA_PACKAGES=times or EXTRA_PACKAGES={times} 1689 # To use the option intlimits with the amsmath package you can specify: 1690 # EXTRA_PACKAGES=[intlimits]{amsmath} 1647 1691 # If left blank no extra packages will be included. 1648 1692 # This tag requires that the tag GENERATE_LATEX is set to YES. … … 1659 1703 # following commands have a special meaning inside the header: $title, 1660 1704 # $datetime, $date, $doxygenversion, $projectname, $projectnumber, 1661 # $projectbrief, $projectlogo. Doxygen will replace $title with the emp y string,1662 # for the replacement values of the other commands the user is refered to1663 # HTML_HEADER.1705 # $projectbrief, $projectlogo. Doxygen will replace $title with the empty 1706 # string, for the replacement values of the other commands the user is referred 1707 # to HTML_HEADER. 1664 1708 # This tag requires that the tag GENERATE_LATEX is set to YES. 1665 1709 … … 1677 1721 LATEX_FOOTER = 1678 1722 1723 # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined 1724 # LaTeX style sheets that are included after the standard style sheets created 1725 # by doxygen. Using this option one can overrule certain style aspects. Doxygen 1726 # will copy the style sheet files to the output directory. 1727 # Note: The order of the extra style sheet files is of importance (e.g. the last 1728 # style sheet in the list overrules the setting of the previous ones in the 1729 # list). 1730 # This tag requires that the tag GENERATE_LATEX is set to YES. 1731 1732 LATEX_EXTRA_STYLESHEET = 1733 1679 1734 # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or 1680 1735 # other source files which should be copied to the LATEX_OUTPUT output … … 1695 1750 1696 1751 # If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate 1697 # the PDF file directly from the LaTeX files. Set this option to YES to get a1752 # the PDF file directly from the LaTeX files. Set this option to YES, to get a 1698 1753 # higher quality PDF documentation. 1699 1754 # The default value is: YES. … … 1736 1791 LATEX_BIB_STYLE = plain 1737 1792 1793 # If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated 1794 # page will contain the date and time when the page was generated. Setting this 1795 # to NO can help when comparing the output of multiple runs. 1796 # The default value is: NO. 1797 # This tag requires that the tag GENERATE_LATEX is set to YES. 1798 1799 LATEX_TIMESTAMP = NO 1800 1738 1801 #--------------------------------------------------------------------------- 1739 1802 # Configuration options related to the RTF output 1740 1803 #--------------------------------------------------------------------------- 1741 1804 1742 # If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The1805 # If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The 1743 1806 # RTF output is optimized for Word 97 and may not look too pretty with other RTF 1744 1807 # readers/editors. … … 1755 1818 RTF_OUTPUT = rtf 1756 1819 1757 # If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF1820 # If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF 1758 1821 # documents. This may be useful for small projects and may help to save some 1759 1822 # trees in general. … … 1792 1855 RTF_EXTENSIONS_FILE = 1793 1856 1857 # If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code 1858 # with syntax highlighting in the RTF output. 1859 # 1860 # Note that which sources are shown also depends on other settings such as 1861 # SOURCE_BROWSER. 1862 # The default value is: NO. 1863 # This tag requires that the tag GENERATE_RTF is set to YES. 1864 1865 RTF_SOURCE_CODE = NO 1866 1794 1867 #--------------------------------------------------------------------------- 1795 1868 # Configuration options related to the man page output 1796 1869 #--------------------------------------------------------------------------- 1797 1870 1798 # If the GENERATE_MAN tag is set to YES doxygen will generate man pages for1871 # If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for 1799 1872 # classes and files. 1800 1873 # The default value is: NO. … … 1840 1913 #--------------------------------------------------------------------------- 1841 1914 1842 # If the GENERATE_XML tag is set to YES doxygen will generate an XML file that1915 # If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that 1843 1916 # captures the structure of the code including all documentation. 1844 1917 # The default value is: NO. … … 1854 1927 XML_OUTPUT = xml 1855 1928 1856 # If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program1929 # If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program 1857 1930 # listings (including syntax highlighting and cross-referencing information) to 1858 1931 # the XML output. Note that enabling this will significantly increase the size … … 1867 1940 #--------------------------------------------------------------------------- 1868 1941 1869 # If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files1942 # If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files 1870 1943 # that can be used to generate PDF. 1871 1944 # The default value is: NO. … … 1881 1954 DOCBOOK_OUTPUT = docbook 1882 1955 1883 # If the DOCBOOK_PROGRAMLISTING tag is set to YES doxygen will include the1956 # If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the 1884 1957 # program listings (including syntax highlighting and cross-referencing 1885 1958 # information) to the DOCBOOK output. Note that enabling this will significantly … … 1894 1967 #--------------------------------------------------------------------------- 1895 1968 1896 # If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen1897 # Definitions (see http://autogen.sf.net) file that captures the structure of1898 # the code including all documentation. Note that this feature is still1899 # experimental and incomplete at the moment.1969 # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an 1970 # AutoGen Definitions (see http://autogen.sf.net) file that captures the 1971 # structure of the code including all documentation. Note that this feature is 1972 # still experimental and incomplete at the moment. 1900 1973 # The default value is: NO. 1901 1974 … … 1906 1979 #--------------------------------------------------------------------------- 1907 1980 1908 # If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module1981 # If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module 1909 1982 # file that captures the structure of the code including all documentation. 1910 1983 # … … 1914 1987 GENERATE_PERLMOD = NO 1915 1988 1916 # If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary1989 # If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary 1917 1990 # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI 1918 1991 # output from the Perl module output. … … 1922 1995 PERLMOD_LATEX = NO 1923 1996 1924 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely1997 # If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely 1925 1998 # formatted so it can be parsed by a human reader. This is useful if you want to 1926 # understand what is going on. On the other hand, if this tag is set to NO the1999 # understand what is going on. On the other hand, if this tag is set to NO, the 1927 2000 # size of the Perl module output will be much smaller and Perl will parse it 1928 2001 # just the same. … … 1944 2017 #--------------------------------------------------------------------------- 1945 2018 1946 # If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all2019 # If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all 1947 2020 # C-preprocessor directives found in the sources and include files. 1948 2021 # The default value is: YES. … … 1950 2023 ENABLE_PREPROCESSING = YES 1951 2024 1952 # If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names1953 # in the source code. If set to NO only conditional compilation will be2025 # If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names 2026 # in the source code. If set to NO, only conditional compilation will be 1954 2027 # performed. Macro expansion can be done in a controlled way by setting 1955 2028 # EXPAND_ONLY_PREDEF to YES. … … 1967 2040 EXPAND_ONLY_PREDEF = NO 1968 2041 1969 # If the SEARCH_INCLUDES tag is set to YES the includesfiles in the2042 # If the SEARCH_INCLUDES tag is set to YES, the include files in the 1970 2043 # INCLUDE_PATH will be searched if a #include is found. 1971 2044 # The default value is: YES. … … 2043 2116 GENERATE_TAGFILE = 2044 2117 2045 # If the ALLEXTERNALS tag is set to YES all external class will be listed in the 2046 # class index. If set to NO only the inherited external classes will be listed. 2118 # If the ALLEXTERNALS tag is set to YES, all external class will be listed in 2119 # the class index. If set to NO, only the inherited external classes will be 2120 # listed. 2047 2121 # The default value is: NO. 2048 2122 2049 2123 ALLEXTERNALS = NO 2050 2124 2051 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in2052 # the modules index. If set to NO, only the current project's groups will be2125 # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed 2126 # in the modules index. If set to NO, only the current project's groups will be 2053 2127 # listed. 2054 2128 # The default value is: YES. … … 2056 2130 EXTERNAL_GROUPS = YES 2057 2131 2058 # If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in2132 # If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in 2059 2133 # the related pages index. If set to NO, only the current project's pages will 2060 2134 # be listed. … … 2073 2147 #--------------------------------------------------------------------------- 2074 2148 2075 # If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram2149 # If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram 2076 2150 # (in HTML and LaTeX) for classes with base or super classes. Setting the tag to 2077 2151 # NO turns the diagrams off. Note that this option also works with HAVE_DOT … … 2098 2172 DIA_PATH = 2099 2173 2100 # If set to YES ,the inheritance and collaboration graphs will hide inheritance2174 # If set to YES the inheritance and collaboration graphs will hide inheritance 2101 2175 # and usage relations if the target is undocumented or is not a class. 2102 2176 # The default value is: YES. … … 2171 2245 GROUP_GRAPHS = YES 2172 2246 2173 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and2247 # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and 2174 2248 # collaboration diagrams in a style similar to the OMG's Unified Modeling 2175 2249 # Language. … … 2223 2297 # Note that enabling this option will significantly increase the time of a run. 2224 2298 # So in most cases it will be better to enable call graphs for selected 2225 # functions only using the \callgraph command. 2299 # functions only using the \callgraph command. Disabling a call graph can be 2300 # accomplished by means of the command \hidecallgraph. 2226 2301 # The default value is: NO. 2227 2302 # This tag requires that the tag HAVE_DOT is set to YES. … … 2234 2309 # Note that enabling this option will significantly increase the time of a run. 2235 2310 # So in most cases it will be better to enable caller graphs for selected 2236 # functions only using the \callergraph command. 2311 # functions only using the \callergraph command. Disabling a caller graph can be 2312 # accomplished by means of the command \hidecallergraph. 2237 2313 # The default value is: NO. 2238 2314 # This tag requires that the tag HAVE_DOT is set to YES. … … 2257 2333 2258 2334 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 2259 # generated by dot. 2335 # generated by dot. For an explanation of the image formats see the section 2336 # output formats in the documentation of the dot tool (Graphviz (see: 2337 # http://www.graphviz.org/)). 2260 2338 # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order 2261 2339 # to make the SVG files visible in IE 9+ (other browsers do not have this … … 2263 2341 # Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd, 2264 2342 # png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo, 2265 # gif:cairo:gd, gif:gd, gif:gd:gd and svg. 2343 # gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo, 2344 # png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and 2345 # png:gdiplus:gdiplus. 2266 2346 # The default value is: png. 2267 2347 # This tag requires that the tag HAVE_DOT is set to YES. … … 2311 2391 # generate a warning when it encounters a \startuml command in this case and 2312 2392 # will not generate output for the diagram. 2313 # This tag requires that the tag HAVE_DOT is set to YES.2314 2393 2315 2394 PLANTUML_JAR_PATH = 2395 2396 # When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a 2397 # configuration file for plantuml. 2398 2399 PLANTUML_CFG_FILE = 2400 2401 # When using plantuml, the specified paths are searched for files specified by 2402 # the !include statement in a plantuml block. 2403 2404 PLANTUML_INCLUDE_PATH = 2316 2405 2317 2406 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes … … 2351 2440 DOT_TRANSPARENT = NO 2352 2441 2353 # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output2442 # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output 2354 2443 # files in one run (i.e. multiple -o and -T options on the command line). This 2355 2444 # makes dot run faster, but since only newer versions of dot (>1.8.10) support … … 2368 2457 GENERATE_LEGEND = YES 2369 2458 2370 # If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot2459 # If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot 2371 2460 # files that are used to generate the various graphs. 2372 2461 # The default value is: YES. -
python/lib/aubio/cmd.py
r482641d r9fa0ed1 188 188 return samples2samples 189 189 else: 190 raise ValueError( 'invalid time format %s'% mode)190 raise ValueError("invalid time format '%s'" % mode) 191 191 192 192 # definition of processing classes -
python/lib/gen_external.py
r482641d r9fa0ed1 1 1 import distutils.ccompiler 2 import sys, os, subprocess, glob 2 import sys 3 import os 4 import subprocess 5 import glob 3 6 4 7 header = os.path.join('src', 'aubio.h') … … 9 12 """ 10 13 11 skip_objects = [ 12 # already in ext/ 13 'fft', 14 'pvoc', 15 'filter', 16 'filterbank', 17 # AUBIO_UNSTABLE 18 'hist', 19 'parameter', 20 'scale', 21 'beattracking', 22 'resampler', 23 'peakpicker', 24 'pitchfcomb', 25 'pitchmcomb', 26 'pitchschmitt', 27 'pitchspecacf', 28 'pitchyin', 29 'pitchyinfft', 30 'pitchyinfast', 31 'sink', 32 'sink_apple_audio', 33 'sink_sndfile', 34 'sink_wavwrite', 35 #'mfcc', 36 'source', 37 'source_apple_audio', 38 'source_sndfile', 39 'source_avcodec', 40 'source_wavread', 41 #'sampler', 42 'audio_unit', 43 'spectral_whitening', 44 ] 14 default_skip_objects = [ 15 # already in ext/ 16 'fft', 17 'pvoc', 18 'filter', 19 'filterbank', 20 # AUBIO_UNSTABLE 21 'hist', 22 'parameter', 23 'scale', 24 'beattracking', 25 'resampler', 26 'peakpicker', 27 'pitchfcomb', 28 'pitchmcomb', 29 'pitchschmitt', 30 'pitchspecacf', 31 'pitchyin', 32 'pitchyinfft', 33 'pitchyinfast', 34 'sink', 35 'sink_apple_audio', 36 'sink_sndfile', 37 'sink_wavwrite', 38 #'mfcc', 39 'source', 40 'source_apple_audio', 41 'source_sndfile', 42 'source_avcodec', 43 'source_wavread', 44 #'sampler', 45 'audio_unit', 46 'spectral_whitening', 47 ] 48 45 49 46 50 def get_preprocessor(): … … 61 65 62 66 cpp_cmd = None 63 if hasattr(compiler, 'preprocessor'): # for unixccompiler67 if hasattr(compiler, 'preprocessor'): # for unixccompiler 64 68 cpp_cmd = compiler.preprocessor 65 elif hasattr(compiler, 'compiler'): # for ccompiler69 elif hasattr(compiler, 'compiler'): # for ccompiler 66 70 cpp_cmd = compiler.compiler.split() 67 71 cpp_cmd += ['-E'] 68 elif hasattr(compiler, 'cc'): # for msvccompiler72 elif hasattr(compiler, 'cc'): # for msvccompiler 69 73 cpp_cmd = compiler.cc.split() 70 74 cpp_cmd += ['-E'] … … 74 78 cpp_cmd = os.environ.get('CC', 'cc').split() 75 79 cpp_cmd += ['-E'] 76 80 cpp_cmd += ['-x', 'c'] # force C language (emcc defaults to c++) 77 81 return cpp_cmd 78 82 79 def get_cpp_objects(header=header, usedouble=False): 83 84 def get_c_declarations(header=header, usedouble=False): 85 ''' return a dense and preprocessed string of all c declarations implied by aubio.h 86 ''' 80 87 cpp_cmd = get_preprocessor() 81 88 … … 93 100 print("Running command: {:s}".format(" ".join(cpp_cmd))) 94 101 proc = subprocess.Popen(cpp_cmd, 95 stderr=subprocess.PIPE,96 stdout=subprocess.PIPE)102 stderr=subprocess.PIPE, 103 stdout=subprocess.PIPE) 97 104 assert proc, 'Proc was none' 98 105 cpp_output = proc.stdout.read() … … 101 108 raise Exception("preprocessor output is empty:\n%s" % err_output) 102 109 elif err_output: 103 print 110 print("Warning: preprocessor produced warnings:\n%s" % err_output) 104 111 if not isinstance(cpp_output, list): 105 112 cpp_output = [l.strip() for l in cpp_output.decode('utf8').split('\n')] … … 110 117 i = 1 111 118 while 1: 112 if i >= len(cpp_output): break 113 if cpp_output[i-1].endswith(',') or cpp_output[i-1].endswith('{') or cpp_output[i].startswith('}'): 114 cpp_output[i] = cpp_output[i-1] + ' ' + cpp_output[i] 115 cpp_output.pop(i-1) 119 if i >= len(cpp_output): 120 break 121 if ('{' in cpp_output[i - 1]) and (not '}' in cpp_output[i - 1]) or (not ';' in cpp_output[i - 1]): 122 cpp_output[i] = cpp_output[i - 1] + ' ' + cpp_output[i] 123 cpp_output.pop(i - 1) 124 elif ('}' in cpp_output[i]): 125 cpp_output[i] = cpp_output[i - 1] + ' ' + cpp_output[i] 126 cpp_output.pop(i - 1) 116 127 else: 117 128 i += 1 118 129 119 typedefs = filter(lambda y: y.startswith ('typedef struct _aubio'), cpp_output) 120 130 # clean pointer notations 131 tmp = [] 132 for l in cpp_output: 133 tmp += [l.replace(' *', ' * ')] 134 cpp_output = tmp 135 136 return cpp_output 137 138 139 def get_cpp_objects_from_c_declarations(c_declarations, skip_objects=None): 140 if skip_objects == None: 141 skip_objects = default_skip_objects 142 typedefs = filter(lambda y: y.startswith('typedef struct _aubio'), c_declarations) 121 143 cpp_objects = [a.split()[3][:-1] for a in typedefs] 122 123 return cpp_output, cpp_objects 124 125 126 def analyze_cpp_output(cpp_objects, cpp_output): 144 cpp_objects_filtered = filter(lambda y: not y[6:-2] in skip_objects, cpp_objects) 145 return cpp_objects_filtered 146 147 148 def get_all_func_names_from_lib(lib, depth=0): 149 ''' return flat string of all function used in lib 150 ''' 151 res = [] 152 indent = " " * depth 153 for k, v in lib.items(): 154 if isinstance(v, dict): 155 res += get_all_func_names_from_lib(v, depth + 1) 156 elif isinstance(v, list): 157 for elem in v: 158 e = elem.split('(') 159 if len(e) < 2: 160 continue # not a function 161 fname_part = e[0].strip().split(' ') 162 fname = fname_part[-1] 163 if fname: 164 res += [fname] 165 else: 166 raise NameError('gen_lib : weird function: ' + str(e)) 167 168 return res 169 170 171 def generate_lib_from_c_declarations(cpp_objects, c_declarations): 172 ''' returns a lib from given cpp_object names 173 174 a lib is a dict grouping functions by family (onset,pitch...) 175 each eement is itself a dict of functions grouped by puposes as : 176 struct, new, del, do, get, set and other 177 ''' 127 178 lib = {} 128 179 129 180 for o in cpp_objects: 130 if o[:6] != 'aubio_': 131 continue 132 shortname = o[6:-2] 133 if shortname in skip_objects: 134 continue 181 shortname = o 182 if o[:6] == 'aubio_': 183 shortname = o[6:-2] # without aubio_ prefix and _t suffix 184 135 185 lib[shortname] = {'struct': [], 'new': [], 'del': [], 'do': [], 'get': [], 'set': [], 'other': []} 136 186 lib[shortname]['longname'] = o 137 187 lib[shortname]['shortname'] = shortname 138 for fn in cpp_output: 139 if o[:-1] in fn: 140 #print "found", o[:-1], "in", fn 188 189 fullshortname = o[:-2] # name without _t suffix 190 191 for fn in c_declarations: 192 func_name = fn.split('(')[0].strip().split(' ')[-1] 193 if func_name.startswith(fullshortname + '_') or func_name.endswith(fullshortname): 194 # print "found", shortname, "in", fn 141 195 if 'typedef struct ' in fn: 142 196 lib[shortname]['struct'].append(fn) … … 152 206 lib[shortname]['set'].append(fn) 153 207 else: 154 # print "no idea what to do about", fn208 # print "no idea what to do about", fn 155 209 lib[shortname]['other'].append(fn) 156 210 return lib 157 211 158 def print_cpp_output_results(lib, cpp_output): 159 for fn in cpp_output: 212 213 def print_c_declarations_results(lib, c_declarations): 214 for fn in c_declarations: 160 215 found = 0 161 216 for o in lib: … … 164 219 found = 1 165 220 if found == 0: 166 print 221 print("missing", fn) 167 222 168 223 for o in lib: 169 224 for family in lib[o]: 170 225 if type(lib[o][family]) == str: 171 print ( "{:15s} {:10s} {:s}".format(o, family, lib[o][family] ))226 print("{:15s} {:10s} {:s}".format(o, family, lib[o][family])) 172 227 elif len(lib[o][family]) == 1: 173 print ( "{:15s} {:10s} {:s}".format(o, family, lib[o][family][0] ))228 print("{:15s} {:10s} {:s}".format(o, family, lib[o][family][0])) 174 229 else: 175 print ( "{:15s} {:10s} {:s}".format(o, family, lib[o][family] ))230 print("{:15s} {:10s} {:s}".format(o, family, lib[o][family])) 176 231 177 232 178 233 def generate_external(header=header, output_path=output_path, usedouble=False, overwrite=True): 179 if not os.path.isdir(output_path): os.mkdir(output_path) 180 elif not overwrite: return sorted(glob.glob(os.path.join(output_path, '*.c'))) 181 182 cpp_output, cpp_objects = get_cpp_objects(header, usedouble=usedouble) 183 184 lib = analyze_cpp_output(cpp_objects, cpp_output) 185 # print_cpp_output_results(lib, cpp_output) 234 if not os.path.isdir(output_path): 235 os.mkdir(output_path) 236 elif not overwrite: 237 return sorted(glob.glob(os.path.join(output_path, '*.c'))) 238 239 c_declarations = get_c_declarations(header, usedouble=usedouble) 240 cpp_objects = get_cpp_objects_from_c_declarations(c_declarations) 241 242 lib = generate_lib_from_c_declarations(cpp_objects, c_declarations) 243 # print_c_declarations_results(lib, c_declarations) 186 244 187 245 sources_list = [] … … 192 250 for o in lib: 193 251 out = source_header 194 mapped = MappedObject(lib[o], usedouble =usedouble)252 mapped = MappedObject(lib[o], usedouble=usedouble) 195 253 out += mapped.gen_code() 196 254 output_file = os.path.join(output_path, 'gen-%s.c' % o) 197 255 with open(output_file, 'w') as f: 198 256 f.write(out) 199 print ("wrote %s" % output_file)257 print("wrote %s" % output_file) 200 258 sources_list.append(output_file) 201 259 … … 209 267 return ({pycheck_types}); 210 268 }} 211 """.format(pycheck_types =check_types)269 """.format(pycheck_types=check_types) 212 270 213 271 add_types = "".join([""" 214 272 Py_INCREF (&Py_{name}Type); 215 PyModule_AddObject(m, "{name}", (PyObject *) & Py_{name}Type);""".format(name =o) for o in lib])273 PyModule_AddObject(m, "{name}", (PyObject *) & Py_{name}Type);""".format(name=o) for o in lib]) 216 274 out += """ 217 275 … … 220 278 {add_types} 221 279 }} 222 """.format(add_types =add_types)280 """.format(add_types=add_types) 223 281 224 282 output_file = os.path.join(output_path, 'aubio-generated.c') 225 283 with open(output_file, 'w') as f: 226 284 f.write(out) 227 print ("wrote %s" % output_file)285 print("wrote %s" % output_file) 228 286 sources_list.append(output_file) 229 287 … … 243 301 int generated_objects ( void ); 244 302 void add_generated_objects( PyObject *m ); 245 """.format(objlist =objlist)303 """.format(objlist=objlist) 246 304 247 305 output_file = os.path.join(output_path, 'aubio-generated.h') 248 306 with open(output_file, 'w') as f: 249 307 f.write(out) 250 print ("wrote %s" % output_file)308 print("wrote %s" % output_file) 251 309 # no need to add header to list of sources 252 310 … … 254 312 255 313 if __name__ == '__main__': 256 if len(sys.argv) > 1: header = sys.argv[1] 257 if len(sys.argv) > 2: output_path = sys.argv[2] 314 if len(sys.argv) > 1: 315 header = sys.argv[1] 316 if len(sys.argv) > 2: 317 output_path = sys.argv[2] 258 318 generate_external(header, output_path) -
scripts/get_waf.sh
r482641d r9fa0ed1 4 4 set -x 5 5 6 WAFURL=https://waf.io/waf-1.9. 66 WAFURL=https://waf.io/waf-1.9.12 7 7 8 8 ( which wget > /dev/null && wget -qO waf $WAFURL ) || ( which curl > /dev/null && curl $WAFURL > waf ) -
scripts/setenv_local.sh
r482641d r9fa0ed1 1 1 #! /usr/bin/env bash 2 2 3 # This script sets the environment to execute aubio binaries and python code 4 # directly from build/ python/build/ without installing libaubio on the system 5 6 # Usage: $ source ./scripts/setenv_local.sh 7 8 # WARNING: this script will *overwrite* existing (DY)LD_LIBRARY_PATH and 9 # PYTHONPATH variables. 10 11 PYTHON_PLATFORM=`python -c "import pkg_resources, sys; print ('%s-%s' % (pkg_resources.get_build_platform(), '.'.join(map(str, sys.version_info[0:2]))))"` 3 # This script sets the LD_LIBRARY_PATH environment variable to ./build/src to 4 # execute aubio binaries without installing libaubio. 5 # 6 # Usage: $ source scripts/setenv_local.sh 7 # 8 # Note: on macOs, the variable is DYLD_LIBRARY_PATH 12 9 13 10 AUBIODIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" 11 14 12 AUBIOLIB=$AUBIODIR/build/src 15 AUBIOPYTHON=$AUBIODIR/build/lib.$PYTHON_PLATFORM16 17 if [ "$(dirname $PWD)" == "scripts" ]; then18 AUBIODIR=$(basename $PWD)19 else20 AUBIODIR=$(basename $PWD)21 fi22 13 23 14 if [ "$(uname)" == "Darwin" ]; then … … 28 19 echo export LD_LIBRARY_PATH=$LD_LIBRARY_PATH 29 20 fi 30 31 export PYTHONPATH=$AUBIOPYTHON32 echo export PYTHONPATH=$PYTHONPATH -
src/wscript_build
r482641d r9fa0ed1 27 27 build_features = ['cstlib', 'cshlib'] 28 28 elif ctx.env['DEST_OS'] in ['emscripten']: 29 build_features = ['cstlib' ]29 build_features = ['cstlib','cshlib'] 30 30 elif '--static' in ctx.env['LDFLAGS'] or '--static' in ctx.env['LINKFLAGS']: 31 31 # static in cflags, ... -
wscript
r482641d r9fa0ed1 108 108 ctx.load('gnu_dirs') 109 109 110 target_platform = sys.platform 111 if ctx.options.target_platform: 112 target_platform = ctx.options.target_platform 113 114 115 if target_platform=='emscripten': 116 # need to force spaces between flag -o and path 117 # inspired from : 118 # https://github.com/waf-project/waf/blob/master/waflib/extras/c_emscripten.py (#1885) 119 # (OSX /emscripten 1.37.9) 120 ctx.env.CC_TGT_F = ['-c', '-o', ''] 121 ctx.env.CCLNK_TGT_F = ['-o', ''] 110 122 # check for common headers 111 123 ctx.check(header_name='stdlib.h') … … 118 130 ctx.check(header_name='unistd.h', mandatory = False) 119 131 120 target_platform = sys.platform121 if ctx.options.target_platform:122 target_platform = ctx.options.target_platform123 132 ctx.env['DEST_OS'] = target_platform 124 133 … … 133 142 ctx.env.prepend_value('CFLAGS', ['-O0']) 134 143 else: 135 # default to -O2 in release mode 136 ctx.env.prepend_value('CFLAGS', ['-O2']) 144 if target_platform == 'emscripten': 145 # -Oz for small js file generation 146 ctx.env.prepend_value('CFLAGS', ['-Oz']) 147 else: 148 # default to -O2 in release mode 149 ctx.env.prepend_value('CFLAGS', ['-O2']) 137 150 # enable debug symbols and configure warnings 138 151 ctx.env.prepend_value('CFLAGS', ['-g', '-Wall', '-Wextra']) … … 216 229 import os.path 217 230 ctx.env.CFLAGS += [ '-I' + os.path.join(os.environ['EMSCRIPTEN'], 'system', 'include') ] 218 ctx.env.CFLAGS += ['-Oz'] 231 232 if ctx.options.build_type == "debug": 233 ctx.env.cshlib_PATTERN = '%s.js' 234 ctx.env.LINKFLAGS += ['-s','ASSERTIONS=2'] 235 ctx.env.LINKFLAGS += ['-s','SAFE_HEAP=1'] 236 ctx.env.LINKFLAGS += ['-s','ALIASING_FUNCTION_POINTERS=0'] 237 ctx.env.LINKFLAGS += ['-O0'] 238 else: 239 ctx.env.LINKFLAGS += ['-Oz'] 240 ctx.env.cshlib_PATTERN = '%s.min.js' 241 242 # doesnt ship file system support in lib 243 ctx.env.LINKFLAGS_cshlib += ['-s', 'NO_FILESYSTEM=1'] 244 # put memory file inside generated js files for easier portability 245 ctx.env.LINKFLAGS += ['--memory-init-file', '0'] 219 246 ctx.env.cprogram_PATTERN = "%s.js" 220 if (ctx.options.enable_atlas != True): 221 ctx.options.enable_atlas = False 247 ctx.env.cstlib_PATTERN = '%s.a' 248 249 # tell emscripten functions we want to expose 250 from python.lib.gen_external import get_c_declarations, get_cpp_objects_from_c_declarations, get_all_func_names_from_lib, generate_lib_from_c_declarations 251 c_decls = get_c_declarations(usedouble=False) # emscripten can't use double 252 objects = get_cpp_objects_from_c_declarations(c_decls) 253 # ensure that aubio structs are exported 254 objects += ['fvec_t', 'cvec_t', 'fmat_t'] 255 lib = generate_lib_from_c_declarations(objects, c_decls) 256 exported_funcnames = get_all_func_names_from_lib(lib) 257 c_mangled_names = ['_' + s for s in exported_funcnames] 258 ctx.env.LINKFLAGS_cshlib += ['-s', 'EXPORTED_FUNCTIONS=%s' % c_mangled_names] 259 260 if (ctx.options.enable_atlas != True): 261 ctx.options.enable_atlas = False 222 262 223 263 # check support for C99 __VA_ARGS__ macros
Note: See TracChangeset
for help on using the changeset viewer.