Browse Source

Rename project in many places; Replace Most Project Logos; Refactor `About Tenacity...` Dialog (#276)

Add `locale/en.po` file.
Add English to `locale/LINGUAS` list.
Partially duplicate `msgid`s to `msgstr`s in English locale enable eventual key `msgid` changes
Replace former project name with Tenacity in English locale.
Replace former project website with Tenacity compatible usages in English locale.
Modify `AboutDialog.h` by renaming variables.
Modify `AboutDialog.cpp` by replacing usage of pre-fork name in Strings.
Modify AddBuildInfoRow methods to be static in About dialog.
Make License text const in About dialog.
Make pre-fork credits different in About dialog.
Begin adding Tenacity specific credits
Macros starting with `__` are reserved, so I removed the `__` on the About Dialog guard macro.
Remove `AboutDialog::` from usage of `Role` in `AboutDialog.h`
Refactor overly long generator method into separate methods in `AboutDialog.(h|cpp)`
Begin adding Tenacity developer information
Cleanup layout of `AboutDialog.h` and `AboutDialog.cpp`
Add `safedelete` macro to compliment odd `safenew` macro
Add `enum` to `ShuttleGui.cpp` to make it more clear what `Prop` method is doing.
Remove a ton of pointless and/or redunant `#ifdef` usage
Remove pointless singleton in AboutDialog
Make AboutDialog modal on MacOS
Fix reference type use of `auto` in `AudacityApp` b/c it makes unintentional copy.
Update XPM and PNG images using Tenacity assets
Update ICO images using Tenacity assets.
Fix Windows resource script that improperly used `winuser.h` import.
Add `*.aps` to gitignore to prevent IDE RC pre-load file from being committed.
Add default values for pre-processor constants in `tenacity.rc`.
Make changes needed for `Tenacity.exe` binary
Add 8x8 PNG to Windows ICO files
Replace project name in various CMake and CPack file.
Replace project name in various directory structures.
Replace project name in various OS-specific build files.
Replace project name in various documentation files.
Update the PO and POT files using the script.
Fix places where a `.desktop` file was used on Linux.
Replace title of project windows.
Make splash screen click through to `tenacityaudio.org`.
Remove ® from `AboutDialog.cpp`
Modify copyright message in `AboutDialog.cpp`

Signed-off-by: Emily Mabrey <emilymabrey93@gmail.com>
pull/326/head
Emily Mabrey 11 months ago
committed by GitHub
parent
commit
2f316d5bc4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      .gitignore
  2. 873
      CHANGELOG.txt
  3. 29
      CMakeLists.txt
  4. 132
      audacity.dox.in
  5. 16
      cmake-proxies/cmake-modules/AudacityFunctions.cmake
  6. 10
      cmake-proxies/cmake-modules/Package.cmake
  7. BIN
      images/AudacityLogo.png
  8. 2973
      images/AudacityLogo.xpm
  9. 845
      images/AudacityLogo48x48.xpm
  10. 548
      images/AudacityLogoAlpha.xpm
  11. 9318
      images/AudacityLogoWithName.xpm
  12. 194
      images/Audacity_Logo_large.svg
  13. 958
      images/DarkAudacityLogoWithName.xpm
  14. 207
      images/audacity.svg
  15. BIN
      images/icons/16x16/audacity.png
  16. 161
      images/icons/16x16/audacity16.xpm
  17. BIN
      images/icons/16x16/tenacity.png
  18. BIN
      images/icons/22x22/audacity.png
  19. BIN
      images/icons/22x22/tenacity.png
  20. BIN
      images/icons/24x24/audacity.png
  21. BIN
      images/icons/24x24/tenacity.png
  22. BIN
      images/icons/32x32/audacity.png
  23. 365
      images/icons/32x32/audacity32.xpm
  24. BIN
      images/icons/32x32/tenacity.png
  25. BIN
      images/icons/48x48/audacity.png
  26. 550
      images/icons/48x48/audacity.xpm
  27. BIN
      images/icons/48x48/tenacity.png
  28. 8
      include/tenacity/ComponentInterface.h
  29. 0
      include/tenacity/ConfigInterface.h
  30. 0
      include/tenacity/EffectAutomationParameters.h
  31. 28
      include/tenacity/EffectInterface.h
  32. 12
      include/tenacity/ModuleInterface.h
  33. 10
      include/tenacity/PluginInterface.h
  34. 0
      include/tenacity/Types.h
  35. 5
      libraries/lib-utility/MemoryX.h
  36. 12
      linux/AppRun.sh
  37. 6
      linux/build-environment/Dockerfile
  38. 6
      linux/build-environment/entrypoint.sh
  39. 8
      linux/create_appimage.sh
  40. 6
      linux/tenacity.sh
  41. 18
      locale/CMakeLists.txt
  42. 3
      locale/LINGUAS
  43. 1534
      locale/af.po
  44. 2011
      locale/ar.po
  45. 778
      locale/audacity.pot
  46. 1795
      locale/be.po
  47. 2184
      locale/bg.po
  48. 1271
      locale/bn.po
  49. 1676
      locale/bs.po
  50. 10
      locale/ca.po
  51. 2576
      locale/ca@valencia.po
  52. 1479
      locale/co.po
  53. 2796
      locale/cs.po
  54. 1471
      locale/cy.po
  55. 2137
      locale/da.po
  56. 3153
      locale/el.po
  57. 19919
      locale/en.po
  58. 2
      locale/es.po
  59. 2465
      locale/eu.po
  60. 1592
      locale/fa.po
  61. 2381
      locale/fi.po
  62. 26
      locale/fr.po
  63. 1638
      locale/ga.po
  64. 2434
      locale/gl.po
  65. 3018
      locale/hi.po
  66. 2099
      locale/hr.po
  67. 2341
      locale/hu.po
  68. 2191
      locale/hy.po
  69. 2016
      locale/id.po
  70. 3048
      locale/it.po
  71. 1036
      locale/ja.po
  72. 1774
      locale/ka.po
  73. 1513
      locale/km.po
  74. 1845
      locale/ko.po
  75. 2074
      locale/lt.po
  76. 1427
      locale/mk.po
  77. 2099
      locale/mr.po
  78. 1745
      locale/my.po
  79. 2458
      locale/nb.po
  80. 2219
      locale/nl.po
  81. 1438
      locale/oc.po
  82. 3032
      locale/pl.po
  83. 2817
      locale/pt_PT.po
  84. 1619
      locale/ro.po
  85. 1937
      locale/ru.po
  86. 2886
      locale/sl.po
  87. 2668
      locale/sr.po
  88. 2249
      locale/sr_Latn.po
  89. 1770
      locale/ta.po
  90. 1608
      locale/tg.po
  91. 3023
      locale/tr.po
  92. 2387
      locale/uk.po
  93. 22
      locale/update_po_files.sh
  94. 2456
      locale/vi.po
  95. 1746
      locale/zh_Hant.po
  96. 16
      mac/Install.txt
  97. 5
      mac/Wrapper.c
  98. 2
      modules/mod-script-pipe/CMakeLists.txt
  99. 4
      scripts/CMakeLists.txt
  100. 6
      scripts/build/macOS/DMGSetup.scpt

5
.gitignore

@ -68,6 +68,7 @@ CMakeFiles/
CTestTestfile.cmake
cmake_install.cmake
build/*
cmake-build-*/
# Waf build output
lib-src/lv2/.buildvars
@ -116,6 +117,7 @@ dox/
*.vcxproj.user
*.sbr
*.bsc
*.aps
# Precompiled Headers
*.gch
@ -203,6 +205,9 @@ win/xaudacity.ico
*.sublime-workspace
/tests/results/*.png
# IDEA IDEs
.idea/
#other files that get in the way
*/not-for-git/*
*.dll

873
CHANGELOG.txt
File diff suppressed because it is too large
View File

29
CMakeLists.txt

@ -8,7 +8,7 @@ cmake_minimum_required( VERSION 3.15 )
# If building with GNU compiler, then must be 4.9 or later.
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND
CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9")
message(FATAL_ERROR "Audacity requires at least GCC 4.9")
message(FATAL_ERROR "Tenacity requires at least GCC 4.9")
endif ()
# We only do alpha builds, beta builds, and release versions.
@ -98,10 +98,10 @@ endif()
# Add our module path
# CMAKE_BINARY_DIR is required for Conan to work
set( AUDACITY_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake-proxies/cmake-modules")
set( CMAKE_MODULE_PATH
set( CMAKE_MODULE_PATH
${AUDACITY_MODULE_PATH}
${CMAKE_BINARY_DIR}
${CMAKE_MODULE_PATH}
${CMAKE_MODULE_PATH}
)
set( CMAKE_PREFIX_PATH
@ -137,13 +137,8 @@ else()
message( STATUS "Could NOT find ccache nor sccache, no compiler caching enabled" )
endif()
# Audacity sets this `audacity_` to prefix all CMake options which is not needed and this is not Audacity.
# Keep this CMake variable here instead of removing it from the rest of the CMake code to minimize merge
# conflicts with Audacity.
set( _OPT "" )
# Our very own project
project( Audacity )
project( Tenacity )
# Load our functions/macros
include( AudacityFunctions )
@ -208,7 +203,7 @@ message( STATUS )
if( MSVC )
message( STATUS " MSVC Version: ${MSVC_VERSION}" )
message( STATUS " MSVC Toolset: ${MSVC_TOOLSET_VERSION}" )
message( STATUS )
message( STATUS )
elseif( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
if( CMAKE_GENERATOR MATCHES "Xcode" )
message( STATUS " Xcode Version: ${XCODE_VERSION}" )
@ -226,7 +221,7 @@ find_package( Git QUIET )
if( GIT_FOUND )
execute_process(
COMMAND
${GIT_EXECUTABLE} show -s "--format=%h;%H;%cd"
${GIT_EXECUTABLE} show -s "--format=%h;%H;%cd" --no-show-signature --no-notes
WORKING_DIRECTORY
${topdir}
OUTPUT_VARIABLE
@ -248,7 +243,7 @@ message( STATUS )
set_property( GLOBAL PROPERTY USE_FOLDERS ON )
if( CMAKE_GENERATOR MATCHES "Visual Studio" )
# Make sure Audacity is the startup project
# Make sure Tenacity is the startup project
set_directory_properties(
PROPERTIES
VS_STARTUP_PROJECT "${CMAKE_PROJECT_NAME}"
@ -287,8 +282,8 @@ set( _DEST "${_DESTDIR}" )
set( _PREFIX "${CMAKE_INSTALL_PREFIX}" )
set( _LIBDIR "${CMAKE_INSTALL_LIBDIR}" )
set( _DATADIR "${CMAKE_INSTALL_DATADIR}" )
set( _PKGLIB "${_LIBDIR}/audacity" )
set( _PKGDATA "${_DATADIR}/audacity/" )
set( _PKGLIB "${_LIBDIR}/tenacity" )
set( _PKGDATA "${_DATADIR}/tenacity/" )
set( _MANDIR "${CMAKE_INSTALL_MANDIR}" )
set( _MODDIR "${_DEST}/modules" )
set( _EXEDIR "${_DEST}" )
@ -301,7 +296,7 @@ set( CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE )
# Adjust them for the Mac
if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
set( _APPDIR "Audacity.app/Contents" )
set( _APPDIR "Tenacity.app/Contents" )
set( _DEST "${_DESTDIR}/${_APPDIR}" )
set( _EXEDIR "${_DEST}/MacOS" )
set( _MODDIR "${_DEST}/modules" )
@ -465,9 +460,9 @@ endif()
# Define Audacity's name
if( CMAKE_SYSTEM_NAME MATCHES "Darwin|Windows" )
set( AUDACITY_NAME "Audacity" )
set( AUDACITY_NAME "Tenacity" )
else()
set( AUDACITY_NAME "audacity" )
set( AUDACITY_NAME "tenacity" )
endif()
# Create short and full version strings

132
audacity.dox.in

@ -32,19 +32,19 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = Audacity
PROJECT_NAME = Tenacity
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 3.0.3
PROJECT_NUMBER = 3.0.4
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF =
PROJECT_BRIEF =
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
@ -162,7 +162,7 @@ FULL_PATH_NAMES = NO
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH =
STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
@ -171,7 +171,7 @@ STRIP_FROM_PATH =
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
STRIP_FROM_INC_PATH =
STRIP_FROM_INC_PATH =
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
@ -238,13 +238,13 @@ TAB_SIZE = 3
# "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines.
ALIASES =
ALIASES =
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class"
# will allow you to use the command class in the itcl::class meaning.
TCL_SUBST =
TCL_SUBST =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
@ -291,7 +291,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen.
EXTENSION_MAPPING =
EXTENSION_MAPPING =
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
@ -648,7 +648,7 @@ GENERATE_DEPRECATEDLIST= YES
# sections, marked by \if <section_label> ... \endif and \cond <section_label>
# ... \endcond blocks.
ENABLED_SECTIONS =
ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
# initial value of a variable or macro / define can have for it to appear in the
@ -690,7 +690,7 @@ SHOW_NAMESPACES = YES
# by doxygen. Whatever the program writes to standard output is used as the file
# version. For an example see the documentation.
FILE_VERSION_FILTER =
FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
# by doxygen. The layout file controls the global structure of the generated
@ -703,7 +703,7 @@ FILE_VERSION_FILTER =
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.
LAYOUT_FILE =
LAYOUT_FILE =
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
@ -713,7 +713,7 @@ LAYOUT_FILE =
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. See also \cite for info how to create references.
CITE_BIB_FILES =
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
@ -778,7 +778,7 @@ WARN_FORMAT = "$file:$line: $text"
# messages should be written. If left blank the output is written to standard
# error (stderr).
WARN_LOGFILE =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
@ -835,7 +835,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.
EXCLUDE =
EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
@ -851,7 +851,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS =
EXCLUDE_PATTERNS =
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
@ -862,7 +862,7 @@ EXCLUDE_PATTERNS =
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*
EXCLUDE_SYMBOLS =
EXCLUDE_SYMBOLS =
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
@ -875,7 +875,7 @@ EXAMPLE_PATH = dox2-src/
# *.h) to filter out the source-files in the directories. If left blank all
# files are included.
EXAMPLE_PATTERNS =
EXAMPLE_PATTERNS =
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
# searched for input files to be used with the \include or \dontinclude commands
@ -888,7 +888,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
IMAGE_PATH =
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
@ -909,7 +909,7 @@ IMAGE_PATH =
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
INPUT_FILTER =
INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
# basis. Doxygen will compare the file name with each pattern and apply the
@ -922,7 +922,7 @@ INPUT_FILTER =
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
FILTER_PATTERNS =
FILTER_PATTERNS =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will also be used to filter the input files that are used for
@ -937,14 +937,14 @@ FILTER_SOURCE_FILES = NO
# *.ext= (so without naming a filter).
# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
FILTER_SOURCE_PATTERNS =
FILTER_SOURCE_PATTERNS =
# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
# is part of the input, its contents will be placed on the main page
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
@ -1049,7 +1049,7 @@ CLANG_ASSISTED_PARSING = NO
# specified with INPUT and INCLUDE_PATH.
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
CLANG_OPTIONS =
CLANG_OPTIONS =
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
@ -1075,7 +1075,7 @@ COLS_IN_ALPHA_INDEX = 5
# while generating the index headers.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
IGNORE_PREFIX =
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
@ -1119,7 +1119,7 @@ HTML_FILE_EXTENSION = .html
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_HEADER =
HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
@ -1129,7 +1129,7 @@ HTML_HEADER =
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FOOTER =
HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
@ -1141,7 +1141,7 @@ HTML_FOOTER =
# obsolete.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_STYLESHEET =
HTML_STYLESHEET =
# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
# cascading style sheets that are included after the standard style sheets
@ -1154,7 +1154,7 @@ HTML_STYLESHEET =
# list). For an example see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_STYLESHEET =
HTML_EXTRA_STYLESHEET =
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
@ -1164,7 +1164,7 @@ HTML_EXTRA_STYLESHEET =
# files will be copied as-is; there are no commands or markers available.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_FILES =
HTML_EXTRA_FILES =
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the style sheet and background images according to
@ -1293,7 +1293,7 @@ GENERATE_HTMLHELP = NO
# written to the html output directory.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_FILE =
CHM_FILE =
# The HHC_LOCATION tag can be used to specify the location (absolute path
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
@ -1301,7 +1301,7 @@ CHM_FILE =
# The file has to be specified with full path.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
HHC_LOCATION =
HHC_LOCATION =
# The GENERATE_CHI flag controls if a separate .chi index file is generated
# (YES) or that it should be included in the master .chm file (NO).
@ -1314,7 +1314,7 @@ GENERATE_CHI = NO
# and project file content.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_INDEX_ENCODING =
CHM_INDEX_ENCODING =
# The BINARY_TOC flag controls whether a binary table of contents is generated
# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
@ -1345,7 +1345,7 @@ GENERATE_QHP = NO
# the HTML output folder.
# This tag requires that the tag GENERATE_QHP is set to YES.
QCH_FILE =
QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace
@ -1370,7 +1370,7 @@ QHP_VIRTUAL_FOLDER = doc
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom
@ -1378,21 +1378,21 @@ QHP_CUST_FILTER_NAME =
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_ATTRS =
QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see:
# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
# The QHG_LOCATION tag can be used to specify the location of Qt's
# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
# generated .qhp file.
# This tag requires that the tag GENERATE_QHP is set to YES.
QHG_LOCATION =
QHG_LOCATION =
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
# generated, together with the HTML files, they form an Eclipse help plugin. To
@ -1525,7 +1525,7 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_EXTENSIONS =
MATHJAX_EXTENSIONS =
# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
# of code that will be used on startup of the MathJax code. See the MathJax site
@ -1533,7 +1533,7 @@ MATHJAX_EXTENSIONS =
# example see the documentation.
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_CODEFILE =
MATHJAX_CODEFILE =
# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
# the HTML output. The underlying search engine uses javascript and DHTML and
@ -1593,7 +1593,7 @@ EXTERNAL_SEARCH = NO
# Searching" for details.
# This tag requires that the tag SEARCHENGINE is set to YES.
SEARCHENGINE_URL =
SEARCHENGINE_URL =
# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
# search data is written to a file for indexing by an external tool. With the
@ -1609,7 +1609,7 @@ SEARCHDATA_FILE = searchdata.xml
# projects and redirect the results back to the right project.
# This tag requires that the tag SEARCHENGINE is set to YES.
EXTERNAL_SEARCH_ID =
EXTERNAL_SEARCH_ID =
# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
# projects other than the one defined by this configuration file, but that are
@ -1619,7 +1619,7 @@ EXTERNAL_SEARCH_ID =
# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
# This tag requires that the tag SEARCHENGINE is set to YES.
EXTRA_SEARCH_MAPPINGS =
EXTRA_SEARCH_MAPPINGS =
#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
@ -1683,7 +1683,7 @@ PAPER_TYPE = a4wide
# If left blank no extra packages will be included.
# This tag requires that the tag GENERATE_LATEX is set to YES.
EXTRA_PACKAGES =
EXTRA_PACKAGES =
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
# generated LaTeX document. The header should contain everything until the first
@ -1699,7 +1699,7 @@ EXTRA_PACKAGES =
# to HTML_HEADER.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_HEADER =
LATEX_HEADER =
# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
# generated LaTeX document. The footer should contain everything after the last
@ -1710,7 +1710,7 @@ LATEX_HEADER =
# Note: Only use a user-defined footer if you know what you are doing!
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_FOOTER =
LATEX_FOOTER =
# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
# LaTeX style sheets that are included after the standard style sheets created
@ -1721,7 +1721,7 @@ LATEX_FOOTER =
# list).
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_EXTRA_STYLESHEET =
LATEX_EXTRA_STYLESHEET =
# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the LATEX_OUTPUT output
@ -1729,7 +1729,7 @@ LATEX_EXTRA_STYLESHEET =
# markers available.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_EXTRA_FILES =
LATEX_EXTRA_FILES =
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
@ -1837,14 +1837,14 @@ RTF_HYPERLINKS = NO
# default style sheet that doxygen normally uses.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_STYLESHEET_FILE =
RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an RTF document. Syntax is
# similar to doxygen's config file. A template extensions file can be generated
# using doxygen -e rtf extensionFile.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_EXTENSIONS_FILE =
RTF_EXTENSIONS_FILE =
# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
# with syntax highlighting in the RTF output.
@ -1889,7 +1889,7 @@ MAN_EXTENSION = .3
# MAN_EXTENSION with the initial . removed.
# This tag requires that the tag GENERATE_MAN is set to YES.
MAN_SUBDIR =
MAN_SUBDIR =
# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
# will generate one additional man file for each entity documented in the real
@ -2002,7 +2002,7 @@ PERLMOD_PRETTY = YES
# overwrite each other's variables.
# This tag requires that the tag GENERATE_PERLMOD is set to YES.
PERLMOD_MAKEVAR_PREFIX =
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
@ -2043,7 +2043,7 @@ SEARCH_INCLUDES = YES
# preprocessor.
# This tag requires that the tag SEARCH_INCLUDES is set to YES.
INCLUDE_PATH =
INCLUDE_PATH =
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
@ -2051,7 +2051,7 @@ INCLUDE_PATH =
# used.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
INCLUDE_FILE_PATTERNS =
INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that are
# defined before the preprocessor is started (similar to the -D option of e.g.
@ -2083,7 +2083,7 @@ PREDEFINED = AUDACITY_DLL_API \
# definition found in the source code.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_AS_DEFINED =
EXPAND_AS_DEFINED =
# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
# remove all references to function-like macros that are alone on a line, have
@ -2112,13 +2112,13 @@ SKIP_FUNCTION_MACROS = YES
# the path). If a tag file is not located in the directory in which doxygen is
# run, you must also specify the path to the tagfile here.
TAGFILES =
TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
# tag file that is based on the input files it reads. See section "Linking to
# external documentation" for more information about the usage of tag files.
GENERATE_TAGFILE =
GENERATE_TAGFILE =
# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
# the class index. If set to NO, only the inherited external classes will be
@ -2167,14 +2167,14 @@ CLASS_DIAGRAMS = YES
# the mscgen tool resides. If left empty the tool is assumed to be found in the
# default search path.
MSCGEN_PATH =
MSCGEN_PATH =
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
# If left empty dia is assumed to be found in the default search path.
DIA_PATH =
DIA_PATH =
# If set to YES the inheritance and collaboration graphs will hide inheritance
# and usage relations if the target is undocumented or is not a class.
@ -2223,7 +2223,7 @@ DOT_FONTSIZE = 10
# the path where dot can find it using this tag.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_FONTPATH =
DOT_FONTPATH =
# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
# each documented class showing the direct and indirect inheritance relations.
@ -2367,26 +2367,26 @@ INTERACTIVE_SVG = NO
# found. If left blank, it is assumed the dot tool can be found in the path.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_PATH =
DOT_PATH =
# The DOTFILE_DIRS tag can be used to specify one or more directories that
# contain dot files that are included in the documentation (see the \dotfile
# command).
# This tag requires that the tag HAVE_DOT is set to YES.
DOTFILE_DIRS =
DOTFILE_DIRS =
# The MSCFILE_DIRS tag can be used to specify one or more directories that
# contain msc files that are included in the documentation (see the \mscfile
# command).
MSCFILE_DIRS =
MSCFILE_DIRS =
# The DIAFILE_DIRS tag can be used to specify one or more directories that
# contain dia files that are included in the documentation (see the \diafile
# command).
DIAFILE_DIRS =
DIAFILE_DIRS =
# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
# path where java can find the plantuml.jar file. If left blank, it is assumed
@ -2394,17 +2394,17 @@ DIAFILE_DIRS =
# generate a warning when it encounters a \startuml command in this case and
# will not generate output for the diagram.
PLANTUML_JAR_PATH =
PLANTUML_JAR_PATH =
# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
# configuration file for plantuml.
PLANTUML_CFG_FILE =
PLANTUML_CFG_FILE =
# When using plantuml, the specified paths are searched for files specified by
# the !include statement in a plantuml block.
PLANTUML_INCLUDE_PATH =
PLANTUML_INCLUDE_PATH =
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
# that will be shown in the graph. If the number of nodes in a graph becomes

16
cmake-proxies/cmake-modules/AudacityFunctions.cmake

@ -263,7 +263,7 @@ function( audacity_append_common_compiler_options var use_pch )
# Define/undefine _DEBUG
# Yes, -U to /U too as needed for Windows:
$<IF:$<CONFIG:Debug>,-D_DEBUG=1,-U_DEBUG>
)
)
# Definitions controlled by the AUDACITY_BUILD_LEVEL switch
if( AUDACITY_BUILD_LEVEL EQUAL 0 )
list( APPEND ${var} -DIS_ALPHA -DUSE_ALPHA_MANUAL )
@ -408,7 +408,7 @@ function( audacity_module_fn NAME SOURCES IMPORT_TARGETS
# compute LIBRARIES
set( LIBRARIES )
foreach( IMPORT ${IMPORT_TARGETS} )
list( APPEND LIBRARIES "${IMPORT}" )
endforeach()
@ -449,8 +449,8 @@ function( audacity_module_fn NAME SOURCES IMPORT_TARGETS
endif()
add_custom_command(TARGET ${TARGET} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"$<TARGET_FILE:${TARGET}>"
COMMAND ${CMAKE_COMMAND} -E copy
"$<TARGET_FILE:${TARGET}>"
"${REQUIRED_LOCATION}/$<TARGET_FILE_NAME:${TARGET}>"
)
endif()
@ -478,7 +478,7 @@ function( audacity_module_fn NAME SOURCES IMPORT_TARGETS
# collect dependency information
list( APPEND GRAPH_EDGES "\"${TARGET}\" [${ATTRIBUTES}]" )
if (NOT LIBTYPE STREQUAL "MODULE")
list( APPEND GRAPH_EDGES "\"Audacity\" -> \"${TARGET}\"" )
list( APPEND GRAPH_EDGES "\"Tenacity\" -> \"${TARGET}\"" )
endif ()
set(ACCESS PUBLIC PRIVATE INTERFACE)
foreach( IMPORT ${IMPORT_TARGETS} )
@ -589,7 +589,7 @@ function( addlib dir name symbol required check )
set( TARGET_ROOT ${libsrc}/${dir} )
# Define the option name
set( use ${_OPT}use_${name} )
set( use ${_OPT}use_${name} )
# If we're not checking for system or local here, then let the
# target config handle the rest.
@ -635,7 +635,7 @@ function( addlib dir name symbol required check )
if ( TARGET "${TARGET}" )
return()
endif()
message( STATUS "========== Configuring ${name} ==========" )
# Check for the system package(s) if the user prefers it
@ -676,7 +676,7 @@ function( addlib dir name symbol required check )
# Set the folder (for the IDEs) for each one
foreach( target ${targets} )
# Skip interface libraries since they don't have any source to
# present in the IDEs
# present in the IDEs
get_target_property( type "${target}" TYPE )
if( NOT "${type}" STREQUAL "INTERFACE_LIBRARY" )
set_target_properties( ${target} PROPERTIES FOLDER "lib-src" )

10
cmake-proxies/cmake-modules/Package.cmake

@ -1,8 +1,8 @@
set(CPACK_PACKAGE_VERSION_MAJOR "${AUDACITY_VERSION}") # X
set(CPACK_PACKAGE_VERSION_MINOR "${AUDACITY_RELEASE}") # Y
set(CPACK_PACKAGE_VERSION_PATCH "${AUDACITY_REVISION}") # Z
set(CPACK_PACKAGE_VENDOR "Audacity")
set(CPACK_PACKAGE_HOMEPAGE_URL "https://audacityteam.org")
set(CPACK_PACKAGE_VENDOR "Tenacity")
set(CPACK_PACKAGE_HOMEPAGE_URL "https://tenacityaudio.org")
# X.Y.Z-alpha-20210615
set(CPACK_PACKAGE_VERSION "${AUDACITY_VERSION}.${AUDACITY_RELEASE}.${AUDACITY_REVISION}${AUDACITY_SUFFIX}")
@ -25,8 +25,8 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
endif()
# audacity-linux-X.Y.Z-alpha-20210615
set(CPACK_PACKAGE_FILE_NAME "audacity-${os}-${CPACK_PACKAGE_VERSION}")
set(zsync_name "audacity-${os}-*") # '*' is wildcard (here it means any version)
set(CPACK_PACKAGE_FILE_NAME "tenacity-${os}-${CPACK_PACKAGE_VERSION}")
set(zsync_name "tenacity-${os}-*") # '*' is wildcard (here it means any version)
if(DEFINED AUDACITY_ARCH_LABEL)
# audacity-linux-X.Y.Z-alpha-20210615-x86_64
@ -44,7 +44,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
set(CPACK_EXTERNAL_PACKAGE_SCRIPT "${PROJECT_SOURCE_DIR}/linux/package_appimage.cmake")
if(AUDACITY_BUILD_LEVEL EQUAL 2)
# Enable updates. See https://github.com/AppImage/AppImageSpec/blob/master/draft.md#update-information
set(CPACK_AUDACITY_APPIMAGE_UPDATE_INFO "gh-releases-zsync|audacity|audacity|latest|${zsync_name}.AppImage.zsync")
set(CPACK_AUDACITY_APPIMAGE_UPDATE_INFO "gh-releases-zsync|tenacityteam|tenacity|latest|${zsync_name}.AppImage.zsync")
endif()
elseif( CMAKE_SYSTEM_NAME STREQUAL "Darwin" )
set( CPACK_GENERATOR DragNDrop )

BIN
images/AudacityLogo.png

Before

Width: 80  |  Height: 67  |  Size: 4.9 KiB

After

Width: 80  |  Height: 67  |  Size: 12 KiB

2973
images/AudacityLogo.xpm
File diff suppressed because it is too large
View File

845
images/AudacityLogo48x48.xpm

@ -1,716 +1,133 @@
/* XPM */
static const char * const AudacityLogo48x48_xpm[] = {
"48 48 665 2",
" c #FFFFFF",
". c #FBFBFD",
"+ c #F2F2F8",
"@ c #E4E4EF",
"# c #9191C0",
"$ c #4848B1",
"% c #1313C2",
"& c #0000CC",
"* c #1414C1",
"= c #4949B1",
"- c #9393C1",
"; c #9696C2",
"> c #1E1EBD",
", c #0000DB",
"' c #0000EF",
") c #0000FF",
"! c #1818C0",
"~ c #7777B1",
"{ c #F9F9FB",
"] c #FEFEFE",
"^ c #6F6FB0",
"/ c #0606C8",
"( c #0000CE",
"_ c #0000FA",
": c #0303FF",
"< c #1717FF",
"[ c #2A2AFF",
"} c #0000F7",
"| c #7171B0",
"1 c #DBDBEA",
"2 c #2020BC",
"3 c #0000D3",
"4 c #1919FF",
"5 c #6464EA",
"6 c #BFBFF0",
"7 c #F7F7FD",
"8 c #BEBEF1",
"9 c #6464EB",
"0 c #0000D5",
"a c #2121BC",
"b c #8888BB",
"c c #0101CB",
"d c #3B3BFF",
"e c #C7C7F1",
"f c #C6C6F0",
"g c #3A3AFF",
"h c #8C8CBD",
"i c #7575B1",
"j c #0000D2",
"k c #1111FF",
"l c #B2B2E9",
"m c #CACAF0",
"n c #1515FF",
"o c #A1A1C9",
"p c #0000D6",
"q c #3F3FF5",
"r c #FCFCFE",
"s c #3F3FF4",
"t c #0000D7",
"u c #A6A6CC",
"v c #ECECF4",
"w c #0505C9",
"x c #0000D1",
"y c #4B4BE4",
"z c #4A4AE4",
"A c #EDEDF4",
"B c #3636B5",
"C c #3030EF",
"D c #2F2FEF",
"E c #3737B4",
"F c #D7D7E8",
"G c #0000E7",
"H c #0707FF",
"I c #F0F0F9",
"J c #F2F2FA",
"K c #0909FF",
"L c #0000E9",
"M c #DADAEA",
"N c #4F4FB0",
"O c #0000D0",
"P c #6B6BC2",
"Q c #FEFEF7",
"R c #6969C4",
"S c #5252B0",
"T c #0909C7",
"U c #0000DE",
"V c #0000F9",
"W c #EFEFF7",
"X c #FFFFFD",
"Y c #FDFBDF",
"Z c #FEFEF4",
"` c #FFFFFC",
" . c #FFFFF9",
".. c #EEEEF7",
"+. c #0000FB",
"@. c #0000E1",
"#. c #0A0AC6",
"$. c #0000CF",
"%. c #2020D5",
"&. c #FFFFFE",
"*. c #FDFCE7",
"=. c #FEFDEC",
"-. c #FCF3C4",
";. c #FDFAD5",
">. c #FEFEFD",
",. c #FEFDEF",
"'. c #2424D3",
"). c #CFCFE4",
"!. c #4141BF",
"~. c #FEFCE1",
"{. c #FCF7C6",
"]. c #FEFCEB",
"^. c #FDF9CA",
"/. c #FCE09A",
"(. c #FCF3B7",
"_. c #FDFBDD",
":. c #FFFEFC",
"<. c #FDFBD8",
"[. c #4E4EBB",
"}. c #0000EA",
"|. c #D0D0E4",
"1. c #BEBEDA",
"2. c #0000DF",
"3. c #5C5CB5",
"4. c #FEFDF0",
"5. c #FCF8BE",
"6. c #FCDF96",
"7. c #FCF9C7",
"8. c #FEFDE7",
"9. c #FAF5A7",
"0. c #FBCE73",
"a. c #FBEE9F",
"b. c #FBF6AE",
"c. c #FEFDF3",
"d. c #FCF2BE",
"e. c #FCF4C7",
"f. c #FFFEF7",
"g. c #5E5EB4",
"h. c #0000CD",
"i. c #BBBBD8",
"j. c #0000D4",
"k. c #6060B3",
"l. c #E7E7FA",
"m. c #C3C3F3",
"n. c #FEFEFF",
"o. c #FBF7BB",
"p. c #FAF5AB",
"q. c #FCC260",
"r. c #F9F39A",
"s. c #F9F394",
"t. c #F9F290",
"u. c #FCBD50",
"v. c #F9E886",
"w. c #F9F396",
"x. c #FAF5AA",
"y. c #FEFCE3",
"z. c #FCF8BF",
"A. c #FBE197",
"B. c #FCE5A4",
"C. c #FEFDED",
"D. c #6060B2",
"E. c #CACAE1",
"F. c #1717C0",
"G. c #BFBFF2",
"H. c #7777E4",
"I. c #FFFEF6",
"J. c #FBF6B9",
"K. c #FAF4A3",
"L. c #F9F397",
"M. c #FDA635",
"N. c #F8F184",
"O. c #F8F07D",
"P. c #F8F07A",
"Q. c #FCAD36",
"R. c #F8E36E",
"S. c #F8F07F",
"T. c #F9F084",
"U. c #F9F28E",
"V. c #FBD274",
"W. c #FCD884",
"X. c #FDFBE0",
"Y. c #CCCCE1",
"Z. c #9F9FC8",
"`. c #6060B1",
" + c #6060DF",
".+ c #FFFEF8",
"++ c #FBF7B7",
"@+ c #FAE88F",
"#+ c #F8F183",
"$+ c #FE9017",
"%+ c #F7E969",
"&+ c #F7EE67",
"*+ c #F7ED64",
"=+ c #FC9C1E",
"-+ c #F8DE58",
";+ c #F7EE69",
">+ c #F9D053",
",+ c #F8EF78",
"'+ c #F8F182",
")+ c #FCC356",
"!+ c #FBC966",
"~+ c #FCF8C4",
"{+ c #A2A2CA",
"]+ c #FCF8C3",
"^+ c #FAF49E",
"/+ c #FADA72",
"(+ c #F8ED7A",
"_+ c #F7EE70",
":+ c #FE840A",
"<+ c #F7D74A",
"[+ c #F6EB53",
"}+ c #F5EB50",
"|+ c #FD8C0E",
"1+ c #F7DA44",
"2+ c #F6EB54",
"3+ c #FBAA28",
"4+ c #F6ED63",
"5+ c #F7EE6D",
"6+ c #FCB43C",
"7+ c #FBBC4A",
"8+ c #F9F395",
"9+ c #FCF8C1",
"0+ c #FDFAD2",
"a+ c #FFFFFA",
"b+ c #D1D1E5",
"c+ c #FDFDFE",
"d+ c #1515C1",
"e+ c #0000D8",
"f+ c #FAEF9A",
"g+ c #F9D35E",
"h+ c #F8E260",
"i+ c #F6EB5D",
"j+ c #FF7C03",
"k+ c #F8C531",
"l+ c #F5E942",
"m+ c #F5E83F",
"n+ c #FF7E04",
"o+ c #F7D534",
"p+ c #F5E943",
"q+ c #FE890C",
"r+ c #F5E64C",
"s+ c #F6EC5A",
"t+ c #FCA427",
"u+ c #FBAF35",
"v+ c #F8F081",
"w+ c #FAF29F",
"x+ c #FCF8BC",
"y+ c #FFFEF9",
"z+ c #1616C0",
"A+ c #7979B2",
"B+ c #0000DC",
"C+ c #FBF6AD",
"D+ c #FAD770",
"E+ c #F8F07E",
"F+ c #F9CC4D",
"G+ c #F8D74B",
"H+ c #F6E349",
"I+ c #FF7901",
"J+ c #F9B41F",
"K+ c #F4E835",
"L+ c #F5DD2C",
"M+ c #F6D228",
"N+ c #F5E433",
"O+ c #FF7A01",
"P+ c #F7D535",
"Q+ c #F5EA49",
"R+ c #FC9616",
"S+ c #FCA223",
"T+ c #F7EE6F",
"U+ c #FBD36A",
"V+ c #FAF4A2",
"W+ c #FCF9C4",
"X+ c #7D7DB4",
"Y+ c #1212C3",
"Z+ c #0000E4",
"`+ c #FDFBDC",
" @ c #FBC04D",
".@ c #F9C73F",
"+@ c #F8CC38",
"@@ c #F6D836",
"#@ c #FBA413",
"$@ c #F3E72A",
"%@ c #F5CE1D",
"&@ c #F6CE1E",
"*@ c #F6D021",
"=@ c #F8C322",
"-@ c #F4E83A",
";@ c #FD890B",
">@ c #FC9715",
",@ c #F6EC5D",
"'@ c #F7E264",
")@ c #FBB440",
"!@ c #F9F292",
"~@ c #FAF2A2",
"{@ c #5F5FCF",
"]@ c #0000DA",
"^@ c #D3D3E6",
"/@ c #5F5ED0",
"(@ c #F8F189",
"_@ c #FCA82F",
":@ c #F6ED61",
"<@ c #F9C233",
"[@ c #F8C12A",
"}@ c #F7CD29",
"|@ c #FF7601",
"1@ c #FC940A",
"2@ c #F3E621",
"3@ c #F7BF14",
"4@ c #F6CA17",
"5@ c #F8BC15",
"6@ c #F8B115",
"7@ c #F4E62E",
"8@ c #FE8C0C",
"9@ c #F9C33D",
"0@ c #FCAB32",
"a@ c #F8F185",
"b@ c #FBDC7C",
"c@ c #5E5CC0",
"d@ c #6C6CB0",
"e@ c #5E5CBE",
"f@ c #FD9217",
"g@ c #F6EC55",
"h@ c #F9BB29",
"i@ c #F9B71F",
"j@ c #F99116",
"k@ c #FF5A01",
"l@ c #FE8404",
"m@ c #F3E51C",
"n@ c #F9B10D",
"o@ c #F8AD11",
"p@ c #F99F0C",
"q@ c #FB8C0B",
"r@ c #F4D120",
"s@ c #FF7801",
"t@ c #FE8004",
"u@ c #FBA420",
"v@ c #FCA325",
"w@ c #F8EA72",
"x@ c #FBC75A",
"y@ c #5F5CBC",
"z@ c #6E6EB0",
"A@ c #3C3CB3",
"B@ c #0000E8",
"C@ c #5F59B6",
"D@ c #F9EB81",
"E@ c #F7EF72",
"F@ c #FE7407",
"G@ c #F6D944",
"H@ c #F9B721",
"I@ c #F9AD18",
"J@ c #FB700E",
"K@ c #FF4601",
"L@ c #FF5E01",
"M@ c #F4E018",
"N@ c #FAA20A",
"O@ c #FF6A01",
"P@ c #FA8A0B",
"Q@ c #FE4E05",
"R@ c #FF7401",
"S@ c #FE2E03",
"T@ c #F98D10",
"U@ c #FF6401",
"V@ c #FF5701",
"W@ c #F4D934",
"X@ c #FD8309",
"Y@ c #FD9A1B",
"Z@ c #F8D457",
"`@ c #FBBE4C",
" # c #5E5BB9",
".# c #0000E3",
"+# c #3F3FB3",
"@# c #1919BF",
"## c #0000E6",
"$# c #0000EB",
"%# c #5F4CA5",
"&# c #FAD25F",
"*# c #FAC947",
"=# c #F7BD33",
"-# c #FAAF1B",
";# c #FB820D",
"># c #FC5C09",
",# c #FF3301",
"'# c #FF2601",
")# c #F7AE10",
"!# c #FD5F04",
"~# c #FF4A01",
"{# c #FA800A",
"]# c #FF0D01",
"^# c #FF3901",
"/# c #FF0B01",
"(# c #FC5007",
"_# c #FF4701",
":# c #FF1601",
"<# c #F98518",
"[# c #FF5401",
"}# c #FF4D03",
"|# c #FC6D22",
"1# c #FC7A2A",
"2# c #5E52AB",
"3# c #1A1ABE",
"4# c #0000DD",
"5# c #601D89",
"6# c #FAD05A",
"7# c #FF8309",
"8# c #FF1E01",
"9# c #F8A126",
"0# c #FF2C04",
"a# c #FF0A01",
"b# c #FD3B05",
"c# c #FF1D01",
"d# c #FF0901",
"e# c #FA830B",
"f# c #FF1802",
"g# c #FF2001",
"h# c #FD4105",
"i# c #FF0101",
"j# c #FF1402",
"k# c #FF1B03",
"l# c #FF1201",
"m# c #FE531B",
"n# c #602E90",
"o# c #0B0BD1",
"p# c #0000EE",
"q# c #600F83",
"r# c #FC7A2D",
"s# c #FF2901",
"t# c #FF0201",
"u# c #FD4A0C",
"v# c #FF0301",
"w# c #FC5C06",
"x# c #FF1E06",
"y# c #0000EC",
"z# c #0606F0",
"A# c #0000F5",
"B# c #FE3B10",
"C# c #FF0501",
"D# c #FE1E02",
"E# c #FE2803",
"F# c #0000F6",
"G# c #2B2BB8",
"H# c #0000FC",
"I# c #0000F0",
"J# c #FF0E02",
"K# c #FF0801",
"L# c #FE1402",
"M# c #FF3D01",
"N# c #FB6D09",
"O# c #FF0701",
"P# c #FF1001",
"Q# c #FE1A02",
"R# c #FF0C01",
"S# c #FE0A01",
"T# c #2D2DFF",
"U# c #5C5CAF",
"V# c #FE380A",
"W# c #FF1A02",
"X# c #FD580C",
"Y# c #FC910C",
"Z# c #FF6001",
"`# c #F6B112",
" $ c #FE6804",
".$ c #FC4805",
"+$ c #FD3704",
"@$ c #FF2701",
"#$ c #FA720A",
"$$ c #FF0E01",
"%$ c #FF4501",
"&$ c #F8A820",
"*$ c #FF7301",
"=$ c #FF5707",
"-$ c #FE5918",
";$ c #FE4615",
">$ c #5F348E",
",$ c #5F5FE3",
"'$ c #A9A9CD",
")$ c #5F3D9E",
"!$ c #FF4402",
"~$ c #FF3307",
"{$ c #FE4D10",
"]$ c #FB9C1A",
"^$ c #FB7311",
"/$ c #F9AD16",
"($ c #F4E220",
"_$ c #FBA50E",
":$ c #FF5501",
"<$ c #F7A312",
"[$ c #FF6601",
"}$ c #FA800C",
"|$ c #FF7303",
"1$ c #FF7403",
"2$ c #F5DB21",
"3$ c #FF4602",
"4$ c #FD8D0D",
"5$ c #F4E63B",
"6$ c #FC9F1F",
"7$ c #F9CE50",
"8$ c #5E4EA8",
"9$ c #ACACE7",
"0$ c #0000ED",
"a$ c #5E5CB9",
"b$ c #FD9520",
"c$ c #FC9B2D",
"d$ c #FB9D23",
"e$ c #F8C030",
"f$ c #FAB120",
"g$ c #F8C122",
"h$ c #FE8205",
"i$ c #F3E729",
"j$ c #F7C11A",
"k$ c #FF6E01",
"l$ c #F6C31E",
"m$ c #FF4103",
"n$ c #F4D520",
"o$ c #FD8B07",
"p$ c #FC980D",
"q$ c #F4E72D",
"r$ c #FC8E0B",
"s$ c #FC9C14",
"t$ c #F5EA47",
"u$ c #FABB39",
"v$ c #F8ED76",
"w$ c #FAD066",
"x$ c #5E5BBB",
"y$ c #F9F9FD",
"z$ c #4848EF",
"A$ c #5E5CBC",
"B$ c #FCB94D",
"C$ c #FACA55",
"D$ c #FCA82C",
"E$ c #F8D94C",
"F$ c #FAB226",
"G$ c #F7D637",
"H$ c #FD910E",
"I$ c #F5DE2D",
"J$ c #F6DB2C",
"K$ c #FE820A",
"L$ c #FE8406",
"M$ c #F4E731",
"N$ c #FC960E",
"O$ c #F9B01B",
"P$ c #F4E839",
"Q$ c #FAA71C",
"R$ c #FCA31C",
"S$ c #FF8108",
"T$ c #F9D75B",
"U$ c #F9F298",
"V$ c #4B4BDE",
"W$ c #E7E7F7",
"X$ c #0101FF",
"Y$ c #5E5DC1",
"Z$ c #FADF83",
"`$ c #FAD96F",
" % c #FBBF47",
".% c #F7ED6A",
"+% c #F9BA34",
"@% c #F6E952",
"#% c #FCA41D",
"$% c #F5EA44",
"%% c #F5E941",
"&% c #FD8B0B",
"*% c #F6E43B",
"=% c #FC9812",
"-% c #FB9E15",
";% c #F5E93F",
">% c #FCA118",
",% c #F7CB32",
"'% c #F9C133",
")% c #FCAA28",
"!% c #F7ED66",
"~% c #FE8A12",
"{% c #F8EF81",
"]% c #FAF5A5",
"^% c #605FCF",
"/% c #0202FF",
"(% c #EAEAF7",
"_% c #6262D3",
":% c #0000E0",
"<% c #5F5ECF",
"[% c #F9EE94",
"}% c #F9D76C",
"|% c #F8F07B",
"1% c #F9D255",
"2% c #F7ED65",
"3% c #F9C53E",
"4% c #F6EC56",
"5% c #FBA923",
"6% c #F6E74D",
"7% c #FBA21D",
"8% c #FABB2E",
"9% c #F6EB51",
"0% c #FBAD27",
"a% c #F6E652",
"b% c #F7DA53",
"c% c #FBB135",
"d% c #FCAA36",
"e% c #FAF5A6",
"f% c #6464D1",
"g% c #3939F2",
"h% c #6060B8",
"i% c #FDFAD1",
"j% c #F9EF97",
"k% c #F9F28F",
"l% c #F8EC7F",
"m% c #F8E96B",
"n% c #F7EE6C",
"o% c #F7EE68",
"p% c #FAC845",
"q% c #F7EC63",
"r% c #FBAC2D",
"s% c #F9D751",
"t% c #FACF4C",
"u% c #F7EF71",
"v% c #FBBF4C",
"w% c #F9F28C",
"x% c #FBCB67",
"y% c #FDFBDB",
"z% c #3636F6",
"A% c #4848F2",
"B% c #6060C4",
"C% c #FAF6AE",
"D% c #F9F399",
"E% c #F8F188",
"F% c #F9E874",
"G% c #FBBE48",
"H% c #F8EF7A",
"I% c #F8F07C",
"J% c #F8EE7D",
"K% c #FAE07F",
"L% c #FAF4A1",
"M% c #FAEC9F",
"N% c #FBF6B7",
"O% c #4B4BEF",
"P% c #BABAEE",
"Q% c #2F2FFF",
"R% c #6060D6",
"S% c #0808CE",
"T% c #B0B0EF",
"U% c #FEFCE2",
"V% c #FBF7B9",
"W% c #FAF5AD",
"X% c #FAF49F",
"Y% c #F9F293",
"Z% c #F9F291",
"`% c #FAE581",
" & c #FAF4A0",
".& c #FEFCE6",
"+& c #FCF8BB",
"@& c #FAF5AC",
"#& c #FBF6B4",
"$& c #FBF7BD",
"%& c #AFAFEF",
"&& c #3030FF",
"*& c #BCBCEE",
"=& c #FAFAFE",
"-& c #F3F3FD",
";& c #F4F4FD",
">& c #FDFCE2",
",& c #FDFCE3",
"'& c #FCF9C6",
")& c #FAF6AD",
"!& c #FDFCE4",
"~& c #FEFEF5",
"{& c #FEFDE8",
"]& c #FEFDEB",
"^& c #FBF8C0",
" ",
" . + + . ",
" @ # $ % & & & & & & * = - @ ",
" . ; > & & & , ' ) ) ) ) ' , & & & ! ~ { ",
" ] ^ / & ( _ ) ) ) : < [ [ < : ) ) ) } ( & / | ] ",
" 1 2 & 3 ) ) 4 5 6 7 7 8 9 4 ) ) 0 & a 1 ",
" b c & ) ) d e f g ) ) & c h ",
" i & j ) k l m n ) 3 & ^ ",
" o & p ) q r r s ) t & u ",
" v w x ) y ] ] z ) x w A ",
" B & ) C D ) & E ",
" F & G H I J K L & M ",
" N O ) P Q R ) O S ",
" T U V W X Y Z ` . ..+.@.#. ",
" v $.' %. &.*.&. =.-.;.>. =.,. '.' $.A ",
" ).x L !. ~.{.]. ^./.(._. :.<.~. [.}.O |. ",
" 1.( 2.3. 4.5.6.7.8.9.0.a.b.c. ].d.e.f. g.2.h.1. ",
" i.& j.k.l.m.n. Q o.p.q.r.s.t.u.v.w.x.y.z.A.B.C. n.m.l.D.j.& i. ",
" E.F.& O D.G.& H. I.J.K.L.M.N.O.P.Q.R.S.T.U.L.V.W.X. H.& G.D.O & F.Y. ",
" Z.c & & O `.G.& + .+++@+t.#+$+%+&+*+=+-+;+>+,+'+)+!+~+ +& G.`.O & & c {+ ",
" |.c & & O 3 `.G.& + ]+^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+ +& G.`.3 $.& & c b+ ",
" c+d+& & $.e+j.D.G.& + Y f+U.g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+t.w+x+y+ +& G.D.j.p $.& & z+c+ ",
" A+& & ( 2.B+0 D.G.& +` C+D+E+F+G+H+I+J+K+L+I+M+N+O+P+Q+R+S+T+S.U+V+W+ +& G.D.0 B+2.$.& & X+ ",
"] Y+& h., Z+2.0 D.G.& +`+w. @T+.@+@@@I+#@$@%@I+&@*@I+=@-@;@>@,@'@)@!@~@{@& G.D.0 2.Z+]@& & * ",
"^@& & j.Z+L 2.0 D.G.& /@b.(@_@:@<@[@}@|@1@2@3@I+4@5@I+6@7@j+8@}+9@0@a@b@c@& G.D.0 2.L Z+3 & & F ",
"d@& $.U G G 2.0 D.G.& e@!@O.f@g@h@i@j@k@l@m@n@I+o@p@I+q@r@s@t@p+u@v@w@x@y@& G.D.0 2.G G 2.O & z@",
"A@& e+Z+}.B@2.0 D.G.& C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #& G.D.0 2.B@}..#p ( +#",
"@#O @.##$#B@2.0 D.G.& %#&#*#K@=#-#;#>#,#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#& G.D.0 2.B@$###@.0 3#",
"T 4#G }.$#B@2.0 D.G.& 5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#i#i#j#/#