Сообщение Re[33]: The Big OOPs: Anatomy of a Thirty-five-year Mistake от 27.09.2025 8:03
Изменено 27.09.2025 8:08 rg45
Re[33]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>
ЕМ>Это таблица преобразования индекса в стандартный идентификатор (KSPROPERTY_AUDIO_LATENCY и т.п.). У меня подобных таблиц до черта.
Бездарно и говнокодисто. Хотя бы потому, что все свои идентификаторы ты прописываешь вручную. Т.е. корректность твоей реализации полностью лежит на человеческом факторе.
ЕМ>Ну попробуйте, например, это:
Удивишься, но пробовали. Поищи, какое у меня количество тем, посвящённых компайл-тайм каунтерам.
ЕМ>
ЕМ>#define PlaceKsId(Base,End) {Base##_##End, #End}
ЕМ>struct KsIdDesc {
ЕМ> unsigned int Id;
ЕМ> char const * IdName;
ЕМ>};
ЕМ>KsIdDesc const KsIdTable [] = {
ЕМ> PlaceKsId (KSPROPERTY_AUDIO, LATENCY),
ЕМ> PlaceKsId (KSPROPERTY_AUDIO, COPY_PROTECTION),
ЕМ> PlaceKsId (KSPROPERTY_AUDIO, CHANNEL_CONFIG),
ЕМ>...
ЕМ>};
ЕМ>ЕМ>Это таблица преобразования индекса в стандартный идентификатор (KSPROPERTY_AUDIO_LATENCY и т.п.). У меня подобных таблиц до черта.
Бездарно и говнокодисто. Хотя бы потому, что все свои идентификаторы ты прописываешь вручную. Т.е. корректность твоей реализации полностью лежит на человеческом факторе.
ЕМ>Ну попробуйте, например, это:
Удивишься, но пробовали. Поищи, какое у меня количество тем, посвящённых компайл-тайм каунтерам.
Re[33]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>
ЕМ>Это таблица преобразования индекса в стандартный идентификатор (KSPROPERTY_AUDIO_LATENCY и т.п.). У меня подобных таблиц до черта.
Бездарно и говнокодисто. Хотя бы потому, что все свои идентификаторы ты прописываешь вручную. Т.е. корректность твоей реализации полностью лежит на человеческом факторе.
ЕМ>Ну попробуйте, например, это:
Удивишься, но пробовали и делали. Поищи, какое у меня количество тем, посвящённых компайл-тайм каунтерам.
ЕМ>
ЕМ>#define PlaceKsId(Base,End) {Base##_##End, #End}
ЕМ>struct KsIdDesc {
ЕМ> unsigned int Id;
ЕМ> char const * IdName;
ЕМ>};
ЕМ>KsIdDesc const KsIdTable [] = {
ЕМ> PlaceKsId (KSPROPERTY_AUDIO, LATENCY),
ЕМ> PlaceKsId (KSPROPERTY_AUDIO, COPY_PROTECTION),
ЕМ> PlaceKsId (KSPROPERTY_AUDIO, CHANNEL_CONFIG),
ЕМ>...
ЕМ>};
ЕМ>ЕМ>Это таблица преобразования индекса в стандартный идентификатор (KSPROPERTY_AUDIO_LATENCY и т.п.). У меня подобных таблиц до черта.
Бездарно и говнокодисто. Хотя бы потому, что все свои идентификаторы ты прописываешь вручную. Т.е. корректность твоей реализации полностью лежит на человеческом факторе.
ЕМ>Ну попробуйте, например, это:
Удивишься, но пробовали и делали. Поищи, какое у меня количество тем, посвящённых компайл-тайм каунтерам.