[Stk] STK Repository structure

Tristan Matthews le.businessman at gmail.com
Wed Oct 9 08:04:12 PDT 2013


On Wed, Oct 9, 2013 at 10:34 AM, Ariel Elkin <arielelkin at gmail.com> wrote:

> Hi Steve,
>
> There's several reasons for which a reorganisation would be helpful,
> especially for iOS developers:
>
> If an iOS developer drags and drops the current STK release (v4.4.4) into
> Xcode, dozens and dozens of build errors start stemming from various STK
> files which are redundant on iOS or incompatible with it.
>
> For example, TCPClient is superseded by Apple's Foundation's networking
> classes, and RtAudio, RtWvOut, etc. are superseded by Apple's Core Audio
> audio layer classes
>

Normally RtAudio et al. simply wrap CoreAudio, is this not the case for iOS?


>
> These are all the STK's files that are redundant on iOS:
>
> Multithreading:
>         • Thread.h
>         • Thread.cpp
>         • Mutex.h
>         • Mutex.ccp
> Networking:
>         • UdpSocket.h
>         • UdpSocket.cpp
>         • Socket.h
>         • Socket.cpp
>         • TcpClient.h
>         • TcpClient.cpp
>         • TcpServer.h
>         • TcpServer.cpp
> File I/O:
>         • InetWvOut.h
>         • InetWvOut.cpp
>         • InetWvIn.h
>         • InetWvIn.cpp
> Audio Layer setup:
>         • RtAudio.h
>         • RtAudio.cpp
>         • RtMidi.h
>         • RtMidi.cpp
>         • RtWvIn.h
>         • RtWvIn.cpp
>         • RtWvOut.h
>         • RtWvOut.cpp
>         • RtError.h
> In rawwaves/
>         • makefun.c
>         • makemidi.c
>         • makewav.c
>         • sine.c
>
> See https://github.com/arielelkin/STK-on-iOS
>
> In the current state of the repository, an iOS developer has to manually
> select and remove each of the above files, because ALL of the STK's source
> files are in the /src and /include folder.
>
> Which is why I suggest moving those files to a /Utilities folder, and the
> core STK audio files to a /STK folder.
>
> Then there's the current /projects folder, containing awesome projects but
> which don't run on iOS due to their dependence on RtAudio. That frustrates
> an iOS developer. Hence my suggestion to group projects within the
> /projects according to the platform they run on.
>
> So the directory changes I'm proposing would not only make it easier to
> support iOS, it would make it easier to support other platforms too!
>
> Ariel
>
>
> On 9 Oct 2013, at 3:37pm, Stephen Sinclair wrote:
>
> > Hi Ariel,
> >
> > I think this deserves a response, but I think the reason no one is
> > jumping at it is that it's not clear why a re-organization is
> > necessary.  That doesn't necessarily mean it's a bad idea, just that
> > it doesn't seem obvious to me.
> >
> > For example, what is it about moving source files to different
> > directories that would make it easier for supporting iOS?
> >
> > Steve
> >
> >
> > On Tue, Oct 8, 2013 at 2:04 AM, Ariel Elkin <arielelkin at gmail.com>
> wrote:
> >> Great to see the STK git repository is coming along!
> >>
> >> I think that something that would really improve the STK's support for
> iOS, AND make it easier to create ports for other platforms, is if we
> clearly separate the STK's audio classes from the STK's helper classes.
> Classes solely dedicated to audio purposes (e.g. Sitar, PRCRev, etc.)
> should be grouped in their directory. The STK's helper classes, such as
> those for networking (e.g. Socket, TcpClient) multithreading (e.g. Mutex),
> or audio layer setup (e.g. RtAudio), should be in separate directories.
> >>
> >> I thought about this directory structure:
> >>
> >> STK/Classes                     <-- All the audio classes, both .h and
> .cpp (e.g. Guitar, Mandolin, Twang)
> >> STK/Rawwaves            <-- All the raw waves
> >> Utilities/Networking    <-- All the networking classes
> >> Utilities/IO                    <-- All the file I/O classes (e.g.
> RtAudio)
> >> Utilities/Multithreading
> >> Demo/OSX
> >> Demo/Windows
> >> Demo/iOS
> >>
> >> Let me know if you have comments or suggestions!
> >>
> >> Ariel
> >>
> >> _______________________________________________
> >> Stk mailing list
> >> Stk at ccrma.stanford.edu
> >> http://ccrma-mail.stanford.edu/mailman/listinfo/stk
> >>
> >>
> >
> > _______________________________________________
> > Stk mailing list
> > Stk at ccrma.stanford.edu
> > http://ccrma-mail.stanford.edu/mailman/listinfo/stk
>
>
> _______________________________________________
> Stk mailing list
> Stk at ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/stk
>



-- 
Tristan Matthews
web: http://tristanswork.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ccrma-mail.stanford.edu/pipermail/stk/attachments/20131009/98c0b09a/attachment.html 


More information about the Stk mailing list