This file is indexed.

/usr/lib/lv2/satan_maximiser-swh.lv2/plugin.ttl is in swh-lv2 1.0.15+git20151104~repack0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
@prefix : <http://lv2plug.in/ns/lv2core#> .
@prefix swh: <http://plugin.org.uk/swh-plugins/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix swhext: <http://plugin.org.uk/extensions#> .
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
@prefix pprops: <http://lv2plug.in/ns/ext/port-props#> .

swh:satanMaximiser a :Plugin ;
   a :DynamicsPlugin ;
   a :DistortionPlugin ;

   doap:name "Barry's Satan Maximiser" ;
   doap:maintainer [
      foaf:name "Steve Harris";
      foaf:homepage <http://plugin.org.uk/> ;
      foaf:mbox <mailto:steve@plugin.org.uk> ;
   ] ;
   doap:license <http://usefulinc.com/doap/licenses/gpl> ;
   :documentation <http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html#satanMaximiser> ;

   :pluginProperty :hardRtCapable ;
    
   :port [
     a :InputPort, :ControlPort ;
     :name "Decay time (samples)" ;
     :index 0 ;
     :symbol "env_time_p" ;
     :minimum 2 ;
     :maximum 30 ;
     
     :default 30 ;
   ] ;
  
   :port [
     a :InputPort, :ControlPort ;
     :name "Knee point (dB)" ;
     :index 1 ;
     :symbol "knee_point" ;
     :minimum -90 ;
     :maximum 0 ;
     
     :default 0.0 ;
   ] ;
  
   :port [
     a :InputPort, :AudioPort ;
     :name "Input" ;
     :index 2 ;
     :symbol "input" ;
   ] ;
  
   :port [
     a :OutputPort, :AudioPort ;
     :name "Output" ;
     :index 3 ;
     :symbol "output" ;
   ] ;
  
   swhext:code """
      #include <math.h>
      #include "ladspa-util.h"

      #define BUFFER_SIZE 16
      #define BUFFER_MASK 15
    """ ;

   swhext:callback [
     swhext:event "instantiate" ;
     swhext:code """
      env = 0.0f;
      buffer = malloc(sizeof(LADSPA_Data) * BUFFER_SIZE);
      buffer_pos = 0;
    """ ;
   ] ;
  
   swhext:callback [
     swhext:event "activate" ;
     swhext:code """
      env = 0.0f;
      memset(buffer, 0, sizeof(LADSPA_Data) * BUFFER_SIZE);
      buffer_pos = 0;
    """ ;
   ] ;
  
   swhext:callback [
     swhext:event "cleanup" ;
     swhext:code """
      free(plugin_data->buffer);
    """ ;
   ] ;
  
   swhext:callback [
     swhext:event "run" ;
     swhext:code """
      unsigned long pos;
      int delay;
      float env_tr, env_sc, knee;
      float env_time = env_time_p;

      if (env_time < 2.0f) {
	env_time = 2.0f;
      }
      knee = DB_CO(knee_point);
      delay = f_round(env_time * 0.5f);
      env_tr = 1.0f / env_time;

      for (pos = 0; pos < sample_count; pos++) {
	if (fabs(input[pos]) > env) {
	  env = fabs(input[pos]);
	} else {
	  env = fabs(input[pos]) * env_tr + env * (1.0f - env_tr);
	}
	if (env <= knee) {
	  env_sc = 1.0f / knee;
	} else {
	  env_sc = 1.0f / env;
	}
	buffer[buffer_pos] = input[pos];
	output[pos] = buffer[(buffer_pos - delay) & BUFFER_MASK] * env_sc;
	buffer_pos = (buffer_pos + 1) & BUFFER_MASK;
      }

      plugin_data->env = env;
      plugin_data->buffer_pos = buffer_pos;
    """ ;
   ] ;
  
   swhext:createdBy <http://plugin.org.uk/swh-plugins/toTurtle.xsl> .