@CaseySJ, first off allow me to congratulate you on yet another great and (by the page count) popular build!
It was by coincidence that I stumbled upon this thread, and actually found something very useful... You see, for the last week or so I've been researching the creation of custom layouts for AppleALC, and what do I find deep within the pages of this wonderful thread? an AppleALC guide! lol. I've read a few such guides, some older some newer, including the one you linked to, but they weren't as clear and/or well formed as yours, so congrats on accomplishing that task as well. I'm following your guide to create custom layouts for ALC 897 found on 2 of my MSI boards, none of the existing IDs seem to address all 4 outputs. I'm also trying to get a Creative Audigy FX card working, since it uses a Realtek ALC898 chip. So I'm reading through the guide a few times before getting started, and the following questions came up:
1. For byte EF, you explained bit E's functions starting with number 1 (speakers), however your example is using 0 (which is the default value from the codec dump). What is the value of 0? Is there a particular reason for not changing the value to 1 (for speakers), 2 (for headphones) etc? My Pin Default string for green line out is same as yours: 10 40 01 01, I had changed E to 1 (10 40 11 00), but then saw you still had it as 0.
2. When changing location (part 2) for green line out and pink rear microphone to 0 (to denote built-in), should the corresponding headphone node and front microphone nodes be changed to 0 as well? The reasoning behind the thought/question is that they are linked and will be grouped together anyway.
3. You mention having to change the value of item f (connection type) to 0 for the pink rear microphone. Again, does the same change have to be made for the front pink microphone jack/complex? Also (this one's mostly for the sake of knowledge and completion), why the change to 0/unknown? I remember reading in one of the guides that it had to do with getting noise cancelation working properly, but the language wasn't too clear; just curious on that one
Thanks for all the help, as always...