Skip to content
Snippets Groups Projects
Commit cb3e99b8 authored by Yuri Victorovich's avatar Yuri Victorovich
Browse files

audio/shuriken: Shuriken beat slicer

parent 85920ea2
No related branches found
No related tags found
No related merge requests found
Showing with 156 additions and 0 deletions
......@@ -742,6 +742,7 @@
SUBDIR += sherlock-lv2
SUBDIR += shntool
SUBDIR += shortwave
SUBDIR += shuriken
SUBDIR += sidplay
SUBDIR += sidplay2
SUBDIR += sidplayer
......
PORTNAME= shuriken
DISTVERSIONPREFIX= v
DISTVERSION= 0.5.2-5
DISTVERSIONSUFFIX= -gd09afc7
CATEGORIES= audio
MAINTAINER= yuri@FreeBSD.org
COMMENT= Shuriken beat slicer
WWW= https://github.com/rock-hopper/shuriken
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= gmake:devel/gmake
LIB_DEPENDS= libasound.so:audio/alsa-lib \
libaubio.so:audio/aubio \
liblo.so:audio/liblo \
libsamplerate.so:audio/libsamplerate \
libsndfile.so:audio/libsndfile \
librubberband.so:audio/rubberband \
libsysinfo.so:devel/libsysinfo
USES= gl qmake qt:5 xorg
USE_QT= core gui opengl widgets buildtools:build linguisttools:build
USE_GL= gl
USE_XORG= x11
USE_GITHUB= yes
GH_ACCOUNT= rock-hopper
CXXFLAGS+= -Dstat64=stat
LDFLAGS+= -lexecinfo \
-lsysinfo
PLIST_FILES= bin/${PORTNAME}
pre-patch: # remove all .orig files
@${FIND} ${WRKSRC} -name "*.orig" | ${XARGS} ${RM}
pre-build: # build libsndlib_shuriken
@${MKDIR} ${WRKSRC}/lib
@cd ${WRKSRC}/src/SndLibShuriken && \
./configure --without-audio --without-s7 && \
${GMAKE} && \
${MV} libsndlib_shuriken.a ../../lib/
.include <bsd.port.mk>
TIMESTAMP = 1677017823
SHA256 (rock-hopper-shuriken-v0.5.2-5-gd09afc7_GH0.tar.gz) = e016e926c3e0b52406f8773a88b1fad294ffa2a2d615614ae6d0c7ab2dc89d79
SIZE (rock-hopper-shuriken-v0.5.2-5-gd09afc7_GH0.tar.gz) = 1451382
--- src/JuceLibraryCode/modules/juce_core/juce_core.cpp.orig 2020-02-23 16:47:36 UTC
+++ src/JuceLibraryCode/modules/juce_core/juce_core.cpp
@@ -123,6 +123,10 @@
#define JUCE_STANDALONE_APPLICATION 0
#endif
+#include <sys/sysinfo.h>
+
+extern char **environ;
+
//==============================================================================
namespace juce
{
--- src/JuceLibraryCode/modules/juce_core/native/juce_BasicNativeHeaders.h.orig 2023-02-22 01:49:53 UTC
+++ src/JuceLibraryCode/modules/juce_core/native/juce_BasicNativeHeaders.h
@@ -43,7 +43,7 @@
#else
#import <Cocoa/Cocoa.h>
#import <CoreAudio/HostTime.h>
- #include <sys/dir.h>
+ //#include <sys/dir.h>
#endif
#include <sys/socket.h>
@@ -172,9 +172,9 @@
#include <sys/time.h>
#include <errno.h>
#include <sys/stat.h>
- #include <sys/dir.h>
+ //#include <sys/dir.h>
#include <sys/ptrace.h>
- #include <sys/vfs.h>
+ //#include <sys/vfs.h>
#include <sys/wait.h>
#include <sys/mman.h>
#include <fnmatch.h>
@@ -191,9 +191,13 @@
#include <net/if.h>
#include <sys/sysinfo.h>
#include <sys/file.h>
- #include <sys/prctl.h>
+ //#include <sys/prctl.h>
#include <signal.h>
#include <stddef.h>
+
+ #include <sys/param.h>
+ #include <sys/mount.h>
+
//==============================================================================
#elif JUCE_ANDROID
--- src/JuceLibraryCode/modules/juce_core/native/juce_linux_CommonFile.cpp.orig 2023-02-22 02:02:45 UTC
+++ src/JuceLibraryCode/modules/juce_core/native/juce_linux_CommonFile.cpp
@@ -26,6 +26,8 @@
==============================================================================
*/
+#include <dirent.h>
+
bool File::copyInternal (const File& dest) const
{
FileInputStream in (*this);
--- src/JuceLibraryCode/modules/juce_core/native/juce_linux_Network.cpp.orig 2023-02-22 04:30:10 UTC
+++ src/JuceLibraryCode/modules/juce_core/native/juce_linux_Network.cpp
@@ -41,9 +41,9 @@ void MACAddress::findAllAddresses (Array<MACAddress>&
strcpy (ifr.ifr_name, i->ifa_name);
ifr.ifr_addr.sa_family = AF_INET;
- if (ioctl (s, SIOCGIFHWADDR, &ifr) == 0)
+ if (ioctl (s, SIOCGIFCONF, &ifr) == 0)
{
- MACAddress ma ((const uint8*) ifr.ifr_hwaddr.sa_data);
+ MACAddress ma ((const uint8*) ifr.ifr_data);
if (! ma.isNull())
result.addIfNotAlreadyThere (ma);
--- src/JuceLibraryCode/modules/juce_core/native/juce_linux_SystemStats.cpp.orig 2023-02-22 04:43:54 UTC
+++ src/JuceLibraryCode/modules/juce_core/native/juce_linux_SystemStats.cpp
@@ -142,8 +142,8 @@ static String getLocaleValue (nl_item key)
return result;
}
-String SystemStats::getUserLanguage() { return getLocaleValue (_NL_IDENTIFICATION_LANGUAGE); }
-String SystemStats::getUserRegion() { return getLocaleValue (_NL_IDENTIFICATION_TERRITORY); }
+String SystemStats::getUserLanguage() { return String(); }
+String SystemStats::getUserRegion() { return String(); }
String SystemStats::getDisplayLanguage() { return getUserLanguage() + "-" + getUserRegion(); }
//==============================================================================
--- src/JuceLibraryCode/modules/juce_core/native/juce_posix_SharedCode.h.orig 2023-02-22 01:59:09 UTC
+++ src/JuceLibraryCode/modules/juce_core/native/juce_posix_SharedCode.h
@@ -963,7 +963,7 @@ void JUCE_CALLTYPE Thread::setCurrentThreadName (const
[[NSThread currentThread] setName: juceStringToNS (name)];
}
#elif JUCE_LINUX
- #if (__GLIBC__ * 1000 + __GLIBC_MINOR__) >= 2012
+ #if (__GLIBC__ * 1000 + __GLIBC_MINOR__) >= 2012 || defined(__FreeBSD__)
pthread_setname_np (pthread_self(), name.toRawUTF8());
#else
prctl (PR_SET_NAME, name.toRawUTF8(), 0, 0, 0);
Shuriken is an open source beat slicer for Linux which harnesses the power of
aubio's onset detection algorithms and Rubber Band's time stretching
capabilities. A simple Qt interface makes it easy to slice up drum loops, assign
individual drum hits to MIDI keys, and change the tempo of loops in real-time.
The JUCE library takes care of handling audio and MIDI behind the scenes.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment