Thanks for the help...this is all with MC 11 ver 248. This will be a long post.
I built a version of the plugin with ISCONFIGURABLE_NO set.
I uninstalled the plugin and deleted all "FLAC Encoder" keys in the LOCAL_MACHINE and CURRENT_USER tree.
I installed the plugin. It creates all of the correct keys in the LOCAL_MACHINE tree and is recognized by MC fine. No log is created during this process.
I select the menu Tools->Options->Encoders. Select CD Ripping. Select the FLAC plugin. Select OK. MC does not crash in the current 248 rev. It previously did. Here is the log...
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: Start
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: Plugins Activated
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: Set Delete Wave
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: Set Enable Norm
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: Set Enable Norm
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: NormLevel
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: Set NormLevel
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: UpdateData
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: Save Options
8:56:10 PM: Encoders: CPropertiesEncodingDlg::OnOK: Finish (15 ms)
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: Start
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: Plugins Activated
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: Set Delete Wave
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: Set Enable Norm
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: Set Enable Norm
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: NormLevel
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: Set NormLevel
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: UpdateData
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: Save Options
8:56:18 PM: Encoders: CPropertiesEncodingDlg::OnOK: Finish (16 ms)
OK. Since my plugin has a bunch of message boxes enabled, I note that the put_Settings and GetInfo functions have not been called at this point. I check the registry, and the "Ripping", "File Conversion", and "Recording" entries all seem to be fine.
However, I note there is not an entry in the Plugins tree, like there is with the other plugins. It looks like there ought to be entries for ...\Plugins\Encoders\FLAC Encoder\Ripping and ...\File Conversion and ...\Recording. Since MC hasn't called the put_Settings function, I can understand why there aren't yet.
So, since it hasn't crashed yet, and hasn't called the put_Settings function yet, I start a rip from a CD. It pulls the wav off the disc, then calls the put_Settings function with a blank entry, gets the default settings (all normal so far) but then calls the Options function (which seems to work fine since it pulls up the box, gets the quality and returns the right string). Since ISCONFIGURABLE_NO is set, that's probably wrong behavior.
It pulls the wav from the CD then acts like it converted (it doesn't). It doesn't crash though, so I check the registry again...no entry in the LOCAL_USER\...\Encoders tree for the FLAC Encoder and it's settings. Hmmm. I don't think that's right either. There's no log from that action either (I only have Encoder selected for logging). Anyway, it still hasn't crashed.
I'm not sure why the file wasn't converted if the m_Settings string was set correctly (it seemed to be from the message boxes). The plugin certainly didn't take long enough to convert, it must have bombed somewhere else (will keep checking).
Whew, my fingers are tired.