diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /media-sound/sonic-visualiser |
reinit the tree, so we can have metadata
Diffstat (limited to 'media-sound/sonic-visualiser')
-rw-r--r-- | media-sound/sonic-visualiser/Manifest | 9 | ||||
-rw-r--r-- | media-sound/sonic-visualiser/files/notest.patch | 33 | ||||
-rw-r--r-- | media-sound/sonic-visualiser/files/piper.capnp | 364 | ||||
-rw-r--r-- | media-sound/sonic-visualiser/metadata.xml | 11 | ||||
-rw-r--r-- | media-sound/sonic-visualiser/sonic-visualiser-2.5.ebuild | 105 | ||||
-rw-r--r-- | media-sound/sonic-visualiser/sonic-visualiser-3.0.2.ebuild | 109 |
6 files changed, 631 insertions, 0 deletions
diff --git a/media-sound/sonic-visualiser/Manifest b/media-sound/sonic-visualiser/Manifest new file mode 100644 index 000000000000..db05db035dce --- /dev/null +++ b/media-sound/sonic-visualiser/Manifest @@ -0,0 +1,9 @@ +AUX notest.patch 1545 SHA256 e82867f09a9396d890df3fef53f35fe443ee8624fb95e203822cda3f6ee11e60 SHA512 c3e9fbb8f1844d9faa35b318ffebfe6c64672f329ac584a101bf1e3c5736916666e7c100863de7db50f89b8f98b8a2e267e82e4aad457cbbaa875da0322bb0f6 WHIRLPOOL 51796ce1ab7f1add3d404349721121698d4237ad65109e1292bbf3a568720e604c51eab0ef20e9724bf83be9fc1c8116c141ba2e39cc6a02de5e3f5e372d2483 +AUX piper.capnp 19756 SHA256 925234658b06e39ca4f5d13ef7310813366cb4c48bd56a2b3c369d6784d0d7a8 SHA512 c520116c978f8abbc747d3a465c006ec800cf1dd5f8f96f7c5879d88ae81fcc09f3a2640f9212b74f41f5b28269a17f35aac3521be946c66b599419c39a95720 WHIRLPOOL b8bd038322f0f204f5fa785936999250a893eb8b353d08f9b046f60ab275d79839a231c38d9a5c64705fcf40be5fad85dbce26618fb41360d2d5b45dcf3452d9 +DIST sonic-visualiser-2.5.tar.gz 4112133 SHA256 5a66f20bae002876c64bc26d79dcba4f4c96c3c71ae160b5aafb40cfeacecdbe SHA512 ec48456f5b089453ee9e8bdca5449da92b248a9278423b38a63dda4598b0496432337a152d8b296e8c5dcc2b434bc68c8d1dde225e398bf9bee1f4bbb6c8d7e6 WHIRLPOOL 0038c197a731e503c01d4f69b3b1aa6d347df95e84bc4ed75b7cd670bb50eeeb615e1ae9bfb357d6414fbc338fdfce6179635e8390cf835c37f7c5029767df9f +DIST sonic-visualiser-3.0.2.tar.gz 5123229 SHA256 9ca9c37e1da5e6197bb61e5b05b29544cbf8389523467efbd465527f1dd6d8b3 SHA512 25259df72175e397c63e76dca25f0099139c6569153c1e5750f90bcf5d661f20dd8c02aba53272567e72e661bfc66ec19cb3b3066795f978a6b76c826a5bf825 WHIRLPOOL 15ce603c4d34ffb0783138d7408ab903a3b1d1d776a997bf69c3d1de02f916f4d96e980e15b431450c6177d1d4ba85031b927dc7bdc9577bf6bceba2d3b37635 +EBUILD sonic-visualiser-2.5.ebuild 2319 SHA256 dc64f3cc22920085ff0f2fd82eb0bcbf0da222f892bb86b38e985c65f9334d65 SHA512 1954864a4e49983bdc94300dc1cc090d3e723e43b7e3273237326066cec4eff4ef1e1c6f49b8cf45d276d2c019d96485fd656b22741f82d0c7afb7fa39d37803 WHIRLPOOL 454f265997c8e8326b7440078b5ba6b0e776c7556e8910016fca5698191691f021293ae0dd02039b263f0b92988ec000636b393c3662a6a1e52e3594bf269667 +EBUILD sonic-visualiser-3.0.2.ebuild 2642 SHA256 e078b1c0a42d6685f8586a88608b9f591a77c803e7cd4fb8aa5414d48731a226 SHA512 d25058c13a00475426d09c8c80cdf88c97d4ed0c010e9407e4718ad8aacd1797a1b859fbc783555a6b680b0c23e9c218a2cabe754cb32737728ffb8e8fb3f6d0 WHIRLPOOL d61150c083eeb1576f8338b905a49deaaa0491383d572a77334a233fdbe702321a01ddab10c269b24aec8f507373aa1582d7d6848cb543af732a03ae1e45c89f +MISC ChangeLog 3011 SHA256 f0cdcc66d9966b829c641988f76c56664881b51900df1c64cc4759a8d405aa9c SHA512 3d92a488a7c8fc92492dd7dc5b98cc09320929a971b526980860aeea577df40b547f8ad3d4b7326a834cd03ba98bd9dd1034e98cfa8e9d311d1302c0e8a2439b WHIRLPOOL e9a1c75c0e6d35375700f400e2e5586445799672863f6086eccd82c80aeb29d5ae8ea77e6c596da917a6d8cd4ba906ccf06a330d24a8d0bafbb2c51a0457d519 +MISC ChangeLog-2015 4695 SHA256 64899cbed2e57a2cd0483aefd935c71e035aed93e4ea04a3175e33a463b38697 SHA512 519adadf71810130b647422b25119f1523d18944ba1fc9464fec7e53f421af79842353b515452d16285b5a4eee3b59a15b6c72e4c274d59af18ff51cbcd42adb WHIRLPOOL 76d22252b3811b53d9a6bac5b331835aa3279079644394216a5ac875514584b112d3a025a16905096b3a332736bd2c7bf8b77aee5b555bc25f56faade6e1a676 +MISC metadata.xml 353 SHA256 116f65c63f5df61cc84582152ff028ddf5646fb86ff7eaab7b15a7ec966950cc SHA512 812f7ef25b8bde0654650ac3f3ddd1e18bfc828db0b5709fdf4c57017438ea118b7d7d14c9dd7006cb7fa63aeb72a25d155ec60beb0eca36bfbd292ecf5faa3f WHIRLPOOL d5b6bf389deed51220851c84ec39468e3779180da3db163cfad65fe2a196d8890bc298b00a31bd4c00d30019ba1d387d532521aeec15eadb4c250abbab5ecff3 diff --git a/media-sound/sonic-visualiser/files/notest.patch b/media-sound/sonic-visualiser/files/notest.patch new file mode 100644 index 000000000000..59b4d04f9336 --- /dev/null +++ b/media-sound/sonic-visualiser/files/notest.patch @@ -0,0 +1,33 @@ +Index: sonic-visualiser-3.0.2/test-svcore-base.pro +=================================================================== +--- sonic-visualiser-3.0.2.orig/test-svcore-base.pro ++++ sonic-visualiser-3.0.2/test-svcore-base.pro +@@ -28,6 +28,3 @@ include(svcore/base/test/files.pri) + for (file, TEST_SOURCES) { SOURCES += $$sprintf("svcore/base/test/%1", $$file) } + for (file, TEST_HEADERS) { HEADERS += $$sprintf("svcore/base/test/%1", $$file) } + +-!win32* { +- QMAKE_POST_LINK = ./$${TARGET} +-} +Index: sonic-visualiser-3.0.2/test-svcore-data-fileio.pro +=================================================================== +--- sonic-visualiser-3.0.2.orig/test-svcore-data-fileio.pro ++++ sonic-visualiser-3.0.2/test-svcore-data-fileio.pro +@@ -28,6 +28,3 @@ include(svcore/data/fileio/test/files.pr + for (file, TEST_SOURCES) { SOURCES += $$sprintf("svcore/data/fileio/test/%1", $$file) } + for (file, TEST_HEADERS) { HEADERS += $$sprintf("svcore/data/fileio/test/%1", $$file) } + +-!win32* { +- QMAKE_POST_LINK = ./$${TARGET} +-} +Index: sonic-visualiser-3.0.2/test-svcore-data-model.pro +=================================================================== +--- sonic-visualiser-3.0.2.orig/test-svcore-data-model.pro ++++ sonic-visualiser-3.0.2/test-svcore-data-model.pro +@@ -28,6 +28,3 @@ include(svcore/data/model/test/files.pri + for (file, TEST_SOURCES) { SOURCES += $$sprintf("svcore/data/model/test/%1", $$file) } + for (file, TEST_HEADERS) { HEADERS += $$sprintf("svcore/data/model/test/%1", $$file) } + +-!win32* { +- QMAKE_POST_LINK = ./$${TARGET} +-} diff --git a/media-sound/sonic-visualiser/files/piper.capnp b/media-sound/sonic-visualiser/files/piper.capnp new file mode 100644 index 000000000000..6e99ff6849d2 --- /dev/null +++ b/media-sound/sonic-visualiser/files/piper.capnp @@ -0,0 +1,364 @@ + +# Piper audio feature extraction: schema for low-level operation +# +# This file is formatted to 130 characters width, in order to fit the +# comments next to the schema definitions. +# +# Copyright (c) 2015-2017 Queen Mary, University of London, provided +# under a BSD-style licence. See the file COPYING for details. + +@0xc4b1c6c44c999206; + +using Cxx = import "/capnp/c++.capnp"; +$Cxx.namespace("piper"); + +struct Basic { + # Basic metadata common to many Piper structures. + + identifier @0 :Text; # A computer-readable string. Must match the regex /^[a-zA-Z0-9_-]+$/. + name @1 :Text; # A short human-readable name or label. Must be present. + description @2 :Text; # An optional human-readable descriptive text that may accompany the name. +} + +struct ParameterDescriptor { + # Properties of an adjustable parameter. A parameter's value is just a single + # float, but the descriptor explains how to interpret and present that value. + # A Piper feature extractor has a static list of parameters. The properties of + # a given parameter never change, in contrast to output descriptors, which + # may have different properties depending on the configuration of the extractor. + + basic @0 :Basic; # Basic metadata about the parameter. + unit @1 :Text; # Human-recognisable unit of the parameter (e.g. Hz). May be left empty. + minValue @2 :Float32 = 0.0; # Minimum value. Must be provided. + maxValue @3 :Float32 = 0.0; # Maximum value. Must be provided. + defaultValue @4 :Float32 = 0.0; # Default if the parameter is not set to anything else. Must be provided. + isQuantized @5 :Bool = false; # True if parameter values are quantized to a particular resolution. + quantizeStep @6 :Float32 = 0.0; # Quantization resolution, if isQuantized. + valueNames @7 :List(Text) = []; # Optional human-readable labels for the values, if isQuantized. +} + +enum SampleType { + # How returned features are spaced on the input timeline. + + oneSamplePerStep @0; # Each process input returns a feature aligned with that input's timestamp. + fixedSampleRate @1; # Features are equally spaced at a given sample rate. + variableSampleRate @2; # Features have their own individual timestamps. +} + +struct StaticOutputDescriptor { + + # Properties of an output, that is, a single stream of features + # produced in response to process and finish requests. A feature + # extractor may have any number of outputs, and it always + # calculates and returns features from all of them when + # processing; this is useful in cases where more than one feature + # can be easily calculated using a single method. + # + # This structure contains the properties of an output that are + # static, i.e. that do not depend on the parameter values provided + # at configuration, excluding the Basic struct parameters like id + # and description. The Basic struct properties are not included + # for historical reasons: they were already referenced separately + # in the OutputDescriptor and ExtractorStaticData before this + # struct was introduced. + + typeURI @0 :Text; # URI indicating the sort of feature that this output returns (see docs). +} + +struct ConfiguredOutputDescriptor { + # Properties of an output, that is, a single stream of features produced + # in response to process and finish requests. A feature extractor may + # have any number of outputs, and it always calculates and returns features + # from all of them when processing; this is useful in cases where more + # than one feature can be easily calculated using a single method. + # This structure contains the properties of an output that are not static, + # i.e. that may depend on the parameter values provided at configuration. + + unit @0 :Text; # Human-recognisable unit of the bin values in output features. May be empty. + hasFixedBinCount @1 :Bool = false; # True if this output has an equal number of values in each returned feature. + binCount @2 :Int32 = 0; # Number of values per feature for this output, if hasFixedBinCount. + binNames @3 :List(Text) = []; # Optional human-readable labels for the value bins, if hasFixedBinCount. + hasKnownExtents @4 :Bool = false; # True if all feature values fall within the same fixed min/max range. + minValue @5 :Float32 = 0.0; # Minimum value in range for any value from this output, if hasKnownExtents. + maxValue @6 :Float32 = 0.0; # Maximum value in range for any value from this output, if hasKnownExtents. + isQuantized @7 :Bool = false; # True if feature values are quantized to a particular resolution. + quantizeStep @8 :Float32 = 0.0; # Quantization resolution, if isQuantized. + sampleType @9 :SampleType; # How returned features from this output are spaced on the input timeline. + sampleRate @10 :Float32 = 0.0; # Sample rate (features per second) if sampleType == fixedSampleRate. + hasDuration @11 :Bool = false; # True if features returned from this output will have a duration. +} + +struct OutputDescriptor { + # All the properties of an output, both static (the basic metadata and static + # descriptor) and potentially dependent on configuration parameters (the + # configured descriptor). + + basic @0 :Basic; # Basic metadata about the output. + configured @1 :ConfiguredOutputDescriptor; # Properties of the output that may depend on configuration parameters. + static @2 :StaticOutputDescriptor; # Properties (other than Basic) that do not depend on parameters. +} + +enum InputDomain { + # Whether a feature extractor requires time-domain audio input (i.e. + # "normal" or "unprocessed" audio samples) or frequency-domain input + # (i.e. resulting from windowed, usually overlapping, short-time + # Fourier transforms). + + timeDomain @0; # The plugin requires time-domain audio samples as input. + frequencyDomain @1; # The plugin requires input to have been pre-processed using windowed STFTs. +} + +struct ExtractorStaticData { + # Static properties of a feature extractor. That is, metadata about the + # extractor that are the same regardless of how you configure or run it. + + key @0 :Text; # String that "globally" identifies the extractor, used to load it (see docs). + basic @1 :Basic; # Basic metadata about the extractor. + maker @2 :Text; # Human-readable text naming the author or vendor of the extractor. + rights @3 :Text; # Human-readable summary of copyright and/or licensing terms for the extractor. + version @4 :Int32; # Version number of extractor; must increase if new algorithm changes results. + category @5 :List(Text); # List of general->specific category labels for this extractor (see docs). + minChannelCount @6 :Int32; # Minimum number of input channels of audio this extractor can accept. + maxChannelCount @7 :Int32; # Maximum number of input channels of audio this extractor can accept. + parameters @8 :List(ParameterDescriptor); # List of configurable parameter properties for the feature extractor. + programs @9 :List(Text); # List of predefined programs. For backward-compatibility, not recommended. + inputDomain @10 :InputDomain; # Whether the extractor requires time-domain or frequency-domain input audio. + basicOutputInfo @11 :List(Basic); # Basic metadata about all of the outputs of the extractor. + + struct SOPair { + # A mapping between output identifier and static descriptor for + # that output. + + output @0 :Text; # Output id, matching the output's descriptor's basic identifier. + static @1 :StaticOutputDescriptor; + } + + staticOutputInfo @12 :List(SOPair); # Static descriptors for all outputs that have any static metadata. +} + +struct RealTime { + # Time structure. When used as a timestamp, this is relative to "start + # of audio". + + sec @0 :Int32 = 0; # Number of seconds. + nsec @1 :Int32 = 0; # Number of nanoseconds. Must have same sign as sec unless sec == 0. +} + +struct ProcessInput { + # Audio and timing input data provided to a process request. + + inputBuffers @0 :List(List(Float32)); # A single block of audio data (time or frequency domain) for each channel. + timestamp @1 :RealTime; # Time of start of block (time-domain) or "centre" of it (frequency-domain). +} + +struct Feature { + # A single feature calculated and returned from a process or finish request. + + hasTimestamp @0 :Bool = false; # True if feature has a timestamp. Must be true for a variableSampleRate output. + timestamp @1 :RealTime; # Timestamp of feature, if hasTimestamp. + hasDuration @2 :Bool = false; # True if feature has a duration. Must be true if output's hasDuration is true. + duration @3 :RealTime; # Duration of feature, if hasDuration. + label @4 :Text; # Optional human-readable text attached to feature. + featureValues @5 :List(Float32) = []; # The feature values themselves (of size binCount, if output hasFixedBinCount). +} + +struct FeatureSet { + # The set of all features, across all outputs, calculated and returned from + # a single process or finish request. + + struct FSPair { + # A mapping between output identifier and ordered list of features for + # that output. + + output @0 :Text; # Output id, matching the output's descriptor's basic identifier. + features @1 :List(Feature) = []; # Features calculated for that output during the current request, in time order. + } + + featurePairs @0 :List(FSPair); # The feature lists for all outputs for which any features have been calculated. +} + +struct Framing { + # Determines how audio should be split up into individual buffers for input. + # If the feature extractor accepts frequency-domain input, then this + # applies prior to the STFT transform. + # + # These values are sometimes mandatory, but in other contexts one or both may + # be set to zero to mean "don't care". See documentation for structures that + # include a framing field for details. + + blockSize @0 :Int32; # Number of time-domain audio samples per buffer (on each channel). + stepSize @1 :Int32; # Number of samples to advance between buffers: equals blockSize for no overlap. +} + +struct Configuration { + # Bundle of parameter values and other configuration data for a feature- + # extraction procedure. + + struct PVPair { + # A mapping between parameter identifier and value. + + parameter @0 :Text; # Parameter id, matching the parameter's descriptor's basic identifier. + value @1 :Float32; # Value to set parameter to (within constraints given in parameter descriptor). + } + + parameterValues @0 :List(PVPair); # Values for all parameters, or at least any that are to change from defaults. + currentProgram @1 :Text; # Selection of predefined program. For backward-compatibility, not recommended. + channelCount @2 :Int32; # Number of audio channels of input. + framing @3 :Framing; # Step and block size for framing the input. +} + +enum AdapterFlag { + # Flags that may be used when requesting a server to load a feature + # extractor, to ask the server to do some of the work of framing and input + # conversion instead of leaving it to the client side. These affect the + # apparent behaviour of the loaded extractor. + + adaptInputDomain @0; # Input-domain conversion, so the extractor always expects time-domain input. + adaptChannelCount @1; # Channel mixing or duplication, so any number of input channels is acceptable. + adaptBufferSize @2; # Framing, so the extractor accepts any blockSize of non-overlapping buffers. +} + +const adaptAllSafe :List(AdapterFlag) = + [ adaptInputDomain, adaptChannelCount ]; + # The set of adapter flags that can always be applied, leaving results unchanged. + +const adaptAll :List(AdapterFlag) = + [ adaptInputDomain, adaptChannelCount, adaptBufferSize ]; + # The set of adapter flags that may cause "equivalent" results to be returned (see documentation). + +struct ListRequest { + # Request a server to provide a list of available feature extractors. + + from @0 :List(Text); # If non-empty, provide only extractors found in the given list of "libraries". +} + +struct ListResponse { + # Response to a successful list request. + + available @0 :List(ExtractorStaticData); # List of static data about available feature extractors. +} + +struct LoadRequest { + # Request a server to load a feature extractor and return a handle to it. + + key @0 :Text; # Key as found in the extractor's static data structure. + inputSampleRate @1 :Float32; # Sample rate for input audio. Properties of the extractor may depend on this. + adapterFlags @2 :List(AdapterFlag); # Set of optional flags to make any framing and input conversion requests. +} + +struct LoadResponse { + # Response to a successful load request. + + handle @0 :Int32; # Handle to be used to refer to the loaded feature extractor in future requests. + staticData @1 :ExtractorStaticData; # Static data about this feature extractor, identical to that in list response. + defaultConfiguration @2 :Configuration; # Extractor's default parameter values and preferred input framing. +} + +struct ConfigurationRequest { + # Request a server to configure a loaded feature extractor and prepare + # it for use. This request must be carried out on a feature extractor + # before any process request can be made. + + handle @0 :Int32; # Handle as returned in the load response from the loading of this extractor. + configuration @1 :Configuration; # Bundle of parameter values to set, and client's preferred input framing. +} + +struct ConfigurationResponse { + # Response to a successful configuration request. + + handle @0 :Int32; # Handle of extractor, as passed in the configuration request. + outputs @1 :List(OutputDescriptor); # Full set of properties of all outputs following configuration. + framing @2 :Framing; # Input framing that must be used for subsequent process requests. +} + +struct ProcessRequest { + # Request a server to process a buffer of audio using a loaded and + # configured feature extractor. + + handle @0 :Int32; # Handle as returned in the load response from the loading of this extractor. + processInput @1 :ProcessInput; # Audio in the input domain, with framing as in the configuration response. +} + +struct ProcessResponse { + # Response to a successful process request. + + handle @0 :Int32; # Handle of extractor, as passed in the process request. + features @1 :FeatureSet; # All features across all outputs calculated during this process request. +} + +struct FinishRequest { + # Request a server to finish processing and unload a loaded feature + # extractor. This request may be made at any time -- the extractor does + # not have to have been configured or used. The extractor handle cannot + # be used again with this server afterwards. + + handle @0 :Int32; # Handle as returned in the load response from the loading of this extractor. +} + +struct FinishResponse { + # Response to a successful finish request. + + handle @0 :Int32; # Handle of extractor, as passed in the finish request. May not be used again. + features @1 :FeatureSet; # Features the extractor has calculated now that it knows all input has ended. +} + +struct Error { + # Response to any request that fails. + + code @0 :Int32; # Error code. + message @1 :Text; # Error message. +} + +struct RpcRequest { + # Request bundle for use when using Cap'n Proto serialisation without + # Cap'n Proto RPC layer. For Cap'n Proto RPC, see piper.rpc.capnp. + + id :union { + # Identifier used solely to associate a response packet with its + # originating request. Server does not examine the contents of this, + # it just copies the request id structure into the response. + + number @0 :Int32; + tag @1 :Text; + none @2 :Void; + } + + request :union { + # For more details, see the documentation for the individual + # request structures. + + list @3 :ListRequest; # Provide a list of available feature extractors. + load @4 :LoadRequest; # Load a feature extractor and return a handle to it. + configure @5 :ConfigurationRequest; # Configure a loaded feature extractor, set parameters, and prepare it for use. + process @6 :ProcessRequest; # Process a single fixed-size buffer of audio and return calculated features. + finish @7 :FinishRequest; # Get any remaining features and unload the extractor. + } +} + +struct RpcResponse { + # Response bundle for use when using Cap'n Proto serialisation without + # Cap'n Proto RPC layer. For Cap'n Proto RPC, see piper.rpc.capnp. + + id :union { + # Identifier used solely to associate a response packet with its + # originating request. Server does not examine the contents of this, + # it just copies the request id structure into the response. + + number @0 :Int32; + tag @1 :Text; + none @2 :Void; + } + + response :union { + # For more details, see the documentation for the individual + # response structures. + + error @3 :Error; # The request (of whatever type) failed. + list @4 :ListResponse; # List succeeded: here is static data about the requested extractors. + load @5 :LoadResponse; # Load succeeded: here is a handle for the loaded extractor. + configure @6 :ConfigurationResponse;# Configure succeeded: ready to process, here are values such as block size. + process @7 :ProcessResponse; # Process succeeded: here are all features calculated from this input block. + finish @8 :FinishResponse; # Finish succeeded: extractor unloaded, here are all remaining features. + } +} + diff --git a/media-sound/sonic-visualiser/metadata.xml b/media-sound/sonic-visualiser/metadata.xml new file mode 100644 index 000000000000..09c4d45f4670 --- /dev/null +++ b/media-sound/sonic-visualiser/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>proaudio@gentoo.org</email> + <name>Gentoo ProAudio Project</name> + </maintainer> + <use> + <flag name="id3tag">Enables ID3 tagging with id3tag library</flag> + </use> +</pkgmetadata> diff --git a/media-sound/sonic-visualiser/sonic-visualiser-2.5.ebuild b/media-sound/sonic-visualiser/sonic-visualiser-2.5.ebuild new file mode 100644 index 000000000000..b433f5baa1c5 --- /dev/null +++ b/media-sound/sonic-visualiser/sonic-visualiser-2.5.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 +inherit eutils qmake-utils autotools fdo-mime + +DESCRIPTION="Music audio files viewer and analiser" +HOMEPAGE="http://www.sonicvisualiser.org/" +SRC_URI="https://code.soundsoftware.ac.uk/attachments/download/1675/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="id3tag jack mad ogg osc +portaudio pulseaudio" + +RDEPEND="dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtxml:5 + dev-qt/qtwidgets:5 + dev-qt/qtnetwork:5 + dev-qt/qttest:5 + media-libs/libsndfile + media-libs/libsamplerate + app-arch/bzip2 + >=media-libs/dssi-0.9.1 + media-libs/liblrdf + media-libs/ladspa-sdk + media-libs/speex + >=media-libs/vamp-plugin-sdk-2.0 + media-libs/rubberband + dev-libs/sord + dev-libs/serd + sci-libs/fftw:3.0 + osc? ( media-libs/liblo ) + portaudio? ( >=media-libs/portaudio-19_pre20071207 ) + jack? ( media-sound/jack-audio-connection-kit ) + mad? ( media-libs/libmad ) + id3tag? ( media-libs/libid3tag ) + ogg? ( media-libs/libfishsound >=media-libs/liboggz-1.1.0 ) + pulseaudio? ( media-sound/pulseaudio )" + +DEPEND="${RDEPEND} + virtual/pkgconfig" + +REQUIRED_USE="|| ( jack pulseaudio portaudio )" + +sv_disable_opt() { + einfo "Disabling $1" + for i in . svapp svcore svgui ; do + sed -i -e "/$1/d" "${S}/$i/configure.ac" || die "failed to remove $1 support" + done +} + +src_prepare() { + use id3tag || sv_disable_opt id3tag + use jack || sv_disable_opt jack + use mad || sv_disable_opt mad + use ogg || sv_disable_opt fishsound + use ogg || sv_disable_opt oggz + use osc || sv_disable_opt liblo + use portaudio || sv_disable_opt portaudio + use pulseaudio || sv_disable_opt libpulse + + eautoreconf +} + +src_configure() { + export QMAKE="$(qt5_get_bindir)"/qmake + econf + eqmake5 -r sonic-visualiser.pro +} + +src_compile() { + # de parallelize a bit otherwise it fails... + emake sub-dataquay-lib-pro + emake sub-svcore + emake sub-svgui + emake sub-svapp + emake sub-sv-pro +} + +src_test() { + emake sub-svcore-base-test + emake sub-svcore-data-fileio-test +} + +src_install() { + cd ${PN} + dobin ${PN} + dodoc README* + #install samples + insinto /usr/share/${PN}/samples + doins samples/* + # desktop entry + doicon icons/sv-icon.svg + domenu *.desktop +} + +pkg_postinst() { + fdo-mime_desktop_database_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} diff --git a/media-sound/sonic-visualiser/sonic-visualiser-3.0.2.ebuild b/media-sound/sonic-visualiser/sonic-visualiser-3.0.2.ebuild new file mode 100644 index 000000000000..b15eff6a3675 --- /dev/null +++ b/media-sound/sonic-visualiser/sonic-visualiser-3.0.2.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils qmake-utils autotools fdo-mime + +DESCRIPTION="Music audio files viewer and analiser" +HOMEPAGE="http://www.sonicvisualiser.org/" +SRC_URI="https://code.soundsoftware.ac.uk/attachments/download/2222/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="id3tag jack mad ogg osc +portaudio pulseaudio" + +RDEPEND="dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtxml:5 + dev-qt/qtwidgets:5 + dev-qt/qtnetwork:5 + dev-qt/qtsvg:5 + media-libs/libsndfile + media-libs/libsamplerate + app-arch/bzip2 + >=media-libs/dssi-0.9.1 + media-libs/liblrdf + media-libs/ladspa-sdk + media-libs/speex + >=media-libs/vamp-plugin-sdk-2.0 + media-libs/rubberband + dev-libs/sord + dev-libs/serd + sci-libs/fftw:3.0 + >=dev-libs/capnproto-0.6:= + osc? ( media-libs/liblo ) + portaudio? ( >=media-libs/portaudio-19_pre20071207 ) + jack? ( media-sound/jack-audio-connection-kit ) + mad? ( media-libs/libmad ) + id3tag? ( media-libs/libid3tag ) + ogg? ( media-libs/libfishsound >=media-libs/liboggz-1.1.0 ) + pulseaudio? ( media-sound/pulseaudio )" + +DEPEND="${RDEPEND} + dev-qt/qttest:5 + virtual/pkgconfig" + +REQUIRED_USE="|| ( jack pulseaudio portaudio )" + +sv_disable_opt() { + einfo "Disabling $1" + for i in . svapp svcore svgui ; do + sed -i -e "/$1/d" "${S}/$i/configure.ac" || die "failed to remove $1 support" + done +} + +src_prepare() { + epatch "${FILESDIR}/notest.patch" + + use id3tag || sv_disable_opt id3tag + use jack || sv_disable_opt jack + use mad || sv_disable_opt mad + use ogg || sv_disable_opt fishsound + use ogg || sv_disable_opt oggz + use osc || sv_disable_opt liblo + use portaudio || sv_disable_opt portaudio + use pulseaudio || sv_disable_opt libpulse + + eautoreconf + + # Those need to be regenerated as they must match current capnproto version + einfo "Regenerating piper capnproto files" + rm -f piper-cpp/vamp-capnp/piper.capnp.* || die + mkdir -p piper/capnp || die + cp "${FILESDIR}/piper.capnp" piper/capnp/ || die + cd piper-cpp + emake vamp-capnp/piper.capnp.h +} + +src_configure() { + export QMAKE="$(qt5_get_bindir)"/qmake + econf + eqmake5 -r sonic-visualiser.pro +} + +src_test() { + for i in test-svcore-base test-svcore-data-fileio test-svcore-data-model ; do + einfo "Running ${i}" + ./${i} || die + done +} + +src_install() { + dobin ${PN} piper-vamp-simple-server piper-convert vamp-plugin-load-checker + dodoc README* + #install samples + insinto /usr/share/${PN}/samples + doins samples/* + # desktop entry + doicon icons/sv-icon.svg + domenu *.desktop +} + +pkg_postinst() { + fdo-mime_desktop_database_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} |