Merge branch 'master' into workflows-lx

This commit is contained in:
bnnm 2021-09-02 21:54:21 +02:00 committed by GitHub
commit cda506ae44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 37 additions and 24 deletions

View File

@ -104,6 +104,9 @@ if(BUILD_STATIC)
set(BUILD_SHARED_LIBS OFF)
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
find_package(PkgConfig REQUIRED)
pkg_check_modules(PC_OPUS REQUIRED opus>=1.1)
# Incompatible with static builds
set(BUILD_AUDACIOUS OFF)
endif()

View File

@ -157,6 +157,7 @@ sudo apt-get install -y gcc g++ make build-essential git
sudo apt-get install -y libmpg123-dev libvorbis-dev libspeex-dev
sudo apt-get install -y libavformat-dev libavcodec-dev libavutil-dev libswresample-dev
sudo apt-get install -y libao-dev audacious-dev
sudo apt-get install -y yasm libopus-dev
sudo apt-get install -y cmake
git clone https://github.com/vgmstream/vgmstream
@ -404,7 +405,7 @@ Adds support for ITU-T G.719 (standardization of Polycom Siren 22), used in a fe
- lib: ---
- unknown license (possibly invalid and Polycom's)
Use MSVC (use `g719.sln`). It can be built with GCC too, but you'll need to manually create scripts/makefiles.
Use MSVC (use `g719.sln`). It can be built with GCC too, for example, using [the CMake script from this repository](../ext_libs/libg719_decode/CMakeLists.txt).
### FFmpeg

View File

@ -82,6 +82,10 @@ sudo apt-get install -y libmpg123-dev libvorbis-dev libspeex-dev
sudo apt-get install -y libavformat-dev libavcodec-dev libavutil-dev libswresample-dev
# for vgmstream123 and audacious
sudo apt-get install -y libao-dev audacious-dev
# for JSON dumping
sudo apt-get install -y libjansson-dev
# for static builds
sudo apt-get install -y yasm libopus-dev
# actual cmake
sudo apt-get install -y cmake
```
@ -118,13 +122,17 @@ All of these options are of type BOOL and can be set to either `ON` or `OFF`. Mo
- **USE_MAIATRAC3PLUS**: Chooses if you wish to use MAIATRAC3+ for support of ATRAC3+. The default is `OFF`. It is not recommended to enable.
- **USE_G7221**: Chooses if you wish to use G7221 for support of ITU-T G.722.1 annex C. The default is `ON`.
- **USE_G719**: Chooses if you wish to use libg719_decode for support ITU-T G.719. The default is `ON`.
The following options are currently only available for Windows:
- **USE_ATRAC9**: Chooses if you wish to use LibAtrac9 for support of ATRAC9. The default is `ON`.
- **USE_CELT**: Chooses if you wish to use libcelt for support of FSB CELT versions 0.6.1 and 0.11.0. The default is `ON`.
- **USE_SPEEX**: Chooses if you wish to use libspeex for support of SPEEX. The default is `ON`.
The following option is currently only available for Windows:
- **USE_CELT**: Chooses if you wish to use libcelt for support of FSB CELT versions 0.6.1 and 0.11.0. The default is `ON`.
The following option is only available for *nix-based OSes:
- **USE_JANSSON**: Chooses if you wish to use libjansson for support of JSON dumping capabilities. The default is `ON`.
#### Build Options
All of these options are of type BOOL and can be set to either `ON` or `OFF`.
@ -139,7 +147,9 @@ The following options are only available for Windows:
The following option is only available for *nix-based OSes:
- **BUILD_V123**: Chooses if you wih to build the vgmstream123 player. The default is `ON`.
- **BUILD_AUDACIOUS**: Chooses if you wish to build the Audacious plugin. The default is `ON`.
- **BUILD_STATIC**: Chooses if you wish to build the vgmstream CLI program, statically linking every dependency. Enabling this currently disables building vgmstream123 and the Audacious plugin. The default is `OFF`.
#### Paths
@ -149,10 +159,12 @@ If FDK-AAC/QAAC support is enabled, the following paths are required (with more
- **QAAC_PATH**: The path to the QAAC library. It can be obtained at https://github.com/kode54/qaac
- **FDK_AAC_PATH**: The path to the FDK-AAC library. It can be obtained at https://github.com/kode54/fdk-aac
If MAIATRAC3+ support is enabled, the following path is required:
- **MAIATRAC3PLUS_PATH**: The path to the MAIATRAC3+ library. It is not recommended to use.
- **MAIATRAC3PLUS_PATH**: The path to the MAIATRAC3+ library. If MAIATRAC3+ support is enabled, providing this path is required. It is not recommended to use.
- **MPEG_PATH**: The path to the mpg123 library. It can be obtained from [the mpg123 project on SourceForge.net](https://sourceforge.net/projects/mpg123/files/mpg123/1.25.10/). If not set and static building is enabled, this will be downloaded automatically.
- **FFMPEG_PATH**: The path to the FFmpeg source directory. It can be obtained at https://git.ffmpeg.org/ffmpeg.git If not set and static building is enabled, this will be downloaded automatically.
- **G719_PATH**: The path to the G.719 decoder library. It can be obtained at https://github.com/kode54/libg719_decode If not set, it is downloaded automatically on Linux.
- **ATRAC9_PATH**: The path to the Atrac9 library. It can be obtained at https://github.com/Thealexbarney/LibAtrac9 If not set, it is downloaded automatically on Linux.
- **LIBAO_PATH**: The path to the AO library. If static building is enabled and you chose to build the vgmstream123 player, providing this path is required. It is not recommended to use.
The CLI/vgmstream123 programs are normally installed to `CMAKE_INSTALL_PREFIX`, changing this will change where those are installed.

View File

@ -1863,8 +1863,8 @@ static int parse_type_audio(ubi_sb_header* sb, off_t offset, STREAMFILE* sf) {
/* PC can have subblock 2 based on two fields near the end but it wasn't seen so far */
/* stream_type field is not used if the flag is not set (it even contains garbage in some versions)
* except for PS3 which has two hardware codecs (PSX and AT3) */
if (!software_flag && sb->platform != UBI_PS3)
* except for PS3 and new PSP which have two hardware codecs (PSX and AT3) */
if (!software_flag && sb->platform != UBI_PS3 && !(sb->platform == UBI_PSP && !sb->is_psp_old))
sb->stream_type = 0x00;
} else {
sb->subblock_id = (sb->stream_type == 0x01) ? 0 : 1;

View File

@ -911,6 +911,8 @@ void describe_vgmstream(VGMSTREAM* vgmstream, char* desc, int length) {
char temp[TEMPSIZE];
double time_mm, time_ss;
desc[0] = '\0';
if (!vgmstream) {
snprintf(temp,TEMPSIZE, "NULL VGMSTREAM");
concatn(length,desc,temp);

View File

@ -539,17 +539,15 @@ void winamp_SetPan(int pan) {
/* display info box (ALT+3) */
int winamp_InfoBox(const in_char *fn, HWND hwnd) {
char description[1024] = {0}, tmp[1024] = {0};
size_t description_size = 1024;
TCHAR tbuf[1024] = {0};
double tmpVolume = 1.0;
concatn(description_size,description,PLUGIN_INFO "\n\n");
if (!fn || !*fn) {
/* no filename = current playing file */
if (!vgmstream)
return 0;
describe_vgmstream(vgmstream,description,description_size);
describe_vgmstream(vgmstream,description,sizeof(description));
}
else {
/* some other file in playlist given by filename */
@ -569,24 +567,21 @@ int winamp_InfoBox(const in_char *fn, HWND hwnd) {
vgmstream_mixing_autodownmix(infostream, settings.downmix_channels);
vgmstream_mixing_enable(infostream, 0, NULL, NULL);
describe_vgmstream(infostream,description,description_size);
describe_vgmstream(infostream,description,sizeof(description));
close_vgmstream(infostream);
infostream = NULL;
tmpVolume = get_album_gain_volume(fn);
}
snprintf(tmp, sizeof(tmp), "\nvolume: %.6f\n", tmpVolume);
concatn(sizeof(description), description, tmp);
{
TCHAR buf[1024] = {0};
size_t buf_size = 1024;
concatn(sizeof(description), description, "\n" PLUGIN_INFO);
snprintf(tmp, sizeof(tmp), "\nvolume: %.6f", tmpVolume);
concatn(description_size, description, tmp);
cfg_char_to_wchar(tbuf, sizeof(tbuf) / sizeof(TCHAR), description);
MessageBox(hwnd, tbuf, TEXT("Stream info"), MB_OK);
cfg_char_to_wchar(buf, buf_size, description);
MessageBox(hwnd,buf,TEXT("Stream info"),MB_OK);
}
return 0;
}