diff --git a/multimedia/Makefile b/multimedia/Makefile index 46bbc46bccff..a2b1b1ef17cc 100644 --- a/multimedia/Makefile +++ b/multimedia/Makefile @@ -1,444 +1,445 @@ COMMENT = Multimedia software SUBDIR += Bento4 SUBDIR += QtAV SUBDIR += ab-av1 SUBDIR += ab25 SUBDIR += acidrip SUBDIR += aegisub SUBDIR += aom SUBDIR += aravis SUBDIR += arcan SUBDIR += aribb24 SUBDIR += assimp SUBDIR += atomicparsley SUBDIR += audacious SUBDIR += audacious-plugins SUBDIR += av1an SUBDIR += avidemux SUBDIR += avidemux-cli SUBDIR += avidemux-plugins SUBDIR += avidemux-qt5 SUBDIR += baka-mplayer SUBDIR += bcmatroska2 SUBDIR += bino SUBDIR += bitstream SUBDIR += blind SUBDIR += bsdbktr_tvtune SUBDIR += butt SUBDIR += camserv SUBDIR += celluloid SUBDIR += cheese SUBDIR += chilitags SUBDIR += cineencoder SUBDIR += clapper SUBDIR += clutter-gst SUBDIR += clutter-gst3 SUBDIR += cmrt SUBDIR += cmrtlib SUBDIR += cx88 SUBDIR += dav1d SUBDIR += deforaos-player SUBDIR += dirac SUBDIR += dragon SUBDIR += dtv-scan-tables SUBDIR += dumpmpeg SUBDIR += dv2sub SUBDIR += dvb-apps SUBDIR += dvbcut SUBDIR += dvbsnoop SUBDIR += dvd-slideshow SUBDIR += dvdauthor SUBDIR += dvdid SUBDIR += dvdread SUBDIR += dvdrip SUBDIR += dvdstyler SUBDIR += elementary-videos SUBDIR += emby-server SUBDIR += emby-server-devel SUBDIR += emovix SUBDIR += ffaudioconverter SUBDIR += ffdec SUBDIR += ffmpeg SUBDIR += ffmpegthumbnailer SUBDIR += ffms2 SUBDIR += ffnvcodec-headers SUBDIR += filebot SUBDIR += flvmeta SUBDIR += flvstreamer SUBDIR += flvtool++ SUBDIR += fpc-dts SUBDIR += fpc-libvlc SUBDIR += fxtv SUBDIR += gaupol SUBDIR += gavl SUBDIR += gdialog SUBDIR += get_iplayer SUBDIR += gmerlin SUBDIR += gmmlib SUBDIR += gmp-api SUBDIR += gmtk SUBDIR += gnome-mplayer SUBDIR += gpac-libgpac SUBDIR += gpac-mp4box SUBDIR += gpodder SUBDIR += gst123 SUBDIR += gstreamer1 SUBDIR += gstreamer1-editing-services SUBDIR += gstreamer1-libav SUBDIR += gstreamer1-plugins SUBDIR += gstreamer1-plugins-all SUBDIR += gstreamer1-plugins-aom SUBDIR += gstreamer1-plugins-assrender SUBDIR += gstreamer1-plugins-bad SUBDIR += gstreamer1-plugins-core SUBDIR += gstreamer1-plugins-dash SUBDIR += gstreamer1-plugins-dts SUBDIR += gstreamer1-plugins-dv SUBDIR += gstreamer1-plugins-dvdread SUBDIR += gstreamer1-plugins-gnonlin SUBDIR += gstreamer1-plugins-good SUBDIR += gstreamer1-plugins-hls SUBDIR += gstreamer1-plugins-libde265 SUBDIR += gstreamer1-plugins-mpeg2dec SUBDIR += gstreamer1-plugins-mpeg2enc SUBDIR += gstreamer1-plugins-mplex SUBDIR += gstreamer1-plugins-msdk SUBDIR += gstreamer1-plugins-openh264 SUBDIR += gstreamer1-plugins-resindvd SUBDIR += gstreamer1-plugins-rtmp SUBDIR += gstreamer1-plugins-rust SUBDIR += gstreamer1-plugins-smoothstreaming SUBDIR += gstreamer1-plugins-svt-av1 SUBDIR += gstreamer1-plugins-svt-hevc SUBDIR += gstreamer1-plugins-svt-vp9 SUBDIR += gstreamer1-plugins-theora SUBDIR += gstreamer1-plugins-ttml SUBDIR += gstreamer1-plugins-ugly SUBDIR += gstreamer1-plugins-v4l2 SUBDIR += gstreamer1-plugins-vpx SUBDIR += gstreamer1-plugins-x264 SUBDIR += gstreamer1-plugins-x265 SUBDIR += gstreamer1-qt SUBDIR += gstreamer1-rtsp-server SUBDIR += gstreamer1-vaapi SUBDIR += gstreamer1-validate SUBDIR += gstreamermm SUBDIR += gtk-pipe-viewer SUBDIR += gtk-youtube-viewer SUBDIR += handbrake SUBDIR += haruna SUBDIR += harvid SUBDIR += helvum SUBDIR += hypnotix SUBDIR += intel-media-sdk SUBDIR += iso2mkv SUBDIR += jmref SUBDIR += kaffeine SUBDIR += kamoso SUBDIR += kdemultimedia SUBDIR += kdemultimedia-ffmpegthumbs SUBDIR += kdenlive SUBDIR += kf5-kmediaplayer SUBDIR += kmplayer SUBDIR += kodi SUBDIR += kodi-addon-inputstream.adaptive SUBDIR += kodi-addon-peripheral.joystick SUBDIR += kodi-addon-pvr.hts SUBDIR += kodi-addon-pvr.iptvsimple SUBDIR += kodi-addon-screensaver.biogenesis SUBDIR += kodi-addon-screensaver.matrixtrails SUBDIR += kodi-addon-screensaver.stars SUBDIR += kodi-addon-visualization.fishbmc SUBDIR += kodi-addon-visualization.shadertoy SUBDIR += kodi-addon-visualization.spectrum SUBDIR += kooha SUBDIR += kvazaar SUBDIR += l-smash SUBDIR += lebiniou SUBDIR += lebiniou-data SUBDIR += libaacs SUBDIR += libass SUBDIR += libbdplus SUBDIR += libbluray SUBDIR += libcec SUBDIR += libdc1394 SUBDIR += libdca SUBDIR += libdcadec SUBDIR += libde265 SUBDIR += libdv SUBDIR += libdvbcsa SUBDIR += libdvbpsi SUBDIR += libdvdcss SUBDIR += libdvdnav SUBDIR += libdvdread SUBDIR += libfame SUBDIR += libgav1 SUBDIR += libhdhomerun SUBDIR += libkate SUBDIR += libmatroska SUBDIR += libmediaart SUBDIR += libmediainfo SUBDIR += libmpeg2 SUBDIR += libmtp SUBDIR += libndi SUBDIR += libopenshot SUBDIR += libquicktime SUBDIR += libquicktime-lame SUBDIR += librav1e SUBDIR += librespot SUBDIR += librist SUBDIR += librtmp SUBDIR += libtheora SUBDIR += libtuner SUBDIR += libuvc SUBDIR += libv4l SUBDIR += libva SUBDIR += libva-glx SUBDIR += libva-intel-driver SUBDIR += libva-intel-hybrid-driver SUBDIR += libva-intel-media-driver SUBDIR += libva-utils SUBDIR += libva-vdpau-driver SUBDIR += libvdpau SUBDIR += libvdpau-va-gl SUBDIR += libvlcpp SUBDIR += libvpx SUBDIR += libx264 SUBDIR += libxine SUBDIR += libxspf SUBDIR += libzen SUBDIR += linux-c7-libtheora SUBDIR += linux-c7-libv4l SUBDIR += linux-tsmuxer SUBDIR += linux_dvbwrapper-kmod SUBDIR += livego SUBDIR += lives SUBDIR += lms SUBDIR += lsdvd SUBDIR += m2vrequantiser SUBDIR += makemkv SUBDIR += mediainfo SUBDIR += mencoder SUBDIR += minisatip SUBDIR += minitube SUBDIR += mjpegtools SUBDIR += mjpg-streamer SUBDIR += mkclean SUBDIR += mkvalidator SUBDIR += mkvtoolnix SUBDIR += mkxvcd SUBDIR += mlt6 SUBDIR += mlt6-qt5 SUBDIR += mlt7 SUBDIR += mlt7-glaxnimate SUBDIR += mlt7-qt SUBDIR += motion SUBDIR += mp3cd SUBDIR += mp4v2 SUBDIR += mpc-qt SUBDIR += mpeg_encode SUBDIR += mplayer SUBDIR += mplayer-skins SUBDIR += mplex SUBDIR += mpv SUBDIR += mpv-mpris SUBDIR += mpvpaper SUBDIR += msdl SUBDIR += msopenh264 SUBDIR += mswebrtc SUBDIR += musikcube SUBDIR += musique SUBDIR += mxflib SUBDIR += mythtv SUBDIR += mythtv-frontend SUBDIR += naludump SUBDIR += navidrome SUBDIR += neolink SUBDIR += nordlicht SUBDIR += nostt SUBDIR += nymphcast SUBDIR += nymphcastlib SUBDIR += nymphrpc SUBDIR += obs-audio-spectralizer SUBDIR += obs-ndi SUBDIR += obs-qtwebkit SUBDIR += obs-scrab SUBDIR += obs-streamfx SUBDIR += obs-studio SUBDIR += obs-transition-matrix SUBDIR += obs-v4l2sink + SUBDIR += obs-waveform SUBDIR += obs-websocket SUBDIR += oggvideotools SUBDIR += ogmrip SUBDIR += ogmtools SUBDIR += olive SUBDIR += omxplayer SUBDIR += onevpl SUBDIR += openh264 SUBDIR += openshot SUBDIR += opentimelineio SUBDIR += opentoonz SUBDIR += oscam SUBDIR += p5-Audio-M4P SUBDIR += p5-FFmpeg-Command SUBDIR += p5-FLV-Info SUBDIR += p5-File-Format-RIFF SUBDIR += p5-MP4-Info SUBDIR += p5-Net-UPnP SUBDIR += p5-Subtitles SUBDIR += pHash SUBDIR += peek SUBDIR += phonon SUBDIR += phonon-designerplugin SUBDIR += phonon-gstreamer SUBDIR += phonon-vlc SUBDIR += photofilmstrip SUBDIR += pipe-viewer SUBDIR += pipewire SUBDIR += pitivi SUBDIR += playerctl SUBDIR += plexmediaserver SUBDIR += plexmediaserver-plexpass SUBDIR += podcastdl SUBDIR += poe SUBDIR += ppm2fli SUBDIR += projectx SUBDIR += ptx-kmod SUBDIR += pwcbsd SUBDIR += pwcview SUBDIR += py-PySceneDetect SUBDIR += py-av SUBDIR += py-cec SUBDIR += py-enzyme SUBDIR += py-ffmpeg-python SUBDIR += py-gstreamer1 SUBDIR += py-guessit SUBDIR += py-librtmp SUBDIR += py-mat2 SUBDIR += py-metadata-cleaner SUBDIR += py-mido SUBDIR += py-mlt6 SUBDIR += py-moviepy SUBDIR += py-opentimelineio SUBDIR += py-periscope SUBDIR += py-pretty_midi SUBDIR += py-pymediainfo SUBDIR += py-pysubs2 SUBDIR += py-soco SUBDIR += py-subliminal SUBDIR += py-tvnamer SUBDIR += qmmp-plugin-pack-qt5 SUBDIR += qmmp-plugin-pack-qt6 SUBDIR += qmmp-qt5 SUBDIR += qmmp-qt6 SUBDIR += qpwgraph SUBDIR += qt5-multimedia SUBDIR += qt6-multimedia SUBDIR += quodlibet SUBDIR += qwinff SUBDIR += rage SUBDIR += rav1e SUBDIR += recmpeg SUBDIR += recordmydesktop SUBDIR += replex SUBDIR += ringrtc SUBDIR += rtmpdump SUBDIR += rubygem-av SUBDIR += rubygem-clutter-gstreamer SUBDIR += rubygem-flvtool2 SUBDIR += rubygem-gstreamer SUBDIR += rubygem-paperclip-av-transcoder SUBDIR += rubygem-paperclip-av-transcoder-rails50 SUBDIR += rubygem-streamio-ffmpeg SUBDIR += scte35dump SUBDIR += shotcut SUBDIR += simplescreenrecorder SUBDIR += smpeg SUBDIR += smpeg2 SUBDIR += smplayer SUBDIR += smplayer-skins SUBDIR += smplayer-themes SUBDIR += smtube SUBDIR += snapcast SUBDIR += spook SUBDIR += streamlink SUBDIR += subsync SUBDIR += subtitlecomposer SUBDIR += subtitleoffsetmodifier SUBDIR += subtitleripper SUBDIR += subtools SUBDIR += svt-av1 SUBDIR += svt-hevc SUBDIR += svt-vp9 SUBDIR += syncplay SUBDIR += szap-s2 SUBDIR += tautulli SUBDIR += tcmplex-panteltje SUBDIR += termplay SUBDIR += tinyobjloader SUBDIR += tivodecode SUBDIR += totem SUBDIR += totem-pl-parser SUBDIR += transcode SUBDIR += tvheadend SUBDIR += ustreamer SUBDIR += v4l-utils SUBDIR += v4l_compat SUBDIR += vamps SUBDIR += vapoursynth SUBDIR += vapoursynth-l-smash-works SUBDIR += vapoursynth-vmaf SUBDIR += vcdgear SUBDIR += vcdimager SUBDIR += vdpauinfo SUBDIR += vdr SUBDIR += vdr-plugin-control SUBDIR += vdr-plugin-eepg SUBDIR += vdr-plugin-epgsearch SUBDIR += vdr-plugin-extrecmenu SUBDIR += vdr-plugin-femon SUBDIR += vdr-plugin-infosatepg SUBDIR += vdr-plugin-iptv SUBDIR += vdr-plugin-markad SUBDIR += vdr-plugin-osdpip SUBDIR += vdr-plugin-osdteletext SUBDIR += vdr-plugin-reelchannelscan SUBDIR += vdr-plugin-remote SUBDIR += vdr-plugin-skinenigmang SUBDIR += vdr-plugin-sleeptimer SUBDIR += vdr-plugin-streamdev SUBDIR += vdr-plugin-ttxtsubs SUBDIR += vdr-plugin-vdrmanager SUBDIR += vdr-plugin-vnsiserver SUBDIR += vdr-plugin-wirbelscan SUBDIR += vdr-plugin-xineliboutput SUBDIR += vdr-plugin-xvdr SUBDIR += vdr-plugins SUBDIR += vid.stab SUBDIR += video-trimmer SUBDIR += vlc SUBDIR += vmaf SUBDIR += vtkmpeg2encode SUBDIR += vvdec SUBDIR += w_scan2 SUBDIR += webcamd SUBDIR += webcamoid SUBDIR += wf-recorder SUBDIR += win32-codecs SUBDIR += winff SUBDIR += wlrobs SUBDIR += x264 SUBDIR += x265 SUBDIR += xanim SUBDIR += xawtv SUBDIR += xfce4-parole SUBDIR += xine SUBDIR += xporthdmv SUBDIR += xvid SUBDIR += yamdi SUBDIR += ytfzf SUBDIR += zart SUBDIR += zoneminder .include diff --git a/multimedia/obs-waveform/Makefile b/multimedia/obs-waveform/Makefile new file mode 100644 index 000000000000..653da8acd5e7 --- /dev/null +++ b/multimedia/obs-waveform/Makefile @@ -0,0 +1,33 @@ +PORTNAME= obs-waveform +DISTVERSIONPREFIX= v +DISTVERSION= 1.5.0 +CATEGORIES= multimedia + +MAINTAINER= yuri@FreeBSD.org +COMMENT= OBS Studio Plugin: Audio spectral analyser +WWW= https://obsproject.com/forum/resources/waveform.1423/ + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= cpu_features>0:devel/cpu_features +LIB_DEPENDS= libcpu_features.so:devel/cpu_features \ + libfftw3f.so:math/fftw3-float \ + libobs.so:multimedia/obs-studio + +USES= cmake localbase:ldflags + +USE_GITHUB= yes +GH_ACCOUNT= phandasm +GH_PROJECT= waveform + +CMAKE_ON= PACKAGED_INSTALL + +LDFLAGS+= -lcpu_features + +PLIST_FILES= lib/obs-plugins/waveform.so \ + share/obs/obs-plugins/waveform/gradient.effect \ + share/obs/obs-plugins/waveform/locale/en-US.ini \ + share/obs/obs-plugins/waveform/locale/zh-CN.ini + +.include diff --git a/multimedia/obs-waveform/distinfo b/multimedia/obs-waveform/distinfo new file mode 100644 index 000000000000..7302faa8db50 --- /dev/null +++ b/multimedia/obs-waveform/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1672306543 +SHA256 (phandasm-waveform-v1.5.0_GH0.tar.gz) = fca6645f3cb3e25445132d6708f4c57f52994b61214368605351868cb8788f5a +SIZE (phandasm-waveform-v1.5.0_GH0.tar.gz) = 34829631 +SHA256 (google-cpu_features-a8397ba_GH0.tar.gz) = 6bbde4a95981903becf6f185f9ac8d8f5aca579f56572e1677e00b564805c9f0 +SIZE (google-cpu_features-a8397ba_GH0.tar.gz) = 63257 diff --git a/multimedia/obs-waveform/files/patch-CMakeLists.txt b/multimedia/obs-waveform/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..0882d248f214 --- /dev/null +++ b/multimedia/obs-waveform/files/patch-CMakeLists.txt @@ -0,0 +1,28 @@ +--- CMakeLists.txt.orig 2022-09-11 15:31:21 UTC ++++ CMakeLists.txt +@@ -165,10 +165,12 @@ if(NOT DISABLE_X86_SIMD) + set_source_files_properties("src/filter_fma3.cpp" PROPERTIES COMPILE_FLAGS "-mavx -mfma") + endif() + +- add_subdirectory(deps/cpu_features EXCLUDE_FROM_ALL) +- if(NOT MSVC AND NOT BUILD_SHARED_LIBS) # Clang complains +- target_compile_options(cpu_features PRIVATE "-fPIC") +- endif() ++ #add_subdirectory(deps/cpu_features EXCLUDE_FROM_ALL) ++ #if(NOT MSVC AND NOT BUILD_SHARED_LIBS) # Clang complains ++ # target_compile_options(cpu_features PRIVATE "-fPIC") ++ #endif() ++ find_package(CpuFeatures REQUIRED) ++ include_directories(${CMAKE_INSTALL_PREFIX}/include/cpu_features) + endif() + + if(MAKE_BUNDLE) +@@ -191,7 +193,7 @@ set_target_properties(waveform PROPERTIES PREFIX "") + target_include_directories(waveform PRIVATE ${FFTW_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/include) + target_link_libraries(waveform PRIVATE OBS::libobs ${FFTW_LIBRARIES}) + if(NOT DISABLE_X86_SIMD) +- target_link_libraries(waveform PRIVATE cpu_features) ++ add_dependencies(waveform CpuFeatures::cpu_features) + endif() + target_compile_definitions(waveform PRIVATE _USE_MATH_DEFINES) + if(MSVC) diff --git a/multimedia/obs-waveform/pkg-descr b/multimedia/obs-waveform/pkg-descr new file mode 100644 index 000000000000..3ce3ebf5619f --- /dev/null +++ b/multimedia/obs-waveform/pkg-descr @@ -0,0 +1,2 @@ +Waveform is an audio spectral analysis plugin for OBS Studio. +It is based on FFTW and optimized for AVX2/FMA3.