This file is indexed.

/usr/include/flext/flsndobj.cpp is in pd-flext-dev 0.6.0+git20161101.1.01318a94-3.

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
130
131
132
133
134
135
136
/*
flext - C++ layer for Max and Pure Data externals

Copyright (c) 2001-2015 Thomas Grill (gr@grrrr.org)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
*/

#ifndef __FLEXT_SNDOBJ_CPP
#define __FLEXT_SNDOBJ_CPP

#include "flext.h"
#include "flsndobj.h"

#include "flpushns.h"

flext_sndobj::flext_sndobj():
    inobjs(0),outobjs(0),
    inobj(NULL),tmpobj(NULL),outobj(NULL),
    smprt(0),blsz(0)
{}

bool flext_sndobj::Init()
{
    bool ret = flext_dsp::Init();
    inobjs = CntInSig();
    outobjs = CntOutSig();
    return ret;
}

void flext_sndobj::Exit()
{
    ClearObjs();
    flext_dsp::Exit();
}

void flext_sndobj::ClearObjs()
{
    FreeObjs();

    if(inobj) {
        for(int i = 0; i < inobjs; ++i) delete inobj[i]; 
        delete[] inobj; inobj = NULL; 
    }
    if(tmpobj) {
        for(int i = 0; i < inobjs; ++i) delete tmpobj[i];
        delete[] tmpobj; tmpobj = NULL;
    }
    if(outobj) {
        for(int i = 0; i < outobjs; ++i) delete outobj[i];
        delete[] outobj; outobj = NULL; 
    }
}

bool flext_sndobj::CbDsp()
{
    // called on every rebuild of the dsp chain
    
    int i;
    if(Blocksize() != blsz || Samplerate() != smprt) {
        // block size or sample rate has changed... rebuild all objects

        ClearObjs();

        blsz = Blocksize();
        smprt = Samplerate();

        // set up sndobjs for inlets and outlets
        if(inobjs) {
            inobj = new Inlet *[inobjs];
            tmpobj = new SndObj *[inobjs];
            for(i = 0; i < inobjs; ++i) {
                inobj[i] = new Inlet(InSig(i),blsz,smprt);
                tmpobj[i] = new SndObj(NULL,blsz,smprt);
            }
        }
        if(outobjs) {
            outobj = new Outlet *[outobjs];
            for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(OutSig(i),blsz,smprt);
        }

        if(!NewObjs()) ClearObjs();
    }
    else {
        // assign changed input/output vectors

        for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(InSig(i));
        for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(OutSig(i));
    }
    return true;
}

void flext_sndobj::CbSignal()
{
    for(int i = 0; i < inobjs; ++i) *tmpobj[i] << *inobj[i];
    ProcessObjs();
}


flext_sndobj::Inlet::Inlet(const t_sample *b,int vecsz,float sr): 
    SndIO(1,sizeof(t_sample)*8,NULL,vecsz,sr),buf(b) 
{}

short flext_sndobj::Inlet::Read() 
{ 
    if(!m_error) { 
        for(m_vecpos = 0; m_vecpos < m_samples; m_vecpos++)
            m_output[m_vecpos] = buf[m_vecpos];
        return 1; 
    } 
    else return 0; 
}

short flext_sndobj::Inlet::Write() { return 0; }


flext_sndobj::Outlet::Outlet(t_sample *b,int vecsz,float sr): 
    SndIO(1,sizeof(t_sample)*8,NULL,vecsz,sr),buf(b) 
{}

short flext_sndobj::Outlet::Read() { return 0; }

short flext_sndobj::Outlet::Write() 
{ 
    if(!m_error) { 
        if(m_IOobjs[0])
            for(m_vecpos = 0; m_vecpos < m_samples; m_vecpos++)
                buf[m_vecpos] = m_IOobjs[0]->Output(m_vecpos);
        return 1; 
    } 
    else return 0; 
}

#include "flpopns.h"

#endif // __FLEXT_SNDOBJ_CPP