Compare commits
3 Commits
a77a5d55ef
...
c484c235f2
Author | SHA1 | Date |
---|---|---|
|
c484c235f2 | |
|
1275d57b97 | |
|
4ae52a743e |
|
@ -9,25 +9,25 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- description: Windows - Visual Studio
|
- description: Windows / Visual Studio
|
||||||
os: windows-2022
|
os: windows-2019
|
||||||
cmakeOptions: '-G "Visual Studio 17 2022" -A x64'
|
cmakeOptions: '-G "Visual Studio 16 2019" -A x64'
|
||||||
publish: true
|
publish: true
|
||||||
- description: macOS - Xcode
|
- description: macOS / Xcode
|
||||||
os: macos-14
|
os: macos-10.15
|
||||||
cmakeOptions: ''
|
cmakeOptions: ''
|
||||||
publish: true
|
publish: true
|
||||||
- description: Linux - GCC
|
- description: Linux / GCC
|
||||||
os: ubuntu-24.04
|
os: ubuntu-20.04
|
||||||
cmakeOptions: '-D CMAKE_C_COMPILER=gcc-14 -D CMAKE_CXX_COMPILER=g++-14'
|
cmakeOptions: '-D CMAKE_C_COMPILER=gcc-10 -D CMAKE_CXX_COMPILER=g++-10'
|
||||||
publish: true
|
publish: true
|
||||||
- description: Linux - Clang
|
- description: Linux / Clang
|
||||||
os: ubuntu-24.04
|
os: ubuntu-20.04
|
||||||
cmakeOptions: '-D CMAKE_C_COMPILER=clang-18 -D CMAKE_CXX_COMPILER=clang++-18'
|
cmakeOptions: '-D CMAKE_C_COMPILER=clang-12 -D CMAKE_CXX_COMPILER=clang++-12'
|
||||||
publish: false
|
publish: false
|
||||||
env:
|
env:
|
||||||
BOOST_ROOT: ${{ github.workspace }}/lib/boost
|
BOOST_ROOT: ${{ github.workspace }}/lib/boost
|
||||||
BOOST_URL: https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.bz2/download
|
BOOST_URL: https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2/download
|
||||||
steps:
|
steps:
|
||||||
- name: Install Deno
|
- name: Install Deno
|
||||||
uses: denoland/setup-deno@v2
|
uses: denoland/setup-deno@v2
|
||||||
|
@ -82,10 +82,9 @@ jobs:
|
||||||
./rhubarb/build/runTests
|
./rhubarb/build/runTests
|
||||||
fi
|
fi
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
if: ${{ matrix.publish }}
|
uses: actions/upload-artifact@v3
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
with:
|
||||||
name: 'binaries ${{ matrix.description }}'
|
name: binaries
|
||||||
path: |
|
path: |
|
||||||
artifacts/*.zip
|
artifacts/*.zip
|
||||||
artifacts/*.tar.gz
|
artifacts/*.tar.gz
|
||||||
|
@ -96,6 +95,8 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Download artifacts
|
- name: Download artifacts
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: binaries
|
||||||
- name: Create GitHub release draft
|
- name: Create GitHub release draft
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
|
|
48
LICENSE.md
48
LICENSE.md
|
@ -11,13 +11,13 @@ This summary is not legally binding. The actual license terms are defined by the
|
||||||
|
|
||||||
[Rhubarb Lip Sync](https://github.com/DanielSWolf/rhubarb-lip-sync) is released under the **MIT License (MIT)**.
|
[Rhubarb Lip Sync](https://github.com/DanielSWolf/rhubarb-lip-sync) is released under the **MIT License (MIT)**.
|
||||||
|
|
||||||
> Copyright (c) 2015-2016 Daniel Wolf
|
Copyright (c) 2015-2016 Daniel Wolf
|
||||||
>
|
|
||||||
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
>
|
|
||||||
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
>
|
|
||||||
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
## Third-party dependencies
|
## Third-party dependencies
|
||||||
|
|
||||||
|
@ -71,12 +71,10 @@ The [CMU Flite](http://www.festvox.org/flite/) engine is released under a **BSD*
|
||||||
> All Rights Reserved.
|
> All Rights Reserved.
|
||||||
>
|
>
|
||||||
> Permission is hereby granted, free of charge, to use and distribute this software and its documentation without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of this work, and to permit persons to whom this work is furnished to do so, subject to the following conditions:
|
> Permission is hereby granted, free of charge, to use and distribute this software and its documentation without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of this work, and to permit persons to whom this work is furnished to do so, subject to the following conditions:
|
||||||
>
|
|
||||||
> 1. The code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
> 1. The code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||||
> 2. Any modifications must be clearly marked as such.
|
> 2. Any modifications must be clearly marked as such.
|
||||||
> 3. Original authors' names are not deleted.
|
> 3. Original authors' names are not deleted.
|
||||||
> 4. The authors' names are not used to endorse or promote products derived from this software without specific prior written permission.
|
> 4. The authors' names are not used to endorse or promote products derived from this software without specific prior written permission.
|
||||||
>
|
|
||||||
> CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
> CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
### `[googletest]` Google Test
|
### `[googletest]` Google Test
|
||||||
|
@ -88,7 +86,7 @@ The [Google Test](https://github.com/google/googletest) framework is released un
|
||||||
>
|
>
|
||||||
> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||||
>
|
>
|
||||||
> * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
>* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||||
> * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
> * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||||
> * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
> * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||||
>
|
>
|
||||||
|
@ -144,13 +142,13 @@ The [PocketSphinx](https://github.com/cmusphinx/pocketsphinx) library is release
|
||||||
The [Sound Change Applier](http://www.zompist.com/sounds.htm) and its [rule set for American English](http://www.zompist.com/spell.html) are released under the **MIT License (MIT)**.
|
The [Sound Change Applier](http://www.zompist.com/sounds.htm) and its [rule set for American English](http://www.zompist.com/spell.html) are released under the **MIT License (MIT)**.
|
||||||
|
|
||||||
> **The MIT License (MIT)**
|
> **The MIT License (MIT)**
|
||||||
>
|
|
||||||
> Copyright (c) 2000 Mark Rosenfelder
|
> Copyright (c) 2000 Mark Rosenfelder
|
||||||
>
|
|
||||||
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
>
|
|
||||||
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
>
|
|
||||||
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
### `[sphinxbase]` CMU Sphinx common libraries
|
### `[sphinxbase]` CMU Sphinx common libraries
|
||||||
|
@ -196,8 +194,8 @@ The [UTF8-CPP](https://github.com/nemtrif/utfcpp) library is released under the
|
||||||
|
|
||||||
The [utf8proc](https://github.com/JuliaLang/utf8proc) library is released under the **MIT License (MIT)**, while some of its data is released under the **UNICODE License**.
|
The [utf8proc](https://github.com/JuliaLang/utf8proc) library is released under the **MIT License (MIT)**, while some of its data is released under the **UNICODE License**.
|
||||||
|
|
||||||
#### utf8proc license
|
> #### utf8proc license
|
||||||
|
>
|
||||||
> **utf8proc** is a software package originally developed by Jan Behrens and the rest of the Public Software Group, who deserve nearly all of the credit for this library, that is now maintained by the Julia-language developers. Like the original utf8proc, whose copyright and license statements are reproduced below, all new work on the utf8proc library is licensed under the [MIT "expat" license](http://opensource.org/licenses/MIT):
|
> **utf8proc** is a software package originally developed by Jan Behrens and the rest of the Public Software Group, who deserve nearly all of the credit for this library, that is now maintained by the Julia-language developers. Like the original utf8proc, whose copyright and license statements are reproduced below, all new work on the utf8proc library is licensed under the [MIT "expat" license](http://opensource.org/licenses/MIT):
|
||||||
>
|
>
|
||||||
> *Copyright © 2014-2015 by Steven G. Johnson, Jiahao Chen, Tony Kelman, Jonas Fonseca, and other contributors listed in the git history.*
|
> *Copyright © 2014-2015 by Steven G. Johnson, Jiahao Chen, Tony Kelman, Jonas Fonseca, and other contributors listed in the git history.*
|
||||||
|
@ -207,9 +205,9 @@ The [utf8proc](https://github.com/JuliaLang/utf8proc) library is released under
|
||||||
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
>
|
>
|
||||||
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
>
|
||||||
#### Original utf8proc license
|
> #### Original utf8proc license
|
||||||
|
>
|
||||||
> *Copyright (c) 2009, 2013 Public Software Group e. V., Berlin, Germany*
|
> *Copyright (c) 2009, 2013 Public Software Group e. V., Berlin, Germany*
|
||||||
>
|
>
|
||||||
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
@ -217,9 +215,9 @@ The [utf8proc](https://github.com/JuliaLang/utf8proc) library is released under
|
||||||
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
>
|
>
|
||||||
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
>
|
||||||
#### Unicode data license
|
> #### Unicode data license
|
||||||
|
>
|
||||||
> This software distribution contains derived data from a modified version of the Unicode data files. The following license applies to that data:
|
> This software distribution contains derived data from a modified version of the Unicode data files. The following license applies to that data:
|
||||||
>
|
>
|
||||||
> **COPYRIGHT AND PERMISSION NOTICE**
|
> **COPYRIGHT AND PERMISSION NOTICE**
|
||||||
|
@ -255,13 +253,13 @@ libvorbis is released under the **3-clause BSD license**.
|
||||||
The [WebRTC](https://chromium.googlesource.com/external/webrtc) library is released under the **3-clause BSD License**.
|
The [WebRTC](https://chromium.googlesource.com/external/webrtc) library is released under the **3-clause BSD License**.
|
||||||
|
|
||||||
> Copyright (c) 2011, The WebRTC project authors. All rights reserved.
|
> Copyright (c) 2011, The WebRTC project authors. All rights reserved.
|
||||||
>
|
|
||||||
> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||||
>
|
|
||||||
> * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
> * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||||
> * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
> * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||||
> * Neither the name of Google nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
> * Neither the name of Google nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||||
>
|
|
||||||
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
### `[whereami]` Where Am I?
|
### `[whereami]` Where Am I?
|
||||||
|
|
10
README.adoc
10
README.adoc
|
@ -1,5 +1,3 @@
|
||||||
= Rhubarb Lip Sync
|
|
||||||
|
|
||||||
:A: Ⓐ
|
:A: Ⓐ
|
||||||
:B: Ⓑ
|
:B: Ⓑ
|
||||||
:C: Ⓒ
|
:C: Ⓒ
|
||||||
|
@ -119,11 +117,11 @@ This shape is also used as an in-between when animating from {C} or {D} to {F}.
|
||||||
|
|
||||||
=== General usage ===
|
=== General usage ===
|
||||||
|
|
||||||
Rhubarb Lip Sync is a command-line tool that is currently available for Windows, macOS, and Linux.
|
Rhubarb Lip Sync is a command-line tool that is currently available for Windows and OS X.
|
||||||
|
|
||||||
* Download the https://github.com/DanielSWolf/rhubarb-lip-sync/releases[latest release] for your operating system and unpack the file anywhere on your computer.
|
* Download the https://github.com/DanielSWolf/rhubarb-lip-sync/releases[latest release] and unzip the file anywhere on your computer.
|
||||||
* On the command-line, call `rhubarb`, passing it an audio file as argument and telling it where to create the output file. In its simplest form, this might look like this: `rhubarb -o output.txt my-recording.wav`. There are additional <<options,command-line options>> you can specify in order to get better results.
|
* Call `rhubarb`, passing it an audio file as argument and telling it where to create the output file. In its simplest form, this might look like this: `rhubarb -o output.txt my-recording.wav`. There are additional <<options,command-line options>> you can specify in order to get better results.
|
||||||
* Rhubarb Lip Sync will analyze the sound file, animate it, and create an output file containing the animation. If an error occurs, it will instead print an error message to `stderr` and exit with a non-zero exit code.
|
* Rhubarb Lip Sync will analyze the sound file, animate it, and create an output file containing the animation. If an error occurs, Rhubarb Lip Sync will instead print an error message to `stderr` and exit with a non-zero exit code.
|
||||||
|
|
||||||
[[options]]
|
[[options]]
|
||||||
=== Command-line options ===
|
=== Command-line options ===
|
||||||
|
|
57
dodo.py
57
dodo.py
|
@ -9,7 +9,6 @@ from enum import Enum
|
||||||
from shutil import rmtree, copy, copytree, make_archive
|
from shutil import rmtree, copy, copytree, make_archive
|
||||||
import platform
|
import platform
|
||||||
import tomllib
|
import tomllib
|
||||||
import re
|
|
||||||
|
|
||||||
root_dir = Path(__file__).parent
|
root_dir = Path(__file__).parent
|
||||||
rhubarb_dir = root_dir / 'rhubarb'
|
rhubarb_dir = root_dir / 'rhubarb'
|
||||||
|
@ -129,9 +128,9 @@ def task_package():
|
||||||
|
|
||||||
def collect_artifacts():
|
def collect_artifacts():
|
||||||
# Misc. files
|
# Misc. files
|
||||||
asciidoc_to_html(root_dir / 'README.adoc', tree_dir / 'README.html')
|
copy(root_dir / 'README.adoc', tree_dir)
|
||||||
markdown_to_html(root_dir / 'LICENSE.md', tree_dir / 'LICENSE.html')
|
copy(root_dir / 'LICENSE.md', tree_dir)
|
||||||
markdown_to_html(root_dir / 'CHANGELOG.md', tree_dir / 'CHANGELOG.html')
|
copy(root_dir / 'CHANGELOG.md', tree_dir)
|
||||||
copytree(root_dir / 'img', tree_dir / 'img')
|
copytree(root_dir / 'img', tree_dir / 'img')
|
||||||
|
|
||||||
# Rhubarb
|
# Rhubarb
|
||||||
|
@ -143,20 +142,20 @@ def task_package():
|
||||||
src = extras_dir / 'adobe-after-effects'
|
src = extras_dir / 'adobe-after-effects'
|
||||||
dst_extras_dir = ensure_dir(tree_dir / 'extras')
|
dst_extras_dir = ensure_dir(tree_dir / 'extras')
|
||||||
dst = ensure_dir(dst_extras_dir / 'adobe-after-effects')
|
dst = ensure_dir(dst_extras_dir / 'adobe-after-effects')
|
||||||
asciidoc_to_html(src / 'README.adoc', dst / 'README.html')
|
copy(src / 'README.adoc', dst)
|
||||||
copy(src / 'Rhubarb Lip Sync.jsx', dst)
|
copy(src / 'Rhubarb Lip Sync.jsx', dst)
|
||||||
|
|
||||||
# Rhubarb for Spine
|
# Rhubarb for Spine
|
||||||
src = extras_dir / 'esoteric-software-spine'
|
src = extras_dir / 'esoteric-software-spine'
|
||||||
dst = ensure_dir(dst_extras_dir / 'esoteric-software-spine')
|
dst = ensure_dir(dst_extras_dir / 'esoteric-software-spine')
|
||||||
asciidoc_to_html(src / 'README.adoc', dst / 'README.html')
|
copy(src / 'README.adoc', dst)
|
||||||
for file in (src / 'build' / 'libs').iterdir():
|
for file in (src / 'build' / 'libs').iterdir():
|
||||||
copy(file, dst)
|
copy(file, dst)
|
||||||
|
|
||||||
# Magix Vegas
|
# Magix Vegas
|
||||||
src = extras_dir / 'magix-vegas'
|
src = extras_dir / 'magix-vegas'
|
||||||
dst = ensure_dir(dst_extras_dir / 'magix-vegas')
|
dst = ensure_dir(dst_extras_dir / 'magix-vegas')
|
||||||
asciidoc_to_html(src / 'README.adoc', dst / 'README.html')
|
copy(src / 'README.adoc', dst)
|
||||||
copy(src / 'Debug Rhubarb.cs', dst)
|
copy(src / 'Debug Rhubarb.cs', dst)
|
||||||
copy(src / 'Debug Rhubarb.cs.config', dst)
|
copy(src / 'Debug Rhubarb.cs.config', dst)
|
||||||
copy(src / 'Import Rhubarb.cs', dst)
|
copy(src / 'Import Rhubarb.cs', dst)
|
||||||
|
@ -219,50 +218,6 @@ def get_formatter(path: Path) -> Optional[Formatter]:
|
||||||
return Formatter.RUFF
|
return Formatter.RUFF
|
||||||
|
|
||||||
|
|
||||||
def asciidoc_to_html(src: Path, dst: Path):
|
|
||||||
subprocess.run(
|
|
||||||
['deno', 'run', '-A', 'npm:asciidoctor@3.0.0', '-a', 'toc=left', '-o', dst, src], check=True
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def markdown_to_html(src: Path, dst: Path):
|
|
||||||
tmp = dst.parent.joinpath(f'{src.stem}-tmp.adoc')
|
|
||||||
try:
|
|
||||||
markdown_to_asciidoc(src, tmp)
|
|
||||||
asciidoc_to_html(tmp, dst)
|
|
||||||
finally:
|
|
||||||
tmp.unlink()
|
|
||||||
|
|
||||||
|
|
||||||
def markdown_to_asciidoc(src: Path, dst: Path):
|
|
||||||
"""Cheap best-effort heuristics for converting Markdown to AsciiDoc"""
|
|
||||||
|
|
||||||
markup = src.read_text()
|
|
||||||
|
|
||||||
# Convert headings
|
|
||||||
markup = re.sub('^#+', lambda match: '=' * len(match[0]), markup, flags=re.MULTILINE)
|
|
||||||
|
|
||||||
# Convert italics
|
|
||||||
markup = re.sub(
|
|
||||||
r'(?<![*_])[*_]((?!\s)[^*_\n]+(?<!\s))[*_](?![*_])', lambda match: f'_{match[1]}_', markup
|
|
||||||
)
|
|
||||||
|
|
||||||
# Convert boldface
|
|
||||||
markup = re.sub(
|
|
||||||
r'(?<![*_])[*_]{2}((?!\s)[^*_\n]+(?<!\s))[*_]{2}(?![*_])',
|
|
||||||
lambda match: f'*{match[1]}*',
|
|
||||||
markup,
|
|
||||||
)
|
|
||||||
|
|
||||||
# Convert links
|
|
||||||
markup = re.sub(r'\[([^\]]+)\]\(([^)]+)\)', lambda match: f'{match[2]}[{match[1]}]', markup)
|
|
||||||
|
|
||||||
# Convert continuations
|
|
||||||
markup = re.sub(r'\n\n\s+', '\n+\n', markup)
|
|
||||||
|
|
||||||
dst.write_text(markup)
|
|
||||||
|
|
||||||
|
|
||||||
def ensure_dir(dir: Path) -> Path:
|
def ensure_dir(dir: Path) -> Path:
|
||||||
"""Makes sure the given directory exists."""
|
"""Makes sure the given directory exists."""
|
||||||
|
|
||||||
|
|
|
@ -9,62 +9,42 @@ string(REGEX REPLACE ".*\"([^\"]+)\"" "\\1" appVersion "${appVersion}")
|
||||||
|
|
||||||
project("${appName}")
|
project("${appName}")
|
||||||
|
|
||||||
# Store compiler information
|
|
||||||
if(
|
|
||||||
"${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU"
|
|
||||||
OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"
|
|
||||||
OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang"
|
|
||||||
)
|
|
||||||
set(compilerIsGccOrClang true)
|
|
||||||
else()
|
|
||||||
set(compilerIsGccOrClang false)
|
|
||||||
endif()
|
|
||||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|
||||||
set(compilerIsMsvc true)
|
|
||||||
else()
|
|
||||||
set(compilerIsMsvc false)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Support legacy OS X versions
|
# Support legacy OS X versions
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.10" CACHE STRING "Minimum OS X deployment version")
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.10" CACHE STRING "Minimum OS X deployment version")
|
||||||
|
|
||||||
# Enable C++23
|
# Enable C++17
|
||||||
set(CMAKE_CXX_STANDARD 23)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
# Disable char8_t support (see https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1423r3.html)
|
|
||||||
if(compilerIsGccOrClang)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-char8_t")
|
|
||||||
elseif(compilerIsMsvc)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:char8_t-")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Enable POSIX threads
|
# Enable POSIX threads
|
||||||
if(compilerIsGccOrClang)
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Use static run-time
|
# Use static run-time
|
||||||
if(compilerIsMsvc)
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
add_compile_options(/MT$<$<CONFIG:Debug>:d>)
|
add_compile_options(/MT$<$<CONFIG:Debug>:d>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Set global warning flags and define flags variables for later use
|
# Set global flags and define flags variables for later use
|
||||||
if(compilerIsGccOrClang)
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
set(enableWarningsFlags "-Wall;-Wextra")
|
set(enableWarningsFlags "-Wall;-Wextra")
|
||||||
set(disableWarningsFlags "-w")
|
set(disableWarningsFlags "-w")
|
||||||
elseif(compilerIsMsvc)
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
set(enableWarningsFlags "/W4")
|
set(enableWarningsFlags "/W4")
|
||||||
set(disableWarningsFlags "/W0")
|
set(disableWarningsFlags "/W0")
|
||||||
|
|
||||||
# Disable warning C4456: declaration of '...' hides previous local declaration
|
# Disable warning C4456: declaration of '...' hides previous local declaration
|
||||||
# I'm doing that on purpose.
|
# I'm doing that on purpose.
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4458")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4458")
|
||||||
|
|
||||||
|
# Assume UTF-8 encoding for source files and encode string constants in UTF-8
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Assume UTF-8 encoding for source files and encode string constants in UTF-8
|
# Use UTF-8 throughout
|
||||||
if(compilerIsMsvc)
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8")
|
add_compile_options("/utf-8")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${UNIX})
|
if(${UNIX})
|
||||||
|
|
Loading…
Reference in New Issue