Opened 23 months ago

Closed 23 months ago

Last modified 14 months ago

#59075 closed request (fixed)

FAudio : port request

Reported by: kencu (Ken) Owned by: ken-cunningham-webuse
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Gcenx, gverm (Gijs Vermeulen)
Port: FAudio

Description

https://github.com/FNA-XNA/FAudio

required for newer version of wine

Change History (16)

comment:1 Changed 23 months ago by Gcenx

FAudio became a requirement from Wine-4.3 used for xact and other audio backs, can also be used for porting XAudio projects to Native macOS/Linux projects.

FAudio requires SDL2, for wma support it requires ffmpeg (built with wma support) https://github.com/FNA-XNA/FAudio/blob/master/README.ffmpeg

Version 0, edited 23 months ago by Gcenx (next)

comment:2 Changed 23 months ago by kencu (Ken)

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem              1.0
PortGroup               github 1.0
PortGroup               cmake 1.1

github.setup            FNA-XNA FAudio 19.09
revision                0

license                 zlib
categories              audio
platforms               darwin
maintainers             nomaintainer
description             XAudio reimplementation
long_description        an XAudio reimplementation that focuses solely on developing \
                        fully accurate DirectX Audio runtime libraries for the FNA project,\
                        including XAudio2, X3DAudio, XAPO, and XACT3.

depends_lib-append      port:libsdl2

checksums               rmd160  29c4c20bdff4ee0c403dfc3a159ea58dc56a1c73 \
                        sha256  a8eaeaceced8060d29c82c5ecf47bb263ba168d4f90941ae7c09c4c9910dd106 \
                        size    901764

configure.args          -DFFMPEG=OFF \
                        -DBUILD_UTILS=ON \
                        -DBUILD_TESTS=ON \
                        -DXNASONG=ON

variant ffmpeg description "Use ffmpeg for additional xWMA support - note license changes" {
    license                GPL-2+
    depends_lib-append     path:lib/libavcodec.dylib:ffmpeg
    configure.args-replace -DFFMPEG=OFF -DFFMPEG=ON
}

pre-destroot {
# this tool -- is it a tool? -- segfaulted when I tried to open an audio engine
#    file copy ${workpath}/build/facttool ${destroot}${prefix}/bin/
}

test.run                 yes
test.cmd                 ./faudio_tests
test.target
Last edited 23 months ago by kencu (Ken) (previous) (diff)

comment:3 Changed 23 months ago by kencu (Ken)

Cc: Gcenx added

comment:4 Changed 23 months ago by gverm (Gijs Vermeulen)

Hi Ken, thanks for your interest in adding FAudio!
I had already opened a ticket for this here: #58500

Last edited 14 months ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:5 Changed 23 months ago by kencu (Ken)

Thanks. I looked for a prev ticket but obviously missed that one. Are the utilities worth installing, or just the library needed?

comment:6 Changed 23 months ago by Gcenx

For wine usage it only needs the libraries but for porting XAudio based games from Windows to macOS/Linux the utilities would be needed

comment:7 Changed 23 months ago by kencu (Ken)

looks like ffmpeg should be a variant as it changes the license significantly.

comment:8 Changed 23 months ago by gverm (Gijs Vermeulen)

Cc: gverm added

comment:9 Changed 23 months ago by mf2k (Frank Schima)

Port: FAudio added; faudio removed

comment:10 in reply to:  7 Changed 23 months ago by Gcenx

Replying to kencu:

looks like ffmpeg should be a variant as it changes the license significantly.

Sorry for not making that clear, that’s the reason I mentioned ffmpeg as a variant before. FAudio is useful even without ffmpeg with wma support, of course for wine it preferred since some games do use wma.

comment:11 Changed 23 months ago by kencu (Ken)

There's a new portfile with a variant for ffmpeg. I can't really sort out what tools, if any, should be installed. Most of the built binaries seem to be testing tools. The one that looked like perhaps it was useful was facttool but when i tried to do something with it, it segfaulted.

I see homebrew just installs the libraries; that's what CMakeLists.txt wants to do as well by default.

As is, it builds, including +universal, and installs on 10.14. Haven't tested anything older yet.

Can you take a look, and let me know if any of the binaries are worth installing?

Last edited 23 months ago by kencu (Ken) (previous) (diff)

comment:12 Changed 23 months ago by Gcenx

I’ll try this after upgrading macports to 2.6 as I was still on 2.5.4 and let you know if it works on my end.

If homebrew just installs the libraries then it’s safe to assume those can be skipped.

comment:13 Changed 23 months ago by ken-cunningham-webuse

Owner: set to ken-cunningham-webuse
Resolution: fixed
Status: newclosed

In b4d8ad5daf8764753c6bd71ba73bc04ce727c4d8/macports-ports (master):

FAudio: new port @version 19.09

XAudio reimplementation of use to wine and others
optional ffmpeg variant changes license
closes: #59075

comment:14 in reply to:  11 Changed 23 months ago by gverm (Gijs Vermeulen)

Replying to kencu:

Thanks for the port! Just a few things I noticed:

  • Setting -DXNASONG to ON is not necessary, it's only for FNA.
  • For ffmpeg support the readme says you need to set DFFmpeg_INCLUDE_DIR

comment:15 Changed 23 months ago by kencu (Ken)

FNA?

I saw the include thing, but — we didn’t appear to need it.

Lemme know if you see otherwise.

comment:16 Changed 23 months ago by kencu (Ken)

Hmm. I notice looking through the buildbot logs the build is setting the macOS version min to 10.7. That's not ideal. I'll take care of that later on, once we see if any other issues pop up.

Note: See TracTickets for help on using tickets.