Fri Apr 24 08:43:08 2020 UTC ()
audio: Add traverso.

Traverso DAW is a cross-platform multitrack audio recording and
audio editing suite with support for non-linear processing.


(nia)
diff -r1.596 -r1.597 pkgsrc/audio/Makefile
diff -r0 -r1.1 pkgsrc/audio/traverso/DESCR
diff -r0 -r1.1 pkgsrc/audio/traverso/Makefile
diff -r0 -r1.1 pkgsrc/audio/traverso/PLIST
diff -r0 -r1.1 pkgsrc/audio/traverso/distinfo
diff -r0 -r1.1 pkgsrc/audio/traverso/options.mk
diff -r0 -r1.1 pkgsrc/audio/traverso/patches/patch-src_core_Sheet.cpp
diff -r0 -r1.1 pkgsrc/audio/traverso/patches/patch-src_engine_PADriver.cpp
diff -r0 -r1.1 pkgsrc/audio/traverso/patches/patch-src_engine_PADriver.h
diff -r0 -r1.1 pkgsrc/audio/traverso/patches/patch-src_traverso_Traverso.cpp
diff -r0 -r1.1 pkgsrc/audio/traverso/patches/patch-src_traverso_dialogs_settings_Pages.cpp

cvs diff -r1.596 -r1.597 pkgsrc/audio/Makefile (expand / switch to unified diff)

--- pkgsrc/audio/Makefile 2020/04/21 13:32:23 1.596
+++ pkgsrc/audio/Makefile 2020/04/24 08:43:08 1.597
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.596 2020/04/21 13:32:23 nia Exp $ 1# $NetBSD: Makefile,v 1.597 2020/04/24 08:43:08 nia Exp $
2# 2#
3 3
4COMMENT= Audio tools 4COMMENT= Audio tools
5 5
6SUBDIR+= SDL2_mixer 6SUBDIR+= SDL2_mixer
7SUBDIR+= SDL_mixer 7SUBDIR+= SDL_mixer
8SUBDIR+= SDL_sound 8SUBDIR+= SDL_sound
9SUBDIR+= abcde 9SUBDIR+= abcde
10SUBDIR+= abcmidi 10SUBDIR+= abcmidi
11SUBDIR+= adplay 11SUBDIR+= adplay
12SUBDIR+= adplug 12SUBDIR+= adplug
13SUBDIR+= aeneas 13SUBDIR+= aeneas
14SUBDIR+= aiomixer 14SUBDIR+= aiomixer
@@ -437,26 +437,27 @@ SUBDIR+= streamripper @@ -437,26 +437,27 @@ SUBDIR+= streamripper
437SUBDIR+= streamtuner 437SUBDIR+= streamtuner
438SUBDIR+= suil 438SUBDIR+= suil
439SUBDIR+= sweep 439SUBDIR+= sweep
440SUBDIR+= taglib 440SUBDIR+= taglib
441SUBDIR+= taglib-extras 441SUBDIR+= taglib-extras
442SUBDIR+= tap-plugins 442SUBDIR+= tap-plugins
443SUBDIR+= tcd 443SUBDIR+= tcd
444SUBDIR+= tcl-snack 444SUBDIR+= tcl-snack
445SUBDIR+= terminatorx 445SUBDIR+= terminatorx
446SUBDIR+= tfmxplay 446SUBDIR+= tfmxplay
447SUBDIR+= timidity 447SUBDIR+= timidity
448SUBDIR+= toolame 448SUBDIR+= toolame
449SUBDIR+= tracker 449SUBDIR+= tracker
 450SUBDIR+= traverso
450SUBDIR+= tremor 451SUBDIR+= tremor
451SUBDIR+= tremor-tools 452SUBDIR+= tremor-tools
452SUBDIR+= trm 453SUBDIR+= trm
453SUBDIR+= tunapie 454SUBDIR+= tunapie
454SUBDIR+= twolame 455SUBDIR+= twolame
455SUBDIR+= ubs 456SUBDIR+= ubs
456SUBDIR+= vamp-plugin-sdk 457SUBDIR+= vamp-plugin-sdk
457SUBDIR+= vcf 458SUBDIR+= vcf
458SUBDIR+= vimpc 459SUBDIR+= vimpc
459SUBDIR+= vorbis-tools 460SUBDIR+= vorbis-tools
460SUBDIR+= vorbisgain 461SUBDIR+= vorbisgain
461SUBDIR+= wavesurfer 462SUBDIR+= wavesurfer
462SUBDIR+= wavpack 463SUBDIR+= wavpack

