├── .gitattributes
├── .github
└── workflows
│ └── ci.yml
├── .gitignore
├── ChangeLog.txt
├── LICENSE
├── Makefile.am
├── README.md
├── VS2019
├── chinachu
│ ├── chinachu.vcxproj
│ └── chinachu.vcxproj.filters
├── pvr.chinachu.sln
└── pvr_client
│ ├── pvr_client.rc
│ ├── pvr_client.vcxproj
│ ├── pvr_client.vcxproj.filters
│ └── resource.h
├── bootstrap
├── build.ps1
├── configure.ac
├── include
├── chinachu
│ └── genre.h
├── dlfcn-win32.h
├── kodi
│ ├── AddonBase.h
│ ├── CMakeLists.txt
│ ├── Filesystem.h
│ ├── General.h
│ ├── NOTE
│ ├── Network.h
│ ├── StreamCodec.h
│ ├── StreamCrypto.h
│ ├── addon-instance
│ │ ├── AudioDecoder.h
│ │ ├── AudioEncoder.h
│ │ ├── CMakeLists.txt
│ │ ├── ImageDecoder.h
│ │ ├── Inputstream.h
│ │ ├── Peripheral.h
│ │ ├── PeripheralUtils.h
│ │ ├── Screensaver.h
│ │ ├── VFS.h
│ │ ├── VideoCodec.h
│ │ └── Visualization.h
│ ├── filesystem
│ │ └── IFileTypes.h
│ ├── gui
│ │ ├── CMakeLists.txt
│ │ ├── General.h
│ │ ├── ListItem.h
│ │ ├── Window.h
│ │ ├── controls
│ │ │ ├── Button.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Edit.h
│ │ │ ├── FadeLabel.h
│ │ │ ├── Image.h
│ │ │ ├── Label.h
│ │ │ ├── Progress.h
│ │ │ ├── RadioButton.h
│ │ │ ├── Rendering.h
│ │ │ ├── SettingsSlider.h
│ │ │ ├── Slider.h
│ │ │ ├── Spin.h
│ │ │ └── TextBox.h
│ │ ├── definitions.h
│ │ └── dialogs
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ContextMenu.h
│ │ │ ├── ExtendedProgress.h
│ │ │ ├── FileBrowser.h
│ │ │ ├── Keyboard.h
│ │ │ ├── Numeric.h
│ │ │ ├── OK.h
│ │ │ ├── Progress.h
│ │ │ ├── Select.h
│ │ │ ├── TextViewer.h
│ │ │ └── YesNo.h
│ ├── kodi_game_dll.h
│ ├── kodi_game_types.h
│ ├── kodi_vfs_types.h
│ ├── libKODI_game.h
│ ├── libKODI_guilib.h
│ ├── libXBMC_addon.h
│ ├── libXBMC_pvr.h
│ ├── platform
│ │ └── android
│ │ │ └── System.h
│ ├── tools
│ │ ├── CMakeLists.txt
│ │ └── DllHelper.h
│ ├── versions.h
│ ├── xbmc_addon_dll.h
│ ├── xbmc_addon_types.h
│ ├── xbmc_epg_types.h
│ ├── xbmc_pvr_dll.h
│ └── xbmc_pvr_types.h
└── picojson
│ ├── LICENSE
│ └── picojson.h
├── jni
├── Android.mk
├── Application.mk
└── pack.sh
├── src
├── Makefile.am
├── chinachu
│ ├── Makefile.am
│ ├── api.cpp
│ ├── api.h
│ ├── chinachu.h
│ ├── recorded.cpp
│ ├── recorded.h
│ ├── recording.cpp
│ ├── recording.h
│ ├── reserves.cpp
│ ├── reserves.h
│ ├── rules.cpp
│ ├── rules.h
│ ├── schedule.cpp
│ └── schedule.h
├── dlfcn-win32
│ └── dlfcn-win32.cpp
└── pvr_client
│ ├── Makefile.am
│ ├── channel.cpp
│ ├── demux.cpp
│ ├── information.cpp
│ ├── initialize.cpp
│ ├── live.cpp
│ ├── recording.cpp
│ ├── stream.cpp
│ └── timer.cpp
└── template
└── pvr.chinachu
├── addon.xml
├── fanart.png
├── icon.png
├── icon@2x.png
└── resources
├── language
├── English
│ └── strings.po
└── Japanese
│ └── strings.po
└── settings.xml
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.rc text
2 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | build:
7 | runs-on: ${{ matrix.os }}
8 | strategy:
9 | matrix:
10 | os: [ubuntu-latest, windows-latest, macOS-latest]
11 | mobile: [true, false]
12 | exclude:
13 | - os: windows-latest
14 | mobile: true
15 | include:
16 | - mobile: false
17 | platform: desktop
18 | - os: macOS-latest
19 | mobile: true
20 | args: --host=arm-apple-darwin
21 | platform: ios
22 | - os: ubuntu-latest
23 | mobile: true
24 | platform: android
25 | fail-fast: false
26 | steps:
27 | - uses: actions/checkout@v1
28 | # Windows Build
29 | - name: build (windows)
30 | if: matrix.os == 'windows-latest'
31 | run: ./build.ps1
32 | shell: powershell
33 | # Android Build
34 | - name: build (android)
35 | if: matrix.platform == 'android'
36 | run: /usr/local/lib/android/sdk/ndk-bundle/ndk-build APP_ABI=armeabi-v7a
37 | - name: pack (android)
38 | if: matrix.platform == 'android'
39 | run: ./jni/pack.sh APP_ABI=armeabi-v7a
40 | # macOS Prepare
41 | - name: prepare (macos)
42 | if: matrix.os == 'macOS-latest'
43 | run: brew install libtool automake
44 | # Linux/macOS/iOS Build
45 | - name: bootstrap
46 | if: matrix.os != 'windows-latest' && matrix.platform != 'android'
47 | run: ./bootstrap
48 | - name: configure
49 | if: matrix.os != 'windows-latest' && matrix.platform != 'android'
50 | run: ./configure ${{ matrix.args }}
51 | - name: make
52 | if: matrix.os != 'windows-latest' && matrix.platform != 'android'
53 | run: make
54 | # Upload artifact
55 | - name: upload artifact
56 | if: matrix.platform != ''
57 | uses: actions/upload-artifact@master
58 | with:
59 | name: ${{format('pvr.chinachu.{0}-{1}-{2}', matrix.os, matrix.platform, github.sha)}}
60 | path: dist/pvr.chinachu
61 |
62 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files
2 | *.slo
3 | *.lo
4 | *.o
5 | *.obj
6 |
7 | # Precompiled Headers
8 | *.gch
9 | *.pch
10 |
11 | # Compiled Dynamic libraries
12 | *.so
13 | *.dylib
14 | *.dll
15 |
16 | # Fortran module files
17 | *.mod
18 |
19 | # Compiled Static libraries
20 | *.lai
21 | *.la
22 | *.a
23 | *.lib
24 |
25 | # Executables
26 | *.exe
27 | *.out
28 | *.app
29 |
30 | # Build intermediate files
31 | Makefile
32 | config.log
33 | config.status
34 | .deps
35 | libtool
36 | Makefile.in
37 | aclocal.m4
38 | autom4te.cache/
39 | compile
40 | config.*
41 | configure
42 | depcomp
43 | install-sh
44 | ltmain.sh
45 | m4/
46 | missing
47 | obj/
48 | libs/
49 | dist/
50 |
51 | *.pvr
52 | *.dll
53 | *.zip
54 |
--------------------------------------------------------------------------------
/ChangeLog.txt:
--------------------------------------------------------------------------------
1 | v5.0.0
2 | - Support Kodi 18 Leia
3 |
4 | v4.0.0
5 | - Support Kodi 17 Krypton
6 | - Add channel logo icon
7 | - Add new genre codes
8 | - Add pattern matched rule creation
9 | - Add list force-refresh client action into menu
10 | - Add scheduler execution client action into menu
11 | - Add rule availability status change method
12 | - Add read-only timer rule list
13 | - Add initial settings failure alert
14 | - Skip listing up zero-programs channels
15 | - Remove recorded program grouping option
16 | - Remove ongoing recording playback option
17 | - Unsupport mirakurun direct watch
18 | - Support Raspberry Pi independent target binary
19 | - Support iOS arm build target (beta)
20 |
21 | v3.3.0
22 | - Support Chinachu gamma
23 |
24 | v3.2.0
25 | - Support service ID for mirakurun live watching
26 |
27 | v3.1.0
28 | - Add recording item grouping force disable option
29 |
30 | v3.0.0
31 | - Change project name to 'Harekaze for Kodi'
32 | - Support Mirakurun live tv watching
33 |
34 | v2.1.0
35 | - Add recording item grouping option
36 |
37 | v2.0.2
38 | - Fix crash when chinachu provides no channel name
39 | - Fix crash when programs contain no category field
40 |
41 | v2.0.1
42 | - Fix Kodi.guilib dependency
43 |
44 | v2.0.0
45 | - New major version for Kodi Jarvis 16.x
46 | - Support canceling ongoing recording
47 | - Show episode information of recorded programs
48 | - Bug fix
49 |
50 | v1.2.0
51 | - Change disk storage availability update interval
52 | - Support playback ongoing recording (beta)
53 | - Bug fix
54 |
55 | v1.1.0
56 | - Support Kodi on Windows
57 | - Manual program reserving addition/deletion is available
58 | - Show recording disk space information
59 | - Bug fix
60 |
61 | v1.0.1
62 | - Bug fix
63 |
64 | v1.0.0
65 | - Support Kodi on ARM Linux
66 | - Show reserving timer
67 | - Enable audio/video transcoding option
68 | - Update thumbnail option
69 | - Bug fix
70 |
71 | v0.0.3
72 | - Support Kodi on Android
73 | - Show recorded TV show's thumbnail
74 | - Deletion of recorded TV shows is available
75 | - Enable colored TV guide with Kodisystem's genre type
76 |
77 | v0.0.2
78 | - Support recorded TV shows
79 | - Improve category type definition
80 |
81 | v0.0.1
82 | - Support Live TV watching
83 |
--------------------------------------------------------------------------------
/Makefile.am:
--------------------------------------------------------------------------------
1 | SUBDIRS = src
2 |
3 | ACLOCAL_AMFLAGS = -I m4
4 |
5 | .PHONY: all
6 | all:
7 | $(MAKE) -C ./src
8 | mkdir -p dist
9 | cp -r template/pvr.chinachu dist/
10 | cp ChangeLog.txt dist/pvr.chinachu/
11 | cp LICENSE dist/pvr.chinachu/
12 | cp src/$(ADDONNAME) dist/pvr.chinachu/$(ADDONNAME)
13 | $(STRIP) -x dist/pvr.chinachu/$(ADDONNAME)
14 |
15 | .PHONY: release
16 | release: all
17 | cd dist; zip -9 -r ../pvr.chinachu.zip ./pvr.chinachu
18 |
19 | .PHONY: clean
20 | clean:
21 | $(MAKE) clean -C ./src
22 | rm -rf ./dist/
23 | rm -f ./pvr.chinachu.zip
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Harekaze for Kodi/XBMC
2 | Chinachu PVR addon for Kodi
3 |
4 | 
5 |
6 | _**This project is suspended because the project owner is no longer using and maintaining it.**_
7 |
8 | [](https://travis-ci.org/Harekaze/pvr.chinachu/)
9 | [](https://ci.appveyor.com/project/mzyy94/pvr-chinachu)
10 | [](https://github.com/Harekaze/pvr.chinachu/releases)
11 | [](https://github.com/Harekaze/pvr.chinachu/releases)
12 | [](https://github.com/Harekaze/pvr.chinachu/issues)
13 | [](https://github.com/Harekaze/pvr.chinachu/stargazers)
14 | [](https://raw.githubusercontent.com/Harekaze/pvr.chinachu/master/LICENSE)
15 |
16 | 
17 |
18 | ## Supported environment
19 |
20 | ### Backend
21 | - Chinachu gamma [a69d5e99b7](https://github.com/Chinachu/Chinachu/commit/a69d5e99b75ddd770146e65d6171704be28ec01a)
22 |
23 | ### Frontend
24 | - Kodi **18.x** Leia
25 | + for macOS
26 | + for Android ARM
27 | + for Linux x64
28 | + for Raspberry Pi
29 | + for Windows
30 | + for iOS (beta)
31 | + for tvOS (beta)
32 |
33 | #### Old versions
34 |
35 | | Tag | Kodi | Platforms
36 | |------------|:-----------------|:--
37 | | v0.x, v1.x | Kodi 15 Isengard | macOS/Linux/Raspberry Pi/(Windows)
38 | | v2.x, v3.x | Kodi 16 Jarvis | macOS/Linux/Raspberry Pi/Windows/(Android)
39 | | v4.x | Kodi 17 Krypton | macOS/Linux/Raspberry Pi/Windows/Android/(iOS)
40 | | v5.x | Kodi 18 Leia | macOS/Linux/Raspberry Pi/Windows/Android/(iOS)/(tvOS)
41 |
42 | :warning: *No features backpors, No security backports* :warning:
43 |
44 | ## Latest release
45 |
46 | [pvr.chinachu/releases](https://github.com/Harekaze/pvr.chinachu/releases)
47 |
48 | ## Building from source
49 |
50 | ### Linux / macOS
51 | ```sh
52 | $ ./bootstrap
53 | $ ./configure
54 | $ make
55 | $ make release
56 | $ ls pvr.chinachu.zip
57 | ```
58 | > TIPS: If a warning about AC_CHECK_HEADER_STDBOOL has occurred, install gnulib and execute bootstrap with
59 | > AUTORECONF_FLAGS option with gnulib's m4 directory (e.g. `AUTORECONF_FLAGS=-I/usr/share/gnulib/m4 ./bootstrap`)
60 |
61 | ### Android ARM
62 | *Android NDK is required.*
63 |
64 | ```sh
65 | $ ndk-build APP_ABI=armeabi-v7a
66 | $ ./jni/pack.sh APP_ABI=armeabi-v7a
67 | $ ls pvr.chinachu.zip
68 | ```
69 |
70 | ### Windows
71 |
72 | Requirements:
73 | - Visual Studio 2019
74 | - PowerShell v5
75 |
76 | ```powershell
77 | > ./build.ps1
78 | > ls ./pvr.chinachu.zip
79 | ```
80 | > TIPS: If a powershell warning about Execution Policies has occurred, run `Set-ExecutionPolocy Unrestricted`
81 | > with Administrator privileges. After building this project, run `Set-ExecutionPolocy RemoteSigned`, please.
82 |
83 | > NOTE: PowerShell command 'Compress-Archive' creates broken zip file.
84 | > Please unzip created archive yourself, and re-zip it with other compression tool.
85 |
86 | ### iOS
87 | ```sh
88 | $ ./bootstrap
89 | $ ./configure --host=arm-apple-darwin
90 | $ make
91 | $ ls pvr.chinachu.zip
92 | ```
93 | > NOTE: iOS targeted package can't install to Kodi for iOS with zip installation.
94 | > You should build Kodi.app including pvr.chinachu addon.
95 |
96 | ## Installing
97 |
98 | 1. Build or download the appropriate version for your platform.
99 | 2. Launch Kodi.
100 | 3. Navigate to System -> Add-ons -> Install from zip file
101 | 4. Select the zip file which you get in first step.
102 |
103 | > NOTE: In some cases, Kodi for android installs addons into non-executable device. As a result, you need to do something more.
104 | > See [wiki/android-installation](https://github.com/Harekaze/pvr.chinachu/wiki/android-installation).
105 |
106 | ## Configuration
107 |
108 | See [wiki/configuration](https://github.com/Harekaze/pvr.chinachu/wiki/configuration)
109 |
110 | ## Contribution
111 |
112 | See [wiki/contribution](https://github.com/Harekaze/pvr.chinachu/wiki/contribution)
113 |
114 | ## License
115 |
116 | [GPLv3](LICENSE)
117 |
--------------------------------------------------------------------------------
/VS2019/chinachu/chinachu.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}
15 | chinachu
16 | 10.0.17763.0
17 |
18 |
19 |
20 | StaticLibrary
21 | true
22 | v142
23 | MultiByte
24 |
25 |
26 | StaticLibrary
27 | false
28 | v142
29 | true
30 | MultiByte
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | .lib
46 |
47 |
48 |
49 | Level3
50 | Disabled
51 | true
52 | ..\..\include;..\..\src
53 | NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USE_32BIT_TIME_T;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;__STDC_FORMAT_MACROS;__WINDOWS__;TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;_WINDLL;%(PreprocessorDefinitions)
54 |
55 |
56 | true
57 |
58 |
59 |
60 |
61 | Level3
62 | MaxSpeed
63 | true
64 | true
65 | true
66 | ..\..\include;..\..\src
67 | NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USE_32BIT_TIME_T;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;__STDC_FORMAT_MACROS;__WINDOWS__;TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;_WINDLL;%(PreprocessorDefinitions)
68 | MultiThreadedDLL
69 |
70 |
71 | true
72 | true
73 | true
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/VS2019/chinachu/chinachu.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 | Source Files
23 |
24 |
25 | Source Files
26 |
27 |
28 | Source Files
29 |
30 |
31 | Source Files
32 |
33 |
34 | Source Files
35 |
36 |
37 |
38 |
39 | Header Files
40 |
41 |
42 | Header Files
43 |
44 |
45 | Header Files
46 |
47 |
48 | Header Files
49 |
50 |
51 | Header Files
52 |
53 |
54 | Header Files
55 |
56 |
57 | Header Files
58 |
59 |
60 | Header Files
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/VS2019/pvr.chinachu.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.23107.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pvr_client", "pvr_client\pvr_client.vcxproj", "{C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}"
7 | EndProject
8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chinachu", "chinachu\chinachu.vcxproj", "{7C081EBB-5B67-4F16-8421-654C46E7A8D4}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|x64 = Debug|x64
13 | Debug|x86 = Debug|x86
14 | Release|x64 = Release|x64
15 | Release|x86 = Release|x86
16 | EndGlobalSection
17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}.Debug|x64.ActiveCfg = Debug|Win32
19 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}.Debug|x64.Build.0 = Debug|Win32
20 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}.Debug|x86.ActiveCfg = Debug|Win32
21 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}.Debug|x86.Build.0 = Debug|Win32
22 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}.Release|x64.ActiveCfg = Release|x64
23 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}.Release|x64.Build.0 = Release|x64
24 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}.Release|x86.ActiveCfg = Release|Win32
25 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}.Release|x86.Build.0 = Release|Win32
26 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}.Debug|x64.ActiveCfg = Debug|Win32
27 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}.Debug|x64.Build.0 = Debug|Win32
28 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}.Debug|x86.ActiveCfg = Debug|Win32
29 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}.Debug|x86.Build.0 = Debug|Win32
30 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}.Release|x64.ActiveCfg = Release|x64
31 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}.Release|x64.Build.0 = Release|x64
32 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}.Release|x86.ActiveCfg = Release|Win32
33 | {7C081EBB-5B67-4F16-8421-654C46E7A8D4}.Release|x86.Build.0 = Release|Win32
34 | EndGlobalSection
35 | GlobalSection(SolutionProperties) = preSolution
36 | HideSolutionNode = FALSE
37 | EndGlobalSection
38 | EndGlobal
39 |
--------------------------------------------------------------------------------
/VS2019/pvr_client/pvr_client.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Harekaze/pvr.chinachu/2b12d3fc5460cdc95e19763a567647113f0e807d/VS2019/pvr_client/pvr_client.rc
--------------------------------------------------------------------------------
/VS2019/pvr_client/pvr_client.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {C3B65033-2A88-4B45-8DDB-EC990CF0DEF0}
15 | pvr_client
16 | 10.0.17763.0
17 |
18 |
19 |
20 | DynamicLibrary
21 | true
22 | v142
23 | MultiByte
24 |
25 |
26 | DynamicLibrary
27 | false
28 | v142
29 | true
30 | MultiByte
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | .dll
46 | pvr.chinachu
47 |
48 |
49 | pvr.chinachu
50 |
51 |
52 |
53 | Level3
54 | Disabled
55 | true
56 | $(DefineConstants);NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USE_32BIT_TIME_T;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;__STDC_FORMAT_MACROS;__WINDOWS__;TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;_WINDLL;%(PreprocessorDefinitions)
57 | ..\..\include;..\..\src
58 |
59 |
60 | true
61 |
62 |
63 |
64 |
65 | Level3
66 | MaxSpeed
67 | true
68 | true
69 | true
70 | ..\..\include;..\..\src
71 | $(DefineConstants);NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_USE_32BIT_TIME_T;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;__STDC_FORMAT_MACROS;__WINDOWS__;TARGET_WINDOWS;_WINDOWS;_MSVC;WIN32;_WINDLL;%(PreprocessorDefinitions)
72 |
73 |
74 | true
75 | true
76 | true
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 | {7c081ebb-5b67-4f16-8421-654c46e7a8d4}
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/VS2019/pvr_client/pvr_client.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 | Source Files
23 |
24 |
25 | Source Files
26 |
27 |
28 | Source Files
29 |
30 |
31 | Source Files
32 |
33 |
34 | Source Files
35 |
36 |
37 | Source Files
38 |
39 |
40 | Source Files
41 |
42 |
43 | Source Files
44 |
45 |
46 |
47 |
48 | Header Files
49 |
50 |
51 |
52 |
53 | Resource Files
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/VS2019/pvr_client/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by pvr_client.rc
4 |
5 | //
6 | //
7 | #ifdef APSTUDIO_INVOKED
8 | #ifndef APSTUDIO_READONLY_SYMBOLS
9 | #define _APS_NEXT_RESOURCE_VALUE 101
10 | #define _APS_NEXT_COMMAND_VALUE 40001
11 | #define _APS_NEXT_CONTROL_VALUE 1001
12 | #define _APS_NEXT_SYMED_VALUE 101
13 | #endif
14 | #endif
15 |
--------------------------------------------------------------------------------
/bootstrap:
--------------------------------------------------------------------------------
1 |
2 | echo -n "Checking for libtoolize... "
3 | LIBTOOLIZE=$(which glibtoolize || which libtoolize)
4 | if [ ! $? -eq 0 ]; then
5 | echo "not found."
6 | exit 1
7 | fi
8 | echo $LIBTOOLIZE
9 |
10 | echo -n "Checking for autoreconf... "
11 | AUTORECONF=$(which autoreconf)
12 | if [ ! $? -eq 0 ]; then
13 | echo "not found."
14 | exit 1
15 | fi
16 | echo $AUTORECONF
17 |
18 | echo
19 |
20 | echo "Running libtoolize..."
21 | $LIBTOOLIZE --copy --force --automake || ( echo "**FAILED**" ; exit 1 )
22 |
23 | echo "Running autoreconf..."
24 | $AUTORECONF -i $AUTORECONF_FLAGS || ( echo "**FAILED**" ; exit 1 )
25 |
26 | echo
27 |
28 | echo "Now, please run ./configure"
29 |
--------------------------------------------------------------------------------
/build.ps1:
--------------------------------------------------------------------------------
1 | & ${env:ProgramFiles(x86)}\Microsoft` Visual` Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe .\VS2019\pvr.chinachu.sln /t:Clean,Build /p:Configuration=Release /p:Platform=x86
2 | New-Item dist -ItemType Directory
3 | Copy-Item -r .\template\pvr.chinachu .\dist\
4 | Copy-Item .\ChangeLog.txt .\dist\pvr.chinachu
5 | Copy-Item .\LICENSE .\dist\pvr.chinachu
6 | Copy-Item .\VS2019\Release\pvr.chinachu.dll .\dist\pvr.chinachu
7 | Set-Location .\dist
8 | Compress-Archive -Force -CompressionLevel NoCompression -Path .\pvr.chinachu -DestinationPath ..\pvr.chinachu.zip
9 | Write-Warning "PowerShell command 'Compress-Archive' creates broken zip file.
10 | Please unzip .\pvr.chinachu.zip yourself, and re-zip it with other compression tool."
11 |
--------------------------------------------------------------------------------
/configure.ac:
--------------------------------------------------------------------------------
1 | # -*- Autoconf -*-
2 | # Process this file with autoconf to produce a configure script.
3 |
4 | AC_PREREQ([2.68])
5 | AC_INIT([pvrchinachu], [5.0.0], [Harekaze project])
6 | AC_CONFIG_MACRO_DIR([m4])
7 | AM_INIT_AUTOMAKE([foreign])
8 | LT_INIT
9 |
10 | ADDONNAME=pvr.chinachu.so
11 | LIBEXT=so
12 |
13 | case $host in
14 | arm-apple-darwin)
15 | ADDONNAME=pvr.chinachu-ios.dylib
16 | LIBEXT=dylib
17 | CXX=$(xcrun --sdk iphoneos --find clang++)
18 | LD=$(xcrun --sdk iphoneos --find ld)
19 | SYSROOT=$(xcrun --sdk iphoneos --show-sdk-path)
20 | AC_SUBST(AM_CPPFLAGS_EXT, "-arch arm64 -D__arm__ -isysroot $SYSROOT")
21 | AC_SUBST(LDFLAGS_EXT, "-arch arm64 -isysroot $SYSROOT")
22 | ;;
23 | *-apple-*)
24 | ADDONNAME=pvr.chinachu.dylib
25 | LIBEXT=dylib
26 | ;;
27 | arm*-*-linux-gnu*)
28 | ADDONNAME=pvr.chinachu.armel.so
29 | AC_SUBST(AM_CPPFLAGS_EXT, "-D_ARMEL")
30 | ;;
31 | esac
32 |
33 | AC_SUBST(ADDONNAME)
34 | AC_SUBST(LIBEXT)
35 |
36 | # Checks for programs.
37 | AC_PROG_CXX
38 | AC_PROG_CC
39 |
40 | # Checks for libraries.
41 |
42 | # Checks for header files.
43 | AC_CHECK_HEADERS([float.h inttypes.h locale.h stdint.h stdlib.h string.h])
44 |
45 | # Checks for typedefs, structures, and compiler characteristics.
46 | AC_CHECK_HEADER_STDBOOL
47 | AC_C_INLINE
48 | AC_TYPE_INT64_T
49 | AC_TYPE_SIZE_T
50 | AC_TYPE_SSIZE_T
51 | AC_TYPE_UINT8_T
52 |
53 | # Checks for library functions.
54 | AC_FUNC_STRTOD
55 | AC_CHECK_FUNCS([localeconv memset modf select strdup])
56 |
57 | AC_CONFIG_FILES([Makefile
58 | src/Makefile
59 | src/chinachu/Makefile
60 | src/pvr_client/Makefile])
61 | AC_OUTPUT
62 |
--------------------------------------------------------------------------------
/include/chinachu/genre.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015-2018 Yuki MIZUNO
3 | * https://github.com/Harekaze/pvr.chinachu/
4 | *
5 | *
6 | * This file is part of pvr.chinachu.
7 | *
8 | * pvr.chinachu is free software: you can redistribute it and/or modify
9 | * it under the terms of the GNU General Public License as published by
10 | * the Free Software Foundation, either version 3 of the License, or
11 | * (at your option) any later version.
12 | *
13 | * pvr.chinachu is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | * GNU General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU General Public License
19 | * along with pvr.chinachu. If not, see .
20 | *
21 | */
22 | #ifndef CHINACHU_GENRE_H
23 | #define CHINACHU_GENRE_H
24 | #include