Upgrade to Cubism 4 Release R6.2. No incompatible API changes.
[mouse-tracker-for-cubism.git] / README.md
index c3eb23c..65e1cce 100644 (file)
--- a/README.md
+++ b/README.md
@@ -14,7 +14,8 @@ It is not part of the SDK itself, and is not affiliated in any way with Live2D
 Inc. The Live2D® Cubism SDK belongs solely to Live2D Inc. You will need to
 agree to Live2D Inc.'s license agreements to use the Live2D® Cubism SDK.*
 
-<!-- TODO maybe make a demo video? -->
+Video demo (comparing Mouse Tracker with Facial Landmarks, testing on OBS):
+<https://www.youtube.com/watch?v=MA7H3v9dtxM>
 
 ## Supporting environments
 
@@ -30,16 +31,16 @@ if you don't have C++17 support.
 1. Install dependencies.
 
    You will require a recent C/C++ compiler, `make`, `patch`, CMake >= 3.16,
-   libxdo, and PulseAudio. To compile the example
+   libxdo, PulseAudio, and a stable version of gtkmm 3. To compile the example
    program you will also require the OpenGL library (and its dev headers)
    among other libraries required for the example program. The libraries I
    had to install (this list may not be exhaustive) are:
 
-       libxdo-dev libpulse-dev libgl1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libglu1-mesa-dev
+       libxdo-dev libpulse-dev libgl1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libglu1-mesa-dev libgtkmm-3.0-dev
 
-2. Clone this repository including its submodule (dlib)
+2. Clone this repository including its submodule (editline)
 
-       git clone https://github.com/adrianiainlam/mouse-tracker-for-cubism.git
+       git clone --recurse-submodules https://github.com/adrianiainlam/mouse-tracker-for-cubism.git
 
 3. To build the library only: (Skip this step if you want to build the example
    program. It will be done automatically.)
@@ -49,17 +50,17 @@ if you don't have C++17 support.
 
 To build the example program:
 
-4. Download "Cubism 4 SDK for Native R1" from the Live2D website:
+4. Download "Cubism 4 SDK for Native R6.2" from the Live2D website:
    <https://www.live2d.com/en/download/cubism-sdk/download-native/>.
 
-   Extract the archive -- put the "CubismSdkForNative-4-r.1" folder under
+   Extract the archive -- put the "CubismSdkForNative-4-r.6.2" folder under
    the "example" folder of this repo.
 
    Note: The Cubism SDK is the property of Live2D and is not part of this
    project. You must agree to Live2D's license agreements to use it.
 
 5. Go into the
-   "example/CubismSdkForNative-4-r.1/Samples/OpenGL/thirdParty/scripts"
+   "example/CubismSdkForNative-4-r.6.2/Samples/OpenGL/thirdParty/scripts"
    directory and run
 
        ./setup_glew_glfw
@@ -68,6 +69,17 @@ To build the example program:
 
        ./build.sh
 
+   Note: I have observed that sometimes, on the first build, a failure
+   will be reported, such as:
+
+       [ 98%] Completed 'editline'
+       [ 98%] Built target editline
+       Makefile:149: recipe for target 'all' failed
+       make: *** [all] Error 2
+
+   I have no idea why, but seems like running build.sh again solves the
+   issue. Please open an issue / contact me if not.
+
 7. Now try running the example program. From the "example" directory:
 
        cd ./demo_build/build/make_gcc/bin/Demo/
@@ -91,6 +103,9 @@ for the Facial Landmarks for Cubism library.
  * `--translate-y`, `-y`: Vertical translation of the model within the window
  * `--model`, `-m`: Name of the model to be used. This must be located inside
    the "Resources" folder.
+ * `--old-param-id`, `-o`: If set to 1, translate new (Cubism 3+) parameter
+   IDs to old (Cubism 2.1) IDs. This is necessary, for example, for
+   [the Chitose model available from Live2D](https://www.live2d.com/en/download/sample-data/).
  * `--config`, `-c`: Path to the configuration file for the Mouse Tracker
    for Cubism library. See below for more details.
 
@@ -111,13 +126,27 @@ The library itself is provided under the MIT license. By "the library itself"
 I refer to the following files that I have provided under this repo:
 
  * src/mouse_cursor_tracker.cpp
- * include/mouse_cursor_tracker.cpp
+ * src/mouse_cursor_tracker_gui.cpp
+ * src/gui.glade
+ * include/mouse_cursor_tracker.h
  * and if you decide to build the binary for the library, the resulting
    binary file (typically build/libMouseTrackerForCubism.a)
 
 The license text can be found in LICENSE-MIT.txt, and also at the top of
 the .cpp and .h files.
 
+This library depends on "editline" which is included here as a git
+submodule. The fork used here was originally written by Simmule
+Turner and Rick Salz, made available under the Spencer License 94,
+now maintained by Joachim Wiberg. See "lib/editline/LICENSE" for more
+information.
+
+(Note: An earlier version of this library linked to GNU Readline as
+a dependency. I have made a mistake and assumed GNU Readline was LGPL,
+when in fact it was GPL. This has been corrected within 24 hours, by
+replacing GNU Readline with editline instead. I apologize to the
+copyright holders of GNU Readline.)
+
 The example program is a patched version of the sample program provided
 by Live2D (because there's really no point in reinventing the wheel),
 and as such, as per the licensing restrictions by Live2D, is still the