Focusrite Saffire MixControl for Scarlett 18i8
I was baffled trying to figure out the MixControl, but it's actually quite amazing. Using Mixes as an intermediate bus point (is that right?) is awesome.
SOME INSTRUCTIONS
Define Your Mixes
You have four mixes that you can use:
- Left: 1, 3, 5 7
- Right ones cannot be configured separately: 2, 4, 6, 8
- You can rename the mix
At the top you're configuring which inputs go into the Mix.
Note that the stereo button "aggregates the 2 mono channels together into a single stereo"
- Analog Ins
- from Front Panel: 1 and 2, 3 and 4
- from Back Panel: 5 and 6, 7 and 8
- Daw Inputs: 1 to 7 (L) and 2-8 (R)
These are your DAW output destinations, exactly as labeled.
- SPDIF and ADAT
Mix Output
- You can use the Mix Output dropdown to define where the Mix outputs
- Note for Headphone Outputs on Front Panel
- Line H/P L and R are called "Output 3" and "Output 4" in the Routing Panel
- Anlg Out 5 and 6 are called "Output 5" and "Output 6" in the Routing Panel
Routing Panel
- You can use the routing panel to route individual inputs OR mixes to each output.
- Monitor Outputs 1 and 2 are in back
- The ones that show a little headphone are the front panel headphone mixes: 1-2 and 3-4
Dan Says
- Name your mixes
- Do not route inputs to outputs directly: instead, use mixes
- Do not use the Routing Panel: use the checkboxes in the Mix Output to define the routing
- Note: using the checkboxes in the Mix Output requires setting both L and R channels of the Mix Output, so you have to check all boxes separately.
Also see the Manual Online
Posted on October 23rd, 2015
Postach.io Embeds
Postachio can embed most of what I need. All the embed codes are here, and note you can use an iFrame directly.
SOME EXAMPLES
Test This: Workflowy
This is a simple iframe, width is 100%, height is 700, frameborder is 0. I'm using http instead of https for the src URL. Still not sure how to escape the HTML so I can show it to you. Using the entities for less than and greater than doesn't work.
Soundcloud
Gist
YouTube
Test This
Test This: Hiding
Using simple HTML comments to hide stuff works well!
Posted on October 19th, 2015
Hollow Circle with CoreDrawing and Swift
Thanks to Paintcode and a bit of thinking on my part, I was able to put my one-method-to-rule-them-all together. It draws a variable-size donut with a variable angle. The drawShadow bit is still in progress.
Posted on October 18th, 2015
Importing Swift to Objective-C, Multiple Modules
This goes by Module (i.e., target), not by project (ignore the confusion on the Internet).
So in my MIDI Designer project, which includes several targets, we change the generated name for all the modules, stored in the Objective-C Generated Interface Header Name property, from
$(SWIFT_MODULE_NAME)-Swift.h
to
MidiDesignerAllTargets-Swift.h
Then in each Objective-C class, you can import directly in the .m like this:
#import "MidiDesignerAllTargets-Swift.h"
Make sure to keep the name of your global import handy!
Dynamic Instantiation of Swift Classes and Interface Builder
Most of the time, it's enough for a Swift class to inherit NSObject to be able to be used from Objective-C.
For dynamic instantiation and, more importantly, use in Interface Builder, you need to specify the class' name explicitly using @objc. For example:
@objc(SliderV2)
class SliderV2: Slider {
Additional Notes
You can't see the header at all? It's not being generated? This answer has your back. Basically you need to:
- Define a Product Module Name (no spaces) for the Project
- Set Defines Module must be set to Yes in Build Settings, under Packaging
In Xcode 8, the Objective-C Generated Interface Header Name will be under Swift Compiler, General. Same same.
Posted on October 16th, 2015
Password Assistant on OSX
Well, this is one terrible way to import from Blogger to Postach.io... definitely not ideal.
Posted on September 15th, 2015
Scheme for Pragma Mark Organization in Objective-C
Here's an article that I wrote in 2012 for myself...
If you want to be like all the smart people you read about on the Internet, you'll keep your files really well-organized. If you have such long files that you need to use pragma marks (which some people, including Jeff Atwood, I recall, think means that your files are too long) you have a basic organizational problem. Now the solution to this is, of course, "bust the file up into sections and stick to those." But what would those sections be? So I'm usually going by functionality, but then I inevitably lose it and end up with no organization at all, or (worse) using it in half the file.
The reason that I failed is that I cannot use a scheme that requires you to know what each method does. That's very time-consuming and, in a sense, redundant with the messages you see passed in the code.
So here's my new scheme, which is very easy to use because it doesn't require you to think. I've been trying this for a while and it's great.
#pragma mark - class methods
#pragma mark - initializers, dealloc, and lifecycle methods
// like didMoveToSuperview
#pragma mark - property accessors
#pragma mark - public overrides
#pragma mark - public property accessor overrides
#pragma mark - public methods
#pragma mark - protocol A methods
#pragma mark - protocol B methods
#pragma mark - dependent-object lifecycle
// like viewDidLoad, viewDidAppear, etc., NOT like hideView
#pragma mark - Methods not in public interface
#pragma mark - Not Implemented
Posted on September 14th, 2012