File Added: pkgsrc/audio/traverso/DESCR
Traverso DAW is a cross-platform multitrack audio recording and
audio editing suite with support for non-linear processing.

File Added: pkgsrc/audio/traverso/Makefile
# $NetBSD: Makefile,v 1.1 2020/04/24 08:43:08 nia Exp $

DISTNAME=	traverso-0.49.6
CATEGORIES=	audio
MASTER_SITES=	https://traverso-daw.org/

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	https://traverso-daw.org/
COMMENT=	Multitrack audio recording and audio editing suite
LICENSE=	gnu-gpl-v2

USE_CMAKE=	yes
USE_TOOLS+=	pkg-config
USE_LANGUAGES=	c c++

CMAKE_ARGS+=	-DWANT_MP3_ENCODE=ON

.include "../../mk/bsd.prefs.mk"

.if ${OPSYS} == "Darwin"
CMAKE_ARGS+=	-DWANT_COREAUDIO=ON
.endif

INSTALLATION_DIRS+=	share/applications

post-install:
	${INSTALL_DATA} ${WRKSRC}/resources/traverso.desktop \
	    ${DESTDIR}${PREFIX}/share/applications
.for s in 16x16 24x24 48x48 64x64 128x128 scalable
	${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/icons/hicolor/${s}/apps
	${INSTALL_DATA} ${WRKSRC}/resources/freedesktop/icons/${s}/apps/*.* \
	    ${DESTDIR}${PREFIX}/share/icons/hicolor/${s}/apps
	${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/icons/hicolor/${s}/mimetypes
	${INSTALL_DATA} ${WRKSRC}/resources/freedesktop/icons/${s}/mimetypes/*.* \
	    ${DESTDIR}${PREFIX}/share/icons/hicolor/${s}/mimetypes
.endfor

.include "options.mk"
.include "../../audio/flac/buildlink3.mk"
.include "../../audio/lame/buildlink3.mk"
.include "../../audio/libmad/buildlink3.mk"
.include "../../audio/libvorbis/buildlink3.mk"
.include "../../audio/lilv/buildlink3.mk"
.include "../../audio/wavpack/buildlink3.mk"
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../math/fftw/buildlink3.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../x11/qt5-qtbase/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
BUILDLINK_TRANSFORM+=	opt:-ldl:${BUILDLINK_LDADD.dl:Q}
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/audio/traverso/PLIST
@comment $NetBSD: PLIST,v 1.1 2020/04/24 08:43:08 nia Exp $
bin/traverso
share/applications/traverso.desktop
share/icons/hicolor/128x128/apps/traverso.png
share/icons/hicolor/128x128/mimetypes/gnome-mime-application-x-traverso.png
share/icons/hicolor/16x16/apps/traverso.png
share/icons/hicolor/16x16/mimetypes/gnome-mime-application-x-traverso.png
share/icons/hicolor/24x24/apps/traverso.png
share/icons/hicolor/24x24/mimetypes/gnome-mime-application-x-traverso.png
share/icons/hicolor/48x48/apps/traverso.png
share/icons/hicolor/48x48/mimetypes/gnome-mime-application-x-traverso.png
share/icons/hicolor/64x64/apps/traverso.png
share/icons/hicolor/64x64/mimetypes/gnome-mime-application-x-traverso.png
share/icons/hicolor/scalable/apps/traverso.svg
share/icons/hicolor/scalable/mimetypes/gnome-mime-application-x-traverso.svg

File Added: pkgsrc/audio/traverso/distinfo
$NetBSD: distinfo,v 1.1 2020/04/24 08:43:08 nia Exp $

SHA1 (traverso-0.49.6.tar.gz) = 40c8f5cd86e73e65d5a9c63953bf5dc7ad8685bf
RMD160 (traverso-0.49.6.tar.gz) = 176c4815f4184e609684db7ea76c21187551080e
SHA512 (traverso-0.49.6.tar.gz) = ff802994bd2de214a307143800287c48f3c68f02074524e124d985cb86c03ee5989ea43babdb50f763dd41de6fab67ee3c68c04d635a9c67ba349a3693531f60
Size (traverso-0.49.6.tar.gz) = 1511714 bytes
SHA1 (patch-src_core_Sheet.cpp) = a1c59a95e1c517222ffa92b99d304351e688c247
SHA1 (patch-src_engine_PADriver.cpp) = 6d5220ffda0c4d41f1c3c88a66f925ecc8e901d7
SHA1 (patch-src_engine_PADriver.h) = 5d859bc7d1af8d66dbfa1144e57c0a848f61000d
SHA1 (patch-src_traverso_Traverso.cpp) = 60cd8268eb060feff9ab345c28ef4fd883af8cb5
SHA1 (patch-src_traverso_dialogs_settings_Pages.cpp) = 7e40c2d41334d393577371b67664912f610ca946

File Added: pkgsrc/audio/traverso/options.mk
# $NetBSD: options.mk,v 1.1 2020/04/24 08:43:08 nia Exp $

PKG_OPTIONS_VAR=	PKG_OPTIONS.traverso
PKG_SUPPORTED_OPTIONS=	alsa jack portaudio pulseaudio

.include "../../mk/bsd.fast.prefs.mk"

.if ${OPSYS} == "Linux"
PKG_SUGGESTED_OPTIONS=	alsa jack portaudio
.else
PKG_SUGGESTED_OPTIONS=	jack portaudio
.endif

.include "../../mk/bsd.options.mk"

.if !empty(PKG_OPTIONS:Malsa)
CMAKE_ARGS+=	-DWANT_ALSA=ON
.include "../../audio/alsa-lib/buildlink3.mk"
.else
CMAKE_ARGS+=	-DWANT_ALSA=OFF
.endif

.if !empty(PKG_OPTIONS:Mjack)
CMAKE_ARGS+=	-DWANT_JACK=ON
.include "../../audio/jack/buildlink3.mk"
.else
CMAKE_ARGS+=	-DWANT_JACK=OFF
.endif

.if !empty(PKG_OPTIONS:Mportaudio)
CMAKE_ARGS+=	-DWANT_PORTAUDIO=ON
.include "../../audio/portaudio/buildlink3.mk"
.else
CMAKE_ARGS+=	-DWANT_PORTAUDIO=OFF
.endif

.if !empty(PKG_OPTIONS:Mpulseaudio)
CMAKE_ARGS+=	-DWANT_PULSEAUDIO=ON
.include "../../audio/pulseaudio/buildlink3.mk"
.else
CMAKE_ARGS+=	-DWANT_PULSEAUDIO=OFF
.endif

File Added: pkgsrc/audio/traverso/patches/patch-src_core_Sheet.cpp
$NetBSD: patch-src_core_Sheet.cpp,v 1.1 2020/04/24 08:43:08 nia Exp $

Use standard LLONG_MAX definition.

--- src/core/Sheet.cpp.orig	2017-10-09 18:38:43.000000000 +0000
+++ src/core/Sheet.cpp
@@ -397,7 +397,7 @@ int Sheet::prepare_export(ExportSpecific
 		m_rendering = true;
 	}
 
-	spec->startLocation = LONG_LONG_MAX;
+	spec->startLocation = LLONG_MAX;
 	spec->endLocation = TimeRef();
 
 	TimeRef endlocation, startlocation;

File Added: pkgsrc/audio/traverso/patches/patch-src_engine_PADriver.cpp
$NetBSD: patch-src_engine_PADriver.cpp,v 1.1 2020/04/24 08:43:08 nia Exp $

More hostapis (oss, sun)

--- src/engine/PADriver.cpp.orig	2009-03-28 08:48:39.000000000 +0000
+++ src/engine/PADriver.cpp
@@ -142,33 +142,51 @@ int PADriver::setup(bool capture, bool p
 		
 // 		device->message(tr("hostapi name is %1, deviceCount is %2").arg(inf->name).arg(inf->deviceCount), AudioDevice::INFO);
 
-		if (hostapi == "alsa" && inf->type == paALSA) {
-			printf("PADriver:: Found alsa host api, using device %d\n", i);
-			deviceindex = i;
-			break;
-		}
-		
-		if (hostapi == "jack" && inf->type == paJACK) {
-			printf("PADriver:: Found jack host api, using device %d\n", i);
-			deviceindex = i;
-			break;
+		switch (inf->type) {
+			case paALSA:
+				if (hostapi == "alsa") {
+					printf("PADriver:: Found alsa host api, using device %d\n", i);
+					deviceindex = i;
+				}
+				break;
+			case paJACK:
+				if (hostapi == "jack") {
+					printf("PADriver:: Found jack host api, using device %d\n", i);
+					deviceindex = i;
+				}
+				break;
+			case paOSS:
+				if (hostapi == "oss") {
+					printf("PADriver:: Found oss host api, using device %d\n", i);
+					deviceindex = i;
+				}
+				break;
+			case paMME:
+				if (hostapi == "wmme") {
+					printf("PADriver:: Found wmme host api, using device %d\n", i);
+					deviceindex = i;
+				}
+				break;
+			case paDirectSound:
+				if (hostapi == "directsound") {
+					printf("PADriver:: Found directsound host api, using device %d\n", i);
+					deviceindex = i;
+				}
+				break;
+			case paCoreAudio:
+				if (hostapi == "coreaudio") {
+					printf("PADriver:: Found coreaudio host api, using device %d\n", i);
+					deviceindex = i;
+				}
+				break;
+			default:
+				if (hostapi == "sun") {
+					printf("PADriver:: Found sun host api, using device %d\n", i);
+					deviceindex = i;
+				}
+				break;
 		}
-
-		if (hostapi == "wmme" && inf->type == paMME) {
-			printf("PADriver:: Found wmme host api, using device %d\n", i);
-			deviceindex = i;
-			break;
-		}
-		
-		if (hostapi == "directsound" && inf->type == paDirectSound ) {
-			printf("PADriver:: Found directsound host api, using device %d\n", i);
-			deviceindex = i;
-			break;
-		}
-		
-                if (hostapi == "coreaudio" && inf->type == paCoreAudio ) {
-			printf("PADriver:: Found directsound host api, using device %d\n", i);
-			deviceindex = i;
+		if (deviceindex != -1) {
 			break;
 		}
 	}

File Added: pkgsrc/audio/traverso/patches/patch-src_engine_PADriver.h
$NetBSD: patch-src_engine_PADriver.h,v 1.1 2020/04/24 08:43:08 nia Exp $

Correct portaudio header path for pkgsrc.

--- src/engine/PADriver.h.orig	2009-03-28 08:48:39.000000000 +0000
+++ src/engine/PADriver.h
@@ -23,7 +23,7 @@
 #define PORTAUDIO_DRIVER_H
 
 #include "Driver.h"
-#include "portaudio.h"
+#include <portaudio2/portaudio.h>
 
 class PADriver : public Driver
 {

File Added: pkgsrc/audio/traverso/patches/patch-src_traverso_Traverso.cpp
$NetBSD: patch-src_traverso_Traverso.cpp,v 1.1 2020/04/24 08:43:08 nia Exp $

Use Sun on NetBSD and OSS on other unixes.

Pick a nicer default sample rate for NetBSD and SunOS.

--- src/traverso/Traverso.cpp.orig	2017-10-09 20:04:26.000000000 +0000
+++ src/traverso/Traverso.cpp
@@ -306,9 +306,13 @@ void Traverso::setup_fpu()
 
 void Traverso::prepare_audio_device( )
 {
+#if defined (__NetBSD__) || defined (__sun)
+	int rate = config().get_property("Hardware", "samplerate", 48000).toInt();
+#else
 	int rate = config().get_property("Hardware", "samplerate", 44100).toInt();
+#endif
 	int bufferSize = config().get_property("Hardware", "buffersize", 512).toInt();
-#if defined (Q_WS_X11)
+#if defined (__linux__)
 	QString driverType = config().get_property("Hardware", "drivertype", "ALSA").toString();
 #else
 	QString driverType = config().get_property("Hardware", "drivertype", "PortAudio").toString();
@@ -339,12 +343,16 @@ void Traverso::prepare_audio_device( )
 	
 #if defined (PORTAUDIO_SUPPORT)
 	if (driverType == "PortAudio") {
-#if defined (Q_WS_X11)
+#if defined (__linux__)
 		cardDevice = config().get_property("Hardware", "pahostapi", "alsa").toString();
+#elif defined (__NetBSD__)
+		cardDevice = config().get_property("Hardware", "pahostapi", "sun").toString();
 #elif defined (Q_WS_MAC)
 		cardDevice = config().get_property("Hardware", "pahostapi", "coreaudio").toString();
 #elif defined (Q_WS_WIN)
 		cardDevice = config().get_property("Hardware", "pahostapi", "wmme").toString();
+#else
+		cardDevice = config().get_property("Hardware", "pahostapi", "oss").toString();
 #endif
 	}
 #endif // end PORTAUDIO_SUPPORT

File Added: pkgsrc/audio/traverso/patches/patch-src_traverso_dialogs_settings_Pages.cpp
$NetBSD: patch-src_traverso_dialogs_settings_Pages.cpp,v 1.1 2020/04/24 08:43:08 nia Exp $

Support Sun on NetBSD and OSS on other unixes.

--- src/traverso/dialogs/settings/Pages.cpp.orig	2017-10-09 11:40:46.000000000 +0000
+++ src/traverso/dialogs/settings/Pages.cpp
@@ -139,9 +139,15 @@ void AudioDriverConfigPage::reset_defaul
 #endif
 	
 #if defined (PORTAUDIO_SUPPORT)
-#if defined (Q_WS_X11)
+#if defined (__linux__)
 	config().set_property("Hardware", "pahostapi", "alsa");
 #endif
+#if defined (Q_WS_X11)
+	config().set_property("Hardware", "pahostapi", "oss");
+#endif
+#if defined (__NetBSD__)
+	config().set_property("Hardware", "pahostapi", "sun");
+#endif
 #if defined (Q_WS_MAC)
 	config().set_property("Hardware", "pahostapi", "coreaudio");
 #endif
@@ -162,7 +168,7 @@ void AudioDriverConfigPage::load_config(
 {
 	int samplerate = config().get_property("Hardware", "samplerate", 44100).toInt();
 	int buffersize = config().get_property("Hardware", "buffersize", 512).toInt();
-#if defined (Q_WS_X11)
+#if defined (__linux__)
 	QString driverType = config().get_property("Hardware", "drivertype", "ALSA").toString();
 #else
 	QString driverType = config().get_property("Hardware", "drivertype", "PortAudio").toString();
@@ -232,24 +238,21 @@ void AudioDriverConfigPage::load_config(
 	m_portaudiodrivers->driverCombo->clear();
 	QString defaulthostapi = "";
 
-#if defined (Q_WS_X11)
-	m_portaudiodrivers->driverCombo->addItem("ALSA", "alsa");
-	m_portaudiodrivers->driverCombo->addItem("Jack", "jack");
-	m_portaudiodrivers->driverCombo->addItem("OSS", "oss");
-	defaulthostapi = "jack";
-#endif
-
 #if defined (Q_WS_MAC)
 	m_portaudiodrivers->driverCombo->addItem("Core Audio", "coreaudio");
 	m_portaudiodrivers->driverCombo->addItem("Jack", "jack");
 	defaulthostapi = "coreaudio";
-#endif
-
-#if defined (Q_WS_WIN)
+#elif defined (Q_WS_WIN)
 	m_portaudiodrivers->driverCombo->addItem("MME", "wmme");
 	m_portaudiodrivers->driverCombo->addItem("Direct Sound", "directsound");
 	m_portaudiodrivers->driverCombo->addItem("ASIO", "asio");
 	defaulthostapi = "wmme";
+#else
+	m_portaudiodrivers->driverCombo->addItem("ALSA", "alsa");
+	m_portaudiodrivers->driverCombo->addItem("Jack", "jack");
+	m_portaudiodrivers->driverCombo->addItem("OSS", "oss");
+	m_portaudiodrivers->driverCombo->addItem("Sun", "sun");
+	defaulthostapi = "oss";
 #endif
 	
 	QString hostapi = config().get_property("Hardware", "pahostapi", defaulthostapi).toString();