Tuesday, December 25, 2018

Audio App Programing For Fun And Freedom

Once upon a time Apple made great products, tools on the cutting edge of creativity. Not so much anymore.  Today's iPhones are similar to those of yesterday, just faster with better cameras. The laptops are dummying down and the Ipad is slow to catch up.  Since the death of Steve Jobs, Tim Cook's direction Apple has begun to focus primarily on content and for short term economic returns it makes sense.   In my personal opinion, however, Apple's Content branch bullying users into using their streaming services while suppressing user content teeters on violations of antitrust law.  I don't expect that this will change anytime soon, people will simply have to stop buying Apple products.  

The strong arm is exaggerated by iTunes and iCloud being the only authorized way to access and move the files on your phone.  The Music app and iBooks on the basis of copyright protections have progressively limited access to files by trapping them in a closed "SandBox" system.  It has always been difficult to migrate music off the remote device starting with the old iPods. Once the data was on the device it could not be removed with out a hack.  Now Apple is making it impossible to get files onto the music player presumably to force users into using their streaming service. I don't want access to Apple radio or genius playlists curated from their monolithic Record label buddies.  I don't want to listen to their prescribed commercial swill.   If I wanted streaming, I would be paying Spotify to steal from musicians for me.  Personally I record my own music.  I want to take that music and listen to it in a playlist while out and about test my files on different sound systems. Yes I want an auxilary output.  Quit fixing things that were not broken.  It's not a difficult concept to grasp.

With the introduction of Files, Apple opened a door to a possible improvement by using iCloud made useful by purchasing a subscription for more space.  The file management system should work through USB, its faster more secure... not going to happen.  Apple's "walled garden" is becoming an amusement park.  Even the act of recording music in GarageBand is an advertisement to purchase a new sample package.  Pay for your ticket ride the ride as the ride is becomes ever more uniform and homogenized.  The best path is probably to to buy ProTools with a massive Waves library.  Get a subscription to Adobe Creative Cloud and just get on with making high end studio quality productions, then buy your ad space on Facebook so that your art can be seen through their algorithm.  Surely the only conflict arises from trying to beat the system.  Personal success has no standing on the profits of the machine. You already paid for admission to be creative.  By using the machine, the machine uses you.  Downloading a bunch of stuff not only will clutter things up but it increases the risk of viruses and and what not.  All paths open doors for malicious code.  Piracy isn’t what it used to be.  Cracked software is in a by gone day.  Especially when so much is offered free to get you in the door now, but is anything really free?  Free steals your privacy sold to your ads.  Is anything risk free?  Using someone else's software means they own you.  Big Companies prey on this.  Monoliths of software steal and replicate lines of code originally written open source compiling giant collections of tools the basic user may never get around to using.  The giant economic model of printing money, selling digital copies at top dollar or worse: Subscriptions.  How many minds contributed to the development of that technology built upon the creativity of the many who have come before?   Ethically shouldn't the creator be rewarded for making something useful rather than the assimilation snowball of marketing and gate keeping.

For this and many other reasons, we wish to know the back doors.  We do not wish to be used by the tools. We seek the SDK.  -   and its all here:

https://developer.apple.com/documentation

Knowledge can convert a future of app consumerism and generic AI rearrangement of cookie cut samples into your own profit and freedom.  The new craft advancing technology will be interfacing multiple systems, utilizing strings of code like brushes in an illustration app.  Knowing is a matter of immersion, and of having some one walk you through the process.  The Open source programming multimedia and arts community is a small cult around the world.  Hackers, musicians, animators, gamers, they are those on the other side of the veil.

There is a world of Java shells for tricking the unfamiliar into communications which may seem impossible.  Converting the hard storage 8 bit programming of a NES cartridge and Atari game controllers on a 64bit iPhone,  MacOS, Windows, Android to GNU/Linux, UNIX, Arduino, Raspberry Pi, Xbox,  IP addresses, SSL, New neural pathways for porting the information to and from different devices, comprehending components usage of libraries of code.  Single run functions, objects, arrays, storyboards, library locations, endless variations breaking all the way down to hexadecimal and binary machine code and eventually to electrons flowing through switches, potentiometers, microchips. A quantum physicist might argue that technology eventually becomes spiritual...or not.   Soon we will need to interface with robots and automated cars. The future will become ever more modular for those in the know the rest will be consumers.  The only question is how deep do you want to go into what the foundation is built upon?

The open source environment can be daunting when considering what to download.  Where to click. Starting with navigating GitHub information overload. Are you ready to start using Terminal? The Rabbit hole is endless.  I don’t need 1 million flavors of ice cream, and I don’t for see myself building PC chips,  so how deep into the controls do you want to go.  Is this a means or an end?  Time and daily effort is required in this field, there is so much to know.  pursuing more information, watching online tutorials, reading documents and the technology keeps moving knowledge from under your feet.  If you begin telling yourself.  "If only I had this thing I would be able to create properly" and someone makes a reliable instance of that specific tool.  What is it worth?  How do I acquire that one single simple tool. A string of code like a hammer.  I wanted most of all to be able to build it for myself.

My initiation to multimedia programming was MAX/MSP/Jitter heavy.  Max allows a certain level of autonomy and a baseline for coding knowledge. It acts similar to reactor or a virtual hardware units with a visual signal flow.  Besides getting around Apple's ridiculous controls,  I wanted to make programs from laptop portable through the phone.  I had some familiarity with Xcode,  but knew nothing of the Swift IOS programming language. I had minimally experimented with object oriented code with Supercolider, Javascript, C in Cocoa.  HTML and CSS gave some advantage but not much. So practically starting form scratch, I started going through tutorials like Coding with Chris and The Swift Guy.

While seeking ways to port Max projects into IOS  I found the MobMuPlatform and PDParty which allow you to run PD music files

PD is by Miller Puckett’s simplified and free version of MaxMSP. 

Pdparty vs mobmuplat

MobMu by Daniel Iglesia requires you to build your user interface with in the MobMu Editor
http://danieliglesia.com/mobmuplat/doc/index.htm

PDParty
http://danomatika.com/code/pdparty/guide
PDParty seems ports the user interface directly from you PD Project.

This leads to different ways of thinking of your project at the deepest end both methods utilize Libpd  http://libpd.cc/ which allows porting of PD into mobile devices.  This is a library you would want to put into your own swift projects if you were to get serious about making your own app. Rather than running your PD projects though a 3rd party app.

https://github.com/libpd/libpd/wiki/Working-with-libpd-in-Xcode





TO BE CONTINUED...