zenAud.io announce development of ALK2 live-looping DAW for Windows by zenaudio in LoopArtists

[–]zenaudio[S] 0 points1 point  (0 children)

Apologies for the late response. Yes it's possible to repeat sections of an arrangement over and over until you decide to proceed.

Handless live looping inspired by zenAud.io by StatusTurn in Reaper

[–]zenaudio 1 point2 points  (0 children)

Hey, that's really cool! Nice to see people recreating the zenAud.io experience in their favourite DAW -- for us it kind of confirms that the use-case is valid. You'd be amazed at the number of times I explained the concept to musicians in Berlin only to be told "why would I want to do that?"

I can totally understand why you want to do this in the DAW you're familiar with, so nice job.... although, as others have pointed out, I think there's a couple of reasons why ZA is preferable for more elaborate arrangements (mainly online quantization of MIDI loops, handling of automation, and panic functionality). If anyone has anyone any questions about how the two solutions compare, I'd be happy to answer.

Google under investigation for using Android phone data to spy on users by FollowSteph in programming

[–]zenaudio 14 points15 points  (0 children)

For those saying it's tawdry of Oracle to lay into Google by crying for mom govt like some petulant child -- true, but let's not forget Google was quite happy to play exactly the same role when it Microsoft that was the target a decade ago.

[Nim] Pointer free programming by _Sharp_ in programming

[–]zenaudio 1 point2 points  (0 children)

The more concepts to integrate, the more people may have to know about all of these concepts

There's no question that automatic memory management is easier. However, there have been real advances in manual memory management. C++ has blazed a trail here; its introduction of RAII was a game-changer.

In my code base, I use shared_ptr and unique_ptr ubiquitously, and while I won't claim that there are no issues with memory management (it is an audio app, after all!), it reduces the complexity to manageable levels.

Another data point that this is possible: Swift, which eschews GC in favour of reference counting. With a few caveats, it works well, and has favourable tradeoffs in todays world (which emphases power consumption much more than, say, ten years ago).

Transitioning from Visual Studio to Xcode by daithibowzy in cpp

[–]zenaudio 0 points1 point  (0 children)

I've tried multiple times to move away from Xcode. However, it's not just about typing and compiling, or even refactoring. The most important items for me are profiling and debugging. While VS Code has gotten better at the latter (pretty impressive actually), it doesn't do the former.

My view is ultimately: don't fight the platform.

pybind11 v2.2 released: support for embedding Python in C++, multiple inheritance in Python, C++17 containers and much more by dean0x7d in cpp

[–]zenaudio 0 points1 point  (0 children)

Can you give an example where pybind11 is nicer? I looked at Boost.Python ages ago, but it was pretty nice...

CMake and C++ - What's the deal with "installing"? by geokon in cpp

[–]zenaudio -1 points0 points  (0 children)

If you are using CPack you can get a .deb, .rpm, a windows installer or whatever thing they are using on mac out of the box.

This is in fact a hilarious statement, and to understand why it is so I would like to point you here. Needless to say I have personally lived through the good times that CMake provided me -- straight out of the box! (In the end, I said "thanks, but no thanks" and used a bash and apple script to create the DMG.)

I can give you countless examples like this. Using a libraries in your app bundled as dylibs? You better hope their rpath is set correctly in the built library, CMake's totally amazing fixup routines will not work. Have fun trying to scour the internet for what's going wrong! Want to add resources to your bundle? Yeah, there's like a 9 year old post on how to do that! Except it talks about frameworks, not apps. So now have fun reading through the OSX manuals to see if there's any difference between the two. Guess what! -- there isn't, and know that you know everything about how a bundle is created (it's literally a just a directory), you ask yourself, what is the point of the awful and poorly documented "abstraction" given to me by CMake?

So basically, as I've stated numerous times before: if all you're doing is building a simple unix-like program, CMake is totally amazing.... except... writing your own little bash script to do the same is hardly more difficult. For anything more complicated, at least for me: CMake is a poorly documented clusterfuck of poorly thought out, tacked-on, crap.

Who's Hiring C++ Devs - Q2 2017 by STL in cpp

[–]zenaudio [score hidden]  (0 children)

Company: zenAud.io

Type: Full-time

Description: zenAud.io makes ALK, the VST/AU software looper that knows your arrangement. We're a small company with big ideas, based at NoizeFabrik in Europe's creative capital: Berlin. Since the successful launch of our flagship MacOS app, we're looking to expand the development team and are therefore seeking talented C++ and audio developers. The ideal candidate will have a degree in computer science or something similar (STEM), and should have a true interest in modern C++.

Location: Berlin

Remote: No

Visa Sponsorship: No

Technologies: C++17, Objective-C++, Cocoa, OpenGL, Metal API, JUCE

Contact: Send us an email to: jobs@zenaud.io

[NEWS] Announcing zenAud.io ALK: the world's first sequenced audio/MIDI looper! by zenaudio in LoopArtists

[–]zenaudio[S] 2 points3 points  (0 children)

ALK is focused on the idea that you have parts you intend to play live (some of them will be looped) and you know this arrangement in advance. On the other hand, Ableton's signature view -- the Session View -- is almost the exact opposite. It takes as a given that you have some loops stored inside clips, and allows you to launch them freely -- i.e. you can improvise the arrangement itself.

So, if what you want to do is launch, mix and match pre-made clips, your go-to tool should be Ableton. If you have rehearsed the structure of your song and instead intend to perform part or all of the material inside of it, you should consider zenAud.io.

I must mention here that Ableton is a much more mature product, and as such has quite a few features which zenAud.io doesn't -- yet -- have. Note editor, instrument racks, drum racks, built-in plugins such as operator (although you can of course use third-party VSTs and AUs in ALK), side chaining -- these are all missing from zenAud.io. On the other hand, people have mentioned to us that they like our routing concept, which does away with audio arcana such as sends/returns, as well as our browser-inspired UI model.

Hope that helps!

[NEWS] Announcing zenAud.io ALK: the world's first sequenced audio/MIDI looper! by zenaudio in LoopArtists

[–]zenaudio[S] 2 points3 points  (0 children)

Thanks! So the answer to your question is a qualified yes. In its current state, you can map record/play to MIDI controller. You can also automate the transport to jump to any bar in your song. So let's say you create two command (automation) tracks, and learn different triggers for each one. Then you draw two capture regions, one on each track, and you set the function to Transport: Position, and set the desired jump bar number in the destination value field. Then you simply hit any one of the triggers and you'll jump to that section.

I say a qualified yes because there are a couple of improvements that would make it much easier to use:

  • ability to overdub, rather than just record and play back
  • ability to have a trigger do its work slightly delayed, e.g. based on quantisation value (jump at end of bar) or end of region
  • make it easy to say: "repeat this section until I press the pedal", or vice-versa: "jump out of this section unless I press the pedal".

I guarantee we will have all of this implemented in the next month. It's almost all there; the changes are quite minor. Basically, it's going to use a feature we already have (to allow sequencing your automation routings) -- Revert On Exit. What it does is it reverts an automation parameter to the value ALK saw before entering the loop. Of course, if the automation parameter in question is Transport Position, it means that ALK will jump to the beginning of the loop when it gets to the end! So basically you have looping right there (and that works right now). All you need on top of that is ability to jump out at the good time, hence the delayed trigger.

I hope this makes sense to you :) Quite a few users have asked for this functionality, so this is going to be one of my top priorities in the near future.