motofan logo
2 страниц V < 1 2 >        
> 

Sound Recorder и другие программы от @SEM*, Для желающих протестировать и использовать выложил программы

@SEM*
сообщение 24.11.2024, 16:23 Закрепленное сообщение!


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Приветствую всех!
Для желающих протестировать и использовать решил выложить свою программу для записи звука на Windows - Sound Recorder.

Прикрепленное изображение

Решил вспомнить молодость и развить один проект. Изначально он возник из лабораторной работы по дисциплине "Обработка звука"..
С тех пор программа внешне и внутренне значительно изменилась.

Вот некоторые возможности:

- запись звука с выбранного устройства записи (используется библиотека Windows MME);
- выбор глубины звука (8, 16, 24 бита);
- выбор частоты дискретизации (от 8000 до 192000 кГц);
- выбор количества каналов (моно, стерео);
- визуализация графика звука в реальном времени при записи/воспроизведении;
- визуализация Peak meter при записи и воспроизведении;
- визуализация VU meter при записи и воспроизведении;
- визуализация графика звука после его записи;
- отображение клиппинга/перегрузки на графике звука;
- изменение громкости записанного звука;
- обрезка звука (начало, конец);
- возможность сохранения и загрузки ранее записанного звука.

Программа разрабатывалась для максимальной совместимости, поддерживается Windows XP и выше.
Рекомендуемое количество оперативной памяти - от 512 мб (до сохранения на диск файл пишется напрямую в оперативную память, чем её больше, тем больше доступно времени для записи).
Во время записи не производятся никакие манипуляции со звуком (изменение громкости, фильтры, обработка). Настроили параметры записи, включили запись - просто сохраняются данные, получаемые от выбранного устройства записи с выбранными параметрами (устройство сразу запускается с этими настройками, программа никак не преобразует звук).

Из возможных глюков:

- возможны небольшие смещения надписей и некорректный масштаб отображения окна (даже не знаю почему так, версии RC (Release Candidate) должны корректно отображаться). Как вариант, в случае проблемы - пробуйте различные режимы совместимости при запуске программы (настраивается в контекстном меню начиная с Windows 7);
- eсли у некорректно отображаются некоторые элементы интерфейса во время записи/воспроизведения - РЕШЕНИЕ.

Огромная просьба - кто установил и у кого запустилось (или не запустилось), напишите свой отзыв, впечатления и пожелания. Это мотивирует дальше заниматься проектом.

Ссылка на актуальную версию программы (v3.11.21 Alpha 3)

Репозиторий: Проект на GitHub



P.S. Внутри архива внизу данного поста (файл "Example_short_16Bit_44KHz_Stereo.zip") есть аудио файл для проверки в приложении. У кого не работает запись звука (нет микрофона или других устройств записи), можете проверить функционал с помощью этого файла (добавить файл в приложении через меню "Файл -> Открыть").

Сообщение отредактировал @SEM* - 9.2.2026, 17:28
Прикрепленный файл Example_short_16Bit_44KHz_Stereo.zip   ( 1.56 мегабайт ) Кол-во скачиваний: 1774
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 8.12.2024, 12:45


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



А вот, такую проблему заметил, которая иногда повторяется, но иногда нет.

Прикрепленное изображение

При старте записи в стерео оба канала рапортуют о перегрузке, спустя секунду она исчезает. Баг проявляется не всегда и возможно связан с Wine.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 8.12.2024, 12:55


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Цитата
Да нормально вроде. Пик перегрузки просто быстро пролетает, а индикация сбрасывается не сразу. Так ведь и должно быть, чтобы пользователь мог заметить перегрузки и она её индикация не сбросилась моментально, как только пик "пролетел".
Ах да, всё верно. У меня отображается звук побуферно, один буфер длиной 50мс, а задержка визуализации перегрузки = 5 буферов (250 мс), ставил и больше и меньше, 250 (0.25 секунды) понравилось больше всего.
Цитата
При старте записи в стерео оба канала рапортуют о перегрузке, спустя секунду она исчезает. Баг проявляется не всегда и возможно связан с Wine.
при запуске программы индикаторы перегрузки обнулены (то есть, не отображаются), а вот при повторной записи они не обнуляются (сохраняется последнее значение с предыдущей записи), поэтому несколько начальных кадров (до 5) могут отображать перегрузку. Я ещё вчера об этом подумал, но не придал этому значения, раз ты это заметил, значит допишу в код чтобы при начале записи и воспроизведения перегрузка обнулялась... Посмотрел ещё раз скрин, понял, что у тебя прям с первой записи появляется перегрузка, тут скорее проблема входного тракта (при начале записи могут быть короткие щелчки, что и является перегрузкой). Когда останавливаешь запись, видны вначале записи всплески звука? У тебя помню на старых скриншотах вообще график куда-то вверх уходил (он в любом случае не должен выходить за границы области рисования, так как значения звука не выходят за диапазон -327628..+32767)

P.S. Для тех кто интересуется звуком. Я вчера узнал что существуют две разновидности (хотя, наверное больше) визуализации при записи звука:
1) VU Meter (Volume Unit Meter) - отображает среднее значение громкости звука на заданном промежутке времени. Это привычные многим стрелочные индикаторы уровня записи/воспроизведения. Ввиду большой инерционности движения стрелки, показывают средний уровень громкости, игнорируя пики.
2) Peak Meter - фиксирует только пики звука, более полезный для записи цифрового звука, в котором значения звука могут достигать пределов измерений (и, соответственно, вызывать клиппинг, при котором теряется качество). Вот в моей программе реализован как раз Peak Meter.

Сообщение отредактировал @SEM* - 8.12.2024, 13:16
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 8.12.2024, 20:08


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



Цитата(@SEM* @ Сегодня, 19:55)
* Когда останавливаешь запись, видны вначале записи всплески звука?

Да, возможно это как раз из-за этого. Возможно аудиотракт в Wine со щелчком инициализируется. Второй или третий раз уже нормально.
Прикрепленный файл 1.wav   ( 258.44 килобайт ) Кол-во скачиваний: 744
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 9.12.2024, 0:37


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Цитата(EXL @ 8.12.2024, 23:08) *

Да, возможно это как раз из-за этого. Возможно аудиотракт в Wine со щелчком инициализируется. Второй или третий раз уже нормально.
Я проанализировал твою запись. Да, первые 16 буферов (50*16=800 мс=0.8 секунды) какой шум во входящем тракте (поэтому график вниз упал). Видимо Wine в это время инициализируется, а во входящий тракт пишет минимальное значение для типа short int (-32768). Ну, в принципе не критично, можно начало звука обрезать, благо программа это позволяет, ну или сделать пару тестовых записей, а потом уже выполнять основную (если со 2-3 раза всё нормально стартует). На Windows 10, само собой, такой проблемы нет smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
pahan_tver
сообщение 9.12.2024, 7:22


Мастер Ритма
*****

Группа: Почётные мотофаны
Сообщений: 483
Регистрация: 15.6.2004
Пользователь №: 6 222
Модель телефона: Moto Z4 XT1980-3
Прошивка: 10 amazon alexa

Рейтинг: 400



Цитата(@SEM* @ Вчера, 15:55)
* P.S. Для тех кто интересуется звуком. Я вчера узнал что существуют две разновидности (хотя, наверное больше) визуализации при записи звука:
1) VU Meter (Volume Unit Meter)
2) Peak Meter

Помнится такое по скинам винампа, там были визуализации в том числе когда только на пике палки подпрыгивали, должно быть это пикометр

@SEM* : эхх, давно я Winamp не использовал smile.gif Надо будет установить посмотреть, может парочку идей подсмотрю..

Сообщение отредактировал @SEM* - 10.12.2024, 0:55
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 9.12.2024, 10:05


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.3.9 Beta 1

Доработанная и протестированная версия, рекомендуется к скачиванию.

Главным изменением в версии 3.3.x является добавление индикаторов перегрузки для каждого канала:
- жёлтый индикатор - достижение значений звука в 70% от максимума (не критично, но стоит обратить внимание);
- оранжевый индикатор - достижение значений звука в 90% от максимума (необходимо срочно уменьшить уровень записи, возможны перегрузки);
- красный индикатор - достижение значений звука в 99% от максимума (перегрузка звука, потеря качества на пиках громкости, клиппинг).

Краткая инструкция по записи звука - при записи, в целом, является нормальным периодическое мигание жёлтого (первого слева) индикатора. Если же он почти постоянно горит + периодически мигает оранжевый индикатор (второй слева) - повод уменьшить уровень записи, так как звук уже достигает значений выше 90% от максимума, а это очень близко к перегрузке и клиппингу. Ну а если во время записи мигнул или загорелся красный (третий слева) индикатор, то значит всё очень плохо, так как у вас была перегрузка звука, соответственно потери качества на пиках, чего нужно избегать.

Список изменений:
- добавлены индикаторы перегрузки (жёлтый, оранжевый, красный) для МОНО и СТЕРЕО режимов и для 8, 16, 24 битного звука;
- добавлен новый пункт меню "Вид -> Отображать перегрузку" для включения/выключения визуализации перегрузки;
- добавлен новый пункт меню "Вид -> Детальная визуализация" для включения/выключения более детализированной визуализации звука во время записи/воспроизведения, если у вас нет проблем с производительностью и пропусками при записи звука, то рекомендуется оставить включенным (опция для старых ПК и неоптимизированных эмуляторов);
- перерисована иконка приложения (вроде разобрался как и с помощью чего это можно делать, возможно в будущем что-то другое нарисую).

Хеш-суммы архива:

CRC32: 870CE38D
MD5: ECE854F15330A906E625149AF9CC35ED
SHA-1: 4EDD0C6BEDB43812706E86F4E47BC3DA46010A2A

Сообщение отредактировал @SEM* - 9.12.2024, 10:06
Прикрепленный файл sound_rec_V3.3.9_Beta1_Unicode.zip   ( 123.27 килобайт ) Кол-во скачиваний: 684
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 10.12.2024, 19:04


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
Проверил, в Wine вроде нормально работает.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 13.12.2024, 14:37


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.4.8 Alpha 2

Тестовая версия, некоторые функции будут дорабатываться (но то что уже реализовано должно работать нормально)

Главным изменением в версиях 3.4.x является переработка внешнего вида, в частности, верхнего меню.

Список изменений:

- Пункт меню "Функции" заменён на "Правка" (не знаю насколько логично, но думаю так будет лучше);
- перенёс функцию изменения громкости записанного аудио в меню "Правка" (теперь открывается отдельное окно);
- там же теперь пункт "Клиппирование" (он скорее бесполезен, но не подымается рука окончательно его выпилить);
- убрал с главного окна настройки связанные с изменением громкости (кнопка, выбор уровня громкости);
- увеличил размер окна для вывода отладочной информации (ведь свободного места стало больше);
- добавил возможность изменения громкости для 24 битного звука (раньше было только для 8 и 16 битного звука);
- исправил визуализацию перегрузки для стерео звука;
- переписал и оптимизировал часть кода (в частности, информационные и предупреждающие сообщения, убрана двойная остановка записи и т.д.)

В планах добавить возможность для изменения громкости и клиппирования для 24 битного звука (сейчас только для 8 и 16 битного звука).

Скачиваем, тестируем, пишем отзывы smile.gif

Хеш-суммы архива:

CRC32: 60A9D827
MD5: 16BB31D72846F50CE57B14612CAFEFF8
SHA-1: B047D4ED043D35CC7C643317DF65AAA4A1D1B913

Сообщение отредактировал @SEM* - 14.12.2024, 22:59
Прикрепленный файл sound_rec_v3.4.8_Alpha2_Unicode.zip   ( 137.22 килобайт ) Кол-во скачиваний: 697
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 16.12.2024, 17:30


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.4.9 Beta 1

Доработанная и протестированная версия, рекомендуется к скачиванию.

Главным изменением в версиях 3.4.x является переработка внешнего вида, в частности, верхнего меню.

Список изменений:

- Пункт меню "Функции" заменён на "Правка" (не знаю насколько логично, но думаю так будет лучше);
- перенёс функцию изменения громкости записанного аудио в меню "Правка" (теперь открывается отдельное окно);
- там же теперь пункт "Клиппирование" (он скорее бесполезен, но не подымается рука окончательно его выпилить);
- убрал с главного окна настройки связанные с изменением громкости (кнопка, выбор уровня громкости);
- увеличил размер окна для вывода отладочной информации (ведь свободного места стало больше);
- добавил возможность изменения громкости для 24 битного звука (раньше было только для 8 и 16 битного звука);
- добавил возможность клиппирования для 24 битного звука (раньше было только для 8 и 16 битного звука);
- исправил визуализацию перегрузки для стерео звука;
- переписал и оптимизировал часть кода (в частности, информационные и предупреждающие сообщения, убрана двойная остановка записи и т.д.)

Скачиваем, пользуемся, тестируем smile.gif

Хеш-суммы архива:

CRC32: 1233AEAD
MD5: 45BE825D4BC2BC5CFF391FB04B356D85
SHA-1: 9C81DCBE5AB69C47E50CB12F53FC91E83927915B

Сообщение отредактировал @SEM* - 16.12.2024, 17:32
Прикрепленный файл sound_rec_v3.4.9_Beta1_Unicode.zip   ( 137.52 килобайт ) Кол-во скачиваний: 683
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 18.1.2025, 13:30


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Приветствую всех! На днях нашёл у себя на старом e-mail свою игру из 2013 года. К сожалению, исходный код игры безвозвратно утерян, так что доработка её очень маловероятна, хотя когда-то в планах было много задач. Игра разрабатывалась как мультиплатформенная c помощью библиотек OpenGL и GLUT (кроме Windows ещё удалось портировать на платформу Mac).
В общем, кому интересно, качаем, тестируем smile.gif Всё максимально сырое и недоделанное, это был своего рода полигон для изучения программирования 3D приложений.
Совместимость - Windows 7 и новее.

Цель игры - прыгать мячиком на движущиеся острова, благодаря чему игрок зарабатывает баллы. Выполнение прыжка - навести курсор на один из островов и нажать левую кнопку мышки. Промахнулся - потерял жизнь.

Прочие элементы управления (только на английской раскладке клавиатуре без зажатого CAPS LOCK):
- вывод информации о программе - клавиша "H";
- пауза в игре - клавиша "\" (у меня на старой клавиатуре она была над клавишей ENTER);
- возобновление игры после паузы - клавиша ENTER;
- перезапуск игры после проигрыша - клавиша ENTER;
- включение/выключение освещения - клавиша "L";
- изменение размера игрового поля - клавиши "+" и "-";
- изменение отображения - клавиши "2" и "8";
- принудительно изменение уровня в игре - клавиши "<" и ">" (между клавишей "M" и RIGHT SHIFT).

Хеш-суммы архива с игрой:
CRC32: C2A99A10
MD5: 542C2E01819C80C84B2027AA9ED98978
SHA-1: 81740412F31EFB9FB84D67538C43626126E1ECD5

Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Сообщение отредактировал @SEM* - 18.1.2025, 13:32
Прикрепленный файл Game_2013.zip   ( 264.3 килобайт ) Кол-во скачиваний: 640
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 23.1.2025, 9:42


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
По "sound_rec Версия 3.4.9 Beta 1" в окружении Wine -- заметил, что если запускать программу "в фоне", то бишь запустить и быстро переключиться на другое окно ещё до того как программа полностью запустилась, чёрнота снова появляется.

Прикрепленное изображение

Фикс этой проблемы как-то зависит от фокуса окна?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 23.1.2025, 9:48


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
Концепция и идея игрушки Jumping Ball v0.9.3 Alpha 3 прикольная smile.gif

Под Wine работает. Вот только непонятно понятно почему при промахе и потере жизни есть небольшое подтормаживание? Так и задумывалось?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 28.1.2025, 19:25


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Цитата(EXL @ 23.1.2025, 12:42) *

@SEM*,
По "sound_rec Версия 3.4.9 Beta 1" в окружении Wine -- заметил, что если запускать программу "в фоне", то бишь запустить и быстро переключиться на другое окно ещё до того как программа полностью запустилась, чёрнота снова появляется.

Фикс этой проблемы как-то зависит от фокуса окна?

Это, скорее всего, особенности библиотек Wine. Я для устранения этого эффекта при инициализации (первичное создание окна) выбирал его принудительную перерисовку (по сути, в Windows эта перерисовка выполняется и так, а в Wine нет, таким образом в текущей версии для совместимости с Wine эта перерисовка выполняется дважды). Так что тут, скорее всего, уже ничего не поделаешь, костыли они такие костыли.. Как говорил классик в одном из видео: "Ну в этой ситуации мы просто наше, это самое, мы уже, здесь наши полномочия все, окончены." laugh.gif
P.S. Вообще эти GroupBox c какого-то перепуга не перерисовываются автоматический (их перерисовка внутри дополнительной функции), а точнее ихний фон (помню что это было связано со свойствами главного окна). Но если поменять свойства главного окна, тогда что-то другое будет криво работать (уже точно не помню что). В общем, в идеале, программу надо основательно переписывать. Как минимум обработчик сообщений от звукового устройства должен быть в отдельном потоке, а не в обработчике главного окна (из-за этого если во время записи изменять размеры окна, то могут быть пропуски в записи или воспроизведении звука). Также было бы неплохо область вывода графика звука запихнуть в отдельное окно, как у многих других программ (например, GoldWave), это бы тоже много упростило. Но это уже переписывать минимум пол кода программы, а в идеале делать всё с нуля. А с учётом такого количества скачиваний это уже не имеет смысла, даже при наличии свободного времени.

Сообщение отредактировал @SEM* - 28.1.2025, 19:26
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 17.4.2025, 18:22


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.5.3 Alpha 1

Тестовая версия, некоторые функции будут дорабатываться

Главным изменением в версиях 3.5.x является добавления отображения уровня звука (VU meter).

Список изменений:

- добавил отображение уровня звука для МОНО сигнала при записи и воспроизведении;
- отображение уровня звука МОНО сигнала для 8, 16 и 24 битного звука;
- визуализация уровня звука для МОНО сигнала тремя разными цветами (зелёный - уровень в пределах нормы, жёлтый - близко к границе перегрузки, оранжевый - возможны перегрузки).

Что собственно от вас требуется.
Во-первых, оценить саму визуализацию (я ничего лучше не придумал как разместить VU meter вверху справа внутри области визуализации), стиль визуализации (цвета, размер точек и их количество).
Во-вторых, насколько визуализация корректна (для этого нужно сравнить визуализацию в сравнении с другой подобной программой во время записи или воспроизведения звука). Как вариант - субъективное восприятие (лично мне по субъективным ощущениям эти настройки визуализации VU meter понравились, возможно, у вас иначе, поделитесь своим мнением).

Пока не начал реализовывать визуализацию для СТЕРЕО сигнала (там работы гораздо больше) хотелось бы прочитать ваши пожелания и замечания.

Хеш-суммы архива:

CRC32: 3F5B5272
MD5: 63B542127196CE203453B60697808998
SHA-1: 600248E5FD5DD11C7EDB2B39F86ABE1AFD992D37

Сообщение отредактировал @SEM* - 17.4.2025, 18:26
Прикрепленный файл sound_rec_v3.5.3_Alpha1_Unicode.zip   ( 139.01 килобайт ) Кол-во скачиваний: 1249
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 19.4.2025, 13:27


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.5.10 Alpha 3

Тестовая версия, некоторые функции будут дорабатываться

Главным изменением в версиях 3.5.x является добавления отображения уровня звука (VU meter).

Список изменений:

- добавил отображение уровня звука для МОНО и СТЕРЕО сигнала при записи и воспроизведении;
- отображение уровня звука МОНО и СТЕРЕО сигнала для 8, 16 и 24 битного звука;
- визуализация уровня звука для МОНО и СТЕРЕО сигнала тремя разными цветами (зелёный - уровень в пределах нормы, жёлтый - близко к границе перегрузки, оранжевый - возможны перегрузки);
- переделал стиль визуализации для значков перегрузки и уровня звука (теперь выглядит более компактно);
- добавил в главное меню включение/выключение отображение индикатора уровня звука (меню "Вид->Отображать VU meter");
- немного изменил стиль шкалы воспроизведения при проигрывании аудиофайла.

Что собственно от вас требуется.
Во-первых, оценить саму визуализацию (я ничего лучше не придумал как разместить VU meter вверху справа внутри области визуализации), стиль визуализации (цвета, размер точек и их количество).
Во-вторых, насколько визуализация корректна (для этого нужно сравнить визуализацию в сравнении с другой подобной программой во время записи или воспроизведения звука). Как вариант - субъективное восприятие (лично мне по субъективным ощущениям эти настройки визуализации VU meter понравились, возможно, у вас иначе, поделитесь своим мнением).
В-третьих, прошу отписаться если были замечены какие-то недоработки или глюки при работе приложения.

Хеш-суммы архива:
CRC32: 1C34DAA1
MD5: B4715528413A44D8202A4A46F73E0C76
SHA-1: DD4FF915E926DFF664E619568285F763EDB7D012
Прикрепленный файл sound_rec_v3.5.10_Alpha3_Unicode.zip   ( 136.14 килобайт ) Кол-во скачиваний: 1252
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 7.6.2025, 0:04


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.6.5 Alpha 3

Тестовая версия, некоторые функции будут дорабатываться

Главным изменением в версиях 3.6.x является добавление отдельного потока для записи звука. Это должно помочь устранить пропуски звука во время записи, если пользователь изменяет размеры окна.

Протестировал на домашнем ноутбуке - пропуски звука при записи действительно пропали, масштабирование и перетаскивание окна теперь не влияет на запись звука.
Протестировал на Windows XP на виртуальной машине - к сожалению пропуски звука иногда проявляются, хотя их интервал и уменьшился.

Список изменений:

- теперь запись производится в отдельном потоке;
- переработан код для записи звука, созданы отдельная функция для обработки сообщений от буфера записи, отдельная функция для потока, внутри которого производится запись;
- добавил возможность вывода информации о библиотеках и драйверах OpenGL, используемых в приложении (с помощью OpenGL выводится график звука и некоторые другие визуальные элементы); окно открывается через "МЕНЮ->Справка->OpenGL информация";
- оптимизация кода (удаление лишних переменных, переименование некоторых переменных для лучшей наглядности), переработка кода.

Хеш-суммы архива:
CRC32: 0A9161B2
MD5: 435BFCDC25995A120961F9728A11BE2E
SHA-1: B263C5A63F8E313DEBCB9FD4F2BDB2D749913006

Сообщение отредактировал @SEM* - 8.6.2025, 10:16
Прикрепленный файл sound_rec_v3.6.5_Alpha3_Unicode.zip   ( 219.76 килобайт ) Кол-во скачиваний: 1268
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 8.6.2025, 11:35


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Если у вас некорректно отображаются некоторые элементы интерфейса во время записи/воспроизведения

Например, у меня при тестировании программы на Windows XP в эмуляторе программа отображала значки пиков/перегрузки и VU meter слишком маленького размера (размер отдельных индикаторов 1 пиксель вместо 10 пикселей), или в Windows 10 прогресс бар воспроизведения рисуется слишком тонкой толщины (1 пиксель вместо 8 пикселей).

Экспериментальным методом выяснил, что причина в библиотеках OpenGL, некоторые реализации не поддерживают изменения ширины линий (функция "glLineWidth") и/или размера точек (функция "glPointSize"). Казалось бы, базовые функции, которые были чуть ли не с первой реализации OpenGL, но, как показала практика, они не всегда работают.
У меня в распоряжении оказалась очень старая версия файла "OPENGL32.DLL" версии 4.0.1379.1, которая успешно работает как на Windows 10, так и на Windows XP. Необходимо распаковать файл с архива в папку программы, это помогает устранить проблемы визуализации элементов интерфейса.
Как альтернативный вариант, нашёл старую версию библиотек Mesa для Windows ("MesaForWindows-13.0.6"), которая работает как в Windows XP, так и в Windows 10. Просто распакуйте файлы из архива в одну папку с программой.

Как проверить, используется ли новая библиотека приложением

Перед копированием файлов соответствующей библиотеки запустите программу. Зайдите в меню "Справка - OpenGL Информация" и посмотрите там информацию.
Скопируйте файлы одной из библиотек в папку с программой. Запустите программу. Снова зайдите в меню "Справка - OpenGL Информация" и посмотрите там информацию. Если информация поменялась (должна появится актуальная информация о используемой библиотеке OpenGL), значит вы всё сделали правильно и программа использует новую библиотеку.
[close]


Внимание! Оба варианта альтернативных библиотек OpenGL работают медленнее чем предустановленная версия в вашей системе. Во время записи и воспроизведения это не критично, а вот после окончании записи/воспроизведения (когда визуализируется весь записанный файл) это может быть заметно. Рекомендуется использовать один из вариантов библиотек только в случаях некорректного отображения элементов интерфейса!

Внизу этого сообщения прикреплю обе версии библиотек. Используйте только в случае проблем и только одну из версий. Также даю ссылку на сайт, где скачивал старые библиотеки Mesa для Windows - downloads.fdossena.com

Хеш-суммы архива "OPENGL32DLL_V4.0.1379.1.zip":
CRC32: BD01389E
MD5: 82E45AD964207339F96257E8317227DD
SHA-1: 7069A2CEA7CDDA216C22A30F545C02F96F8B48D9

Хеш-суммы архива "MesaForWindows-13.0.6.zip":
CRC32: 23C95DEA
MD5: 79EF22BB54F0C35EE48E591A27436AEB
SHA-1: 9FCCCFFC8A095313A5C8A9DF4D511406987934FA


Сообщение отредактировал @SEM* - 8.6.2025, 11:59
Прикрепленный файл OPENGL32DLL_V4.0.1379.1.zip   ( 280.33 килобайт ) Кол-во скачиваний: 1100
Прикрепленный файл MesaForWindows-13.0.6.zip   ( 6.22 мегабайт ) Кол-во скачиваний: 1136
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 8.6.2025, 23:36


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.6.9 Alpha 3

Тестовая версия, некоторые функции необходимо дополнительно тестировать.

Главным изменением в версиях 3.6.x является добавление отдельного потока для записи звука. Это должно помочь устранить пропуски звука во время записи, если пользователь изменяет размеры окна.

Протестировал на домашнем ноутбуке - пропуски звука при записи действительно пропали, масштабирование и перетаскивание окна теперь не влияет на запись звука.
Протестировал на Windows XP на виртуальной машине - к сожалению пропуски звука иногда проявляются, хотя их интервал и уменьшился.

Список изменений:

- теперь запись производится в отдельном потоке;
- переработан код для записи звука, созданы отдельная функция для обработки сообщений от буфера записи, отдельная функция для потока, внутри которого производится запись;
- добавил возможность вывода информации о библиотеках и драйверах OpenGL, используемых в приложении (с помощью OpenGL выводится график звука и некоторые другие визуальные элементы); окно открывается через "МЕНЮ->Справка->OpenGL информация";
- оптимизация кода (удаление лишних переменных, переименование некоторых переменных для лучшей наглядности), переработка кода;
- переписал и протестировал часть кода, ответственного за работу потока записи звука - изменил логику обработки ошибок при запуске и остановке устройства записи (теперь все ошибки собираются и выводятся в одном сообщении уже после остановки потока);
- во время тестирования выявил и устранил аварийное завершение программы (возникало при повторной попытке запустить запись в случае отсутствия устройств записи) - теперь перед началом записи программа делает сначала тестовое открытие и закрытие устройства, а лишь затем запускает запись в новом потоке;
- добавил проверку, возможно ли запустить устройство записи с заданными параметрами глубины и частоты дискретизации звука.


Хеш-суммы архива:
CRC32: 965FEB5E
MD5: 56A14EC03FC10D01FC69B81617FAD9A8
SHA-1: 441E4F6CE111AC54B4BDB32EA5299A0292ECF52D

Сообщение отредактировал @SEM* - 8.6.2025, 23:39
Прикрепленный файл sound_rec_v3.6.9_Alpha3_Unicode.zip   ( 220.92 килобайт ) Кол-во скачиваний: 1052
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 11.6.2025, 17:04


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.7.3 Alpha 3

Тестовая версия, некоторые функции необходимо дополнительно тестировать.

Главным изменением в версиях 3.7.x является возможность записи звука в Hi-Res качестве - 96 кГц и 192 кГц (при условии, что устройства записи и воспроизведения поддерживают такие частоты дискретизации).

Список изменений:

- добавил возможность записи аудио с частотой дискретизации 96 кГц, протестировал работоспособность этого формата в разных условиях (в сочетании с моно и стерео, в сочетании с разной глубиной звука, запись, воспроизведение, сохранение, загрузка);
- добавил возможность записи аудио с частотой дискретизации 192 кГц, протестировал работоспособность этого формата в разных условиях (в сочетании с моно и стерео, в сочетании с разной глубиной звука, запись, воспроизведение, сохранение, загрузка);
- добавил возможность записи, воспроизведения, сохранения и загрузки аудиофайлов размером более 2 ГБ (ограничение на размер занимаемой оперативной памяти для одного процесса в для WIN32 приложениях); теперь для 32-битных систем ограничение на размер составляет 3ГБ (после редактирования системного файла "boot.ini"), а для 64-битных систем (Windows Vista и выше) максимальный размер теперь ограничен ~3.5-3.8 ГБ (система уже настроена, ничего редактировать не нужно); в настройках компиляции программы добавил флаг "LARGEADDRESSAWARE";
- мелкие правки и исправления.

Проверил работу программы как для 96 кГц, так и для 192 кГц. На моём ноутбуке всё работает быстро и без каких либо зависаний изображения или звука. При записи и воспроизведении затраты на отрисовку одного буфера в пределах 1-9 миллисекунд в зависимости от драйверов (в теории, всё будет работать без проблем с временем отрисовки до 30-45 миллисекунд), так что есть ещё большой запас прочности, всё должно работать стабильно даже на старых ПК (хотя понятие "старый" у всех относительно). Само собой, на высоких значениях дискретизации затрачивается больше ресурсов (больший размер файла при той же продолжительности аудиозаписи, значительно больше времени на отрисовку всего файла), но и качество записи будет получше. В повседневных задачах это не особо нужно, но кому-то, возможно, и пригодится.

Хеш-суммы архива:
CRC32: 93EAB3ED
MD5: 3B902AC50CFDDBB2D6331F210A693143
SHA-1: EE34F08DB77CD19ABF85802634E77D49AA93279B

Сообщение отредактировал @SEM* - 11.6.2025, 17:12
Прикрепленный файл sound_rec_v3.7.3_Alpha3_Unicode.zip   ( 221 килобайт ) Кол-во скачиваний: 678
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 26.6.2025, 23:31


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.8.21 Alpha 3

Главным изменением в версиях 3.8.x является добавление быстрой визуализации графика записанной или загруженной с файла аудиозаписи. Сейчас при изменении размеров окна отрисовка графика звука стала намного быстрее и не зависит от длины аудио. Также добавлено отображение перегрузки/клиппинга для уже записанного/загруженного аудио(в виде вертикальных красных линий на графике звука).

Список изменений:

- Добавление быстрой визуализации для записанного/загруженного аудио (также оставил возможность выбора старого типа визуализации через меню "Вид").
- Добавление визуализации перегрузки/клиппинга для записанного аудио (можно включить или выключить через меню "Вид").
- Изменение цветов графика звука - теперь звуковая волна рисуется зелёным цветом (для МОНО записи) и зелёным + тёмно-синим (для СТЕРЕО записи). Также изменил цвет прогрессбара в режиме воспроизведения на светло-фиолетовый.
- Переработка главного меню. В меню "Вид" добавил три пункта для режима ожидания - "Быстрая визуализация", "Детальная визуализация" и "Отображать клиппинг".
- Теперь в меню "Вид" пункты разделены на две категории - "Запись/Воспроизведение" (настройка визуализации в режиме записи и воспроизведения) и "График звука" (настройка визуализации в режиме ожидания [при отображении всего графика звука]).

Хеш-суммы архива:
CRC32: E037F343
MD5: A890A0BCFA857176F415639FA56E7722
SHA-1: 465959B631C2596C5188E58BE26C3D5E8A3DF7A5

Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение

Сообщение отредактировал @SEM* - 26.6.2025, 23:56
Прикрепленный файл sound_rec_v3.8.21_Alpha3_Unicode.zip   ( 234.91 килобайт ) Кол-во скачиваний: 67
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 29.9.2025, 11:36


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.9.11 Alpha 3

Главным изменением в версиях 3.9.x является добавление отдельного потока для воспроизведения звука. Это устранило пропуски звука во время воспроизведения когда пользователь взаимодействует с окном программы (изменяет размеры окна, меняет настройки, пролистывает список).

Список изменений:
- теперь воспроизведение реализовано в отдельном потоке;
- переработан код для воспроизведения звука, созданы отдельная функция обработки сообщений от устройства воспроизведения, функция для потока воспроизведения;
- полная переработка кода для запуска и остановки воспроизведения;
- частичная переработка кода для запуска и остановки записи;
- устранил ошибку, возникающую при закрытии программы во время воспроизведения;
- добавил окно предупреждения при закрытии программы во время записи;
- устранил мерцание таймера во время записи/воспроизведения (требует доп. тестирования);
- оптимизация и переработка кода программы, устранение ошибок.

Хеш-суммы архива:
CRC32: 7C2E6CF9
MD5: 9F45C89E8869A34554D0A715A12DAA2F
SHA-1: E2120E21C0C4E915827480A2AD9F3456238B0BF6


Прикрепленный файл sound_rec_v3.9.11_Alpha3_Unicode.zip   ( 243.68 килобайт ) Кол-во скачиваний: 68
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 3.10.2025, 10:07


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.9.14 Alpha 3

Главным изменением в версиях 3.9.x является добавление отдельного потока для воспроизведения звука. Это устранило пропуски звука во время воспроизведения когда пользователь взаимодействует с окном программы (изменяет размеры окна, меняет настройки, пролистывает список).

Список изменений:
- теперь воспроизведение реализовано в отдельном потоке;
- переработан код для воспроизведения звука, созданы отдельная функция обработки сообщений от устройства воспроизведения, функция для потока воспроизведения;
- полная переработка кода для запуска и остановки воспроизведения;
- полная переработка кода для запуска и остановки записи (нажатие кнопки СТОП, обработка ошибок, добавлены события остановки записи)
- устранил ошибку, возникающую при закрытии программы во время воспроизведения;
- добавил окно предупреждения при закрытии программы во время записи;
- устранил мерцание таймера во время записи/воспроизведения (требует доп. тестирования);
- оптимизация и переработка кода программы, устранение ошибок.

Хеш-суммы архива:
CRC32: 84DEB197
MD5: F43BA7E53C6096164F00B5794882C541
SHA-1: 4D551BA48A7EC9B8B3649F9B2BBFBFF68762F3C2

Сообщение отредактировал @SEM* - 3.10.2025, 10:10
Прикрепленный файл sound_rec_v3.9.14_Alpha3_Unicode.zip   ( 243.98 килобайт ) Кол-во скачиваний: 73
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 12.10.2025, 18:25


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.10.10 Alpha 3

Главным изменением в версиях 3.10.x является добавление режима предварительной визуализации для устройства записи. Включение флажка "Предварительная визуализация" позволяет отображать график звука без фактической записи в память. Может быть полезно как при настройке устройства записи (проверка выбранного устройства и параметров записи) так и в случаях, когда интересно просто наблюдать график звука без фактической записи.

Список изменений:
- добавил пункт "Предварительная визуализация" внутри области "Устройство записи";
- старт записи звука возможен как при включенной опции "Предварительная визуализация" так и без неё, запись начинается моментально;
- блокировка и выключение пункта "Предварительная визуализация" при старте записи;
- блокировка настроек параметров записи (выбор устройства, частота дискретизации, глубина звука, кол. каналов) при включении "Предварительной визуализации" или старте записи звука;
- добавил окно предупреждения при включении пункта "Предварительная визуализация" в случаях, когда имеются не сохранённые данные;
- добавил значок "REC" в левой нижней части окна (левее счётчика времени), который отображается во время записи (чтобы было понятно, когда только визуализируем звук, а когда ещё и записываем в память).

Хеш-суммы архива:
CRC32: E5D1B7AB
MD5: 42234D83CEA3E31C37ED22B46322BCA2
SHA-1: 67C75214B01165B4933C868D518555150C35F2D4

Сообщение отредактировал @SEM* - 12.10.2025, 18:33
Прикрепленный файл sound_rec_v3.10.10_Alpha3_Unicode.zip   ( 249.66 килобайт ) Кол-во скачиваний: 44
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 6.1.2026, 11:50


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.11.21 Alpha 3

Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение

В версии 3.11 добавил Peak meter, который теперь отображается вместо индикаторов перегрузки. Максимальный уровень сигнала отображается в виде линейной шкалы в пределах 0 - 99.99%, а всё что выше (клиппинг) отображается в виде красного индикатора перегрузки, расположенного немного правее этой шкалы.

Подробный список изменений

1) Визуализация Peak meter в виде единой шкалы от 0 до 100%.

2) На шкалу Peak meter добавлен индикатор удержания локального максимума - Peak-Hold. Время удержания максимума - 2 секунды.

3) Визуализация перегрузки (клиппинга) в виде отдельного индикатора:
- время задержки отображения последнего клиппинга - 2 секунды;
- первые 0.25 секунды после последнего клиппинга дополнительно отображается белая точка в центре индикатора.

4) Полностью переписан код расчёта показаний и визуализации VU meter:
- вместо 15 отдельных индикаторов реализована единая шкала от 0 до 100%;
- фактические показания стали примерно в 2 раза меньше чем было раньше (это более корректная и правильная формула, показания сверены с другим ПО);
- цвет шкалы VU meter стал немного темнее, для лучшего отличия от шкалы Peak meter.

5) Добавлена разметка шкалы для Peak meter и VU meter (каждые 5, 10, 50%).

6) Переименован пункт "Индикаторы перегрузки" в меню "Вид". Теперь он называется "Peak meter".

7) Переработана визуализация линий и точек внутри области OpenGL для улучшения совместимости (ранее в некоторых реализациях OpenGL линии и точки не могли рисоваться с шириной/размером более чем 1 пиксель).

8) Переработка и оптимизация кода, устранение ошибок.
[close]


Хеш-суммы архива:
CRC32: 324C0E74
MD5: 3F501E62AB58555197FA515DA59AFBB1
SHA-1: C74A1CF943731166D3B75138CDB25DDBD579AE1F

Прикрепленный файл sound_rec_v3.11.21_Alpha3_Unicode.zip   ( 246.66 килобайт ) Кол-во скачиваний: 33
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 9.2.2026, 17:23


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Привёл проект немного в порядок, убрал лишние файлы и оставил только необходимое. Наконец-то разобрался и выложил проект на GitHub.

Что нового:
GitHub Repository: Теперь весь исходный код доступен публично. История коммитов, ветки и документация — всё в одном месте. Ссылка на проект.
README: Добавлена подробная документация и инструкция по сборке на русском и английском языках.
Обновление до версии 3.12.16: список изменений в файле changelog.txt.
Сборка: Добавлена поддержка CMake и скрипт GenerateProject.bat — проект в один клик собирается под актуальные версии Visual Studio.

Шапка темы обновлена, добавлена ссылка на репозиторий.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 9.2.2026, 17:35


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
Теперь у тебя появился мотиватор разобраться с CI по типу GitHub Actions, чтобы при коммите на стороне сервера генерировалась сборка и EXE-файл автоматические добавлялся в релизы.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 9.2.2026, 17:41


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
Ах да, я тут переехал на современные дисплеи, где очень высокий DPI и программа на них выглядит очень мелко при масштабе 200% где каждый пиксель превращается в 4 пикселя.

Прикрепленное изображение Прикрепленное изображение

На дворе 2026 год и подобные дисплеи уже давно норма в отличие от тех что используют 96 как стандартное значение DPI. В общем, это одна из самых частых проблем самописного UI, использование фреймворка вроде Qt решило бы эту проблему.

ps.gif Диалоги и прочие контроллы WinAPI по типу меню рендерятся на современном дисплее нормально, Microsoft постарался с адаптацией старых технологий.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 9.2.2026, 17:43


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
Чтобы понять как примерно программа без поддержки HiDPI выглядит на моём дисплее, измени в браузере масштаб моих скриншотов в отдельных окнах со 100% до 50%
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 9.2.2026, 18:53


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Цитата(EXL @ 9.2.2026, 20:43) *

@SEM*,
Чтобы понять как примерно программа без поддержки HiDPI выглядит на моём дисплее, измени в браузере масштаб моих скриншотов в отдельных окнах со 100% до 50%
Напиши разрешение дисплея и диагональ чтобы я хоть немного понимал о чём речь. У меня сейчас дисплей с FULL HD при диагонали 14 дюймов, что в сумме даёт такую же плотность пикселей как и на 4K 28 дюймов. Вот под такую плотность пикселей я и писал. Кстати, твои скриншоты смотрятся на моём дисплее так как и должны (один в один с размером элементов в моей программе). Может лучше скинешь скриншот всего дисплея (можно, например, сделать окно программы полноэкранным) чтобы я понимал насколько мелким выглядит интерфейс на твоём дисплее.
И ещё одно. Я тут пока оптимизировал код и пилил всё под CMake немного разобрался с масштабированием элементов окна, так как раньше оно у меня масштабировалось корректно (у меня на Windows 11 стоял масштаб 150%), но при этом кнопки и шрифты выглядели размытыми. Поэтому нашёл настройку в Visual Studio которая игнорирует встроенное масштабирование Windows и выводит всё попиксельно. Благодаря этому теперь шрифты и элементы выглядят корректно, но на больших мониторах с высоким разрешением может быть всё мелкое. Если что, вот эта опция - "Инструменты манифеста"-"Вход и выход"-"Поддержка DPI" - "Поддержка высокого DPI". Но, как объяснил ChatGPT, там есть ещё 2 возможных варианта. Один как раз и масштабирует окно и его элементы согласно настройкам Windows (вроде для Windows 7 и новее), а вот второй более продвинутый и не занимается простым масштабирование, а именно вручную обрабатывает изменение размера окна и элементов, но это работает вроде только начиная с Windows 8. Поэтому тут, скорее всего, или максимальная совместимость или корректное масштабирование. Ну а вообще, если согласен потестировать, то можно эту тему развить.

Сообщение отредактировал @SEM* - 9.2.2026, 18:56
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 9.2.2026, 19:06


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Цитата(EXL @ 9.2.2026, 20:35) *

@SEM*,
Теперь у тебя появился мотиватор разобраться с CI по типу GitHub Actions, чтобы при коммите на стороне сервера генерировалась сборка и EXE-файл автоматические добавлялся в релизы.

"чтобы при коммите на стороне сервера генерировалась сборка и EXE-файл" - что значит "генерировалась сборка"? Генерировался проект под среду разработки? Или сборка это что-то другое? У меня там же в проекте на GitHub есть файл GenerateProject.bat, при запуске которого запускается скрипт, который запускает CMake, который генерирует проект под Visual Studio. Для этого достаточно иметь ПК на Windiws c наличием Visual Studio (благо сейчас она бесплатна). Ах да, там же надо найти и установить компонент "v141_xp" для поддержки запуска на Windiws XP. В остальном всё просто - скачал, распаковал, запустил GenerateProject.bat и получил готовый проект для Visual Studio в подпапке Build.
"разобраться с CI по типу GitHub Actions" - вообще первый раз слышу, но звучит интересно. Я, если честно, только недавно, начал разбираться с Git и GitHub, причем сразу на практике smile.gif

Сообщение отредактировал @SEM* - 9.2.2026, 19:09
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 9.2.2026, 19:48


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



EXL, создал 2 версии программы с разными настройками. Попробуй запустить, что поменялось?

Прикрепленный файл sound_rec_V3.12.16_Alpha1_Unicode.zip   ( 1.24 мегабайт ) Кол-во скачиваний: 34

Хеш-суммы архива:
CRC32: 508CBA95
MD5: 2B4A0DFE65421CB7F14BECFD894E08E9
SHA-1: 402F5C3DCD8BC4E6B5AB7478F1B024146A8758D8

No_DPI - масштабирует элементы окна корректно, но сами элементы могут быть размытые.
High_DPI - ничего не масштабирует (рисует всё пиксель в пиксель, на больших мониторах всё слишком мелкое), но зато шрифты и элементы окна не размытые. Я пользуюсь таким вариантом.





Сообщение отредактировал @SEM* - 9.2.2026, 19:55
Прикрепленный файл sound_rec_V3.12.16_Alpha1_Unicode.zip   ( 1.24 мегабайт ) Кол-во скачиваний: 34
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 9.2.2026, 19:53


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
Вот пример отображения на фоне программы на Qt где с HiDPI всё нормально.

Прикрепленное изображение Прикрепленное изображение

И фотография. Шрифт внутри формы настолько мелкий что фактически не читаем.

2880x1800 | 2.8K, 14, ~250 DPI, 200% увеличение
3120x2080 | 3.1K, 14, ~260 DPI, 200% увеличение

FullHD на 14 это сегодня не особо HiDPI матрица, потому что даже 2160x1440 (пресловутый 2K) на 14 это всего-лишь ~190 DPI и оно требует где-то 150% масштаб, а не 200% как на матрицах выше.

---

Насчёт CI (GitHub Actions) эти штуки просто собирают программу на сервере и потом помещают исп. файлы в pre-release'ы после каждого коммита и не требуют установки какой-либо Visual Studio размером под 20 GiB.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 9.2.2026, 20:07


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
На High_DPI-версии программы в HiDPI умеет только MenuBar с менюшками, диалоги вроде About и заголовок окна. То есть всё то что использует WinAPI по канонам. Контент самого окна, который рисуется ручками не имеет поддержки HiDPI и выглядит слишком мелко, таким трудно пользоваться.

Прикрепленное изображение Прикрепленное изображение

На No_DPI-версии программы масштаб нормальный, но всё пикселизировано, будто ClearType не применён, скорее всего это та самая "мыльность".
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 9.2.2026, 20:09


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Цитата
Насчёт CI (GitHub Actions) эти штуки просто собирают программу на сервере и потом помещают исп. файлы в pre-release'ы после каждого коммита и не требуют установки какой-либо Visual Studio размером под 20 GiB.
Изучу данный вопрос, спасибо.
Но нюанс в том что пару вечеров разбирался как работает CMake (создаёт из набора файлов исходного кода и файлов ресурсов готовый проект для выбранной среды разработки, конкретно мой CMake собирает проект под Visual Studio). Так вот - с этим CMake не всё так просто. Мне было недостаточно просто создавать проект, пришлось вписывать в CMake кучу настроек (например, поддержка Windows XP, статическая линковка для улучшения совместимости, добавление статических библиотек, разрешить приложению использовать более 2 ГБ RAM). Эти все настройки прописываются в настройках проектах, а не в файлах исходного кода и без этого проект не скомпилируется и не запустится (а даже если и запустится, то не будет работать как надо). Поэтому особенно интересно как это реализовано в GitHub.

Цитата
На No_DPI-версии программы масштаб нормальный, но всё пикселизировано, будто ClearType не применён, скорее всего это та самая "мыльность".
В этом режиме, походу, Windows берёт окно и просто масштабирует (при масштабе 150% увеличивает окно и элементы в 1.5 раза, при 200% - в 2 раза). Логично что шрифты и линии становятся не чёткики. Просто я надеялся что при масштабе 200% эта рыхлость не проявится (всё же умножаем на целое число, а не дробное). Но, по факту, хоть 150, хоть 200% - и так и так появляется размытость и рыхлость. Надо покопать в сторону корректного масштаба.

Сообщение отредактировал @SEM* - 9.2.2026, 20:14
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
cherr
сообщение 10.2.2026, 2:45


Ветеран
*****

Группа: Пользователи
Сообщений: 398
Регистрация: 10.7.2005
Из: Белгород
Пользователь №: 45 847
Модель телефона: iPhone 15 Pro
Прошивка: iOS 26.2


Настроение:
А руки-то помнят...



Рейтинг: 270



Посмотрел репозиторий, немного советов, как сделать лучше и для изучения другими пользователями, и для дальнейшей поддержки проекта smile.gif
  • переименовать hComboBox1,hBut1 и прочие дефолтные названия в понятные и говорящие о том, что это за UI элемент
  • код UI попытаться вынести в отдельный файл - SRP тут совсем не помешает
  • BOOL/bool, AktivPlayBufer/struct_rec_data - придти к единому стилю как типов переменных, так и их именованию
  • поработать над вложенностью - или ранний return, или вынос логики в отдельные функции. Сейчас довольно сложно читать
  • есть одинаковый код-копипаст для левого и правого канала, тоже можно унифицировать

Ещё не понял, для чего отдельный скрипт генерации файла проекта. Его же можно сразу в репозиторий положить?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 13.2.2026, 20:02


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



cherr,
Спасибо за информацию. Просто коду уже много лет. Там так всё напутано, что переписывать очень сложно. Периодически оптимизирую и переписываю код и комментарии для больше удобочитаемости, но это процесс почти вечен laugh.gif И да, есть идея разбить проект на большее количество файлов, но это надо основательно постараться.

EXL,
Переписал код программы, добавил масштабирование окна. Полностью переписал координаты всех элементов окна (если просто применять масштаб, то они были слишком крупные), но сохранил общую структуру. Теперь на Windows 10+ при смене масштабирования в системе оно применяется к окну программы на лету. Для более старых Windows масштабирование тоже применяется (вычисляется по DPI окна/монитора/системы), но реализация зависит от версии Windows. Для Windows XP надо перезагружать ПК, на Windows Vista/7/8 - перезапускать программу, на Windows 8.1 - применяется без перезапуска, на Windows 10+ применяется даже при перетаскивании окна между мониторами).

P.S. В общем, качаем, запускаем, проверяем. Я запускал на Windows 11 и Windows XP. Масштабирование работает и там и там (для Windows XP после смены DPI надо выполнить перезагрузку). Особенно интересно как это будет работать на Windows Vista/7 (именно начиная с Vista в настройках системы появилось масштабирование элементов интерфейса на лету, без перезагрузки). Надо очень сильно постараться, но поставить образ Vista на виртуальную машину для тестов, ибо если на ней всё запустится, то будет работать везде smile.gif


Хеш-суммы архива:
CRC32: 13956CBE
MD5: 45412BA50714BAC8FD3253346E3ECC35
SHA-1: 1E1A11446C2FCDE25C659C22DC8107FAB1ED5BB4

Сообщение отредактировал @SEM* - 13.2.2026, 22:07
Прикрепленный файл sound_rec_V3.13.11_Alpha1_Unicode.zip   ( 647.25 килобайт ) Кол-во скачиваний: 45
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.2.2026, 20:46


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,

Прикрепленное изображение

Да, теперь всё чётко, после запуска на HiDPI экране с 200% сразу адекватный размер всех элементов внутри окна. И мыла с радугой не видно.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 13.2.2026, 22:05


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



EXL,
меня ещё интересует, насколько удобным является текущий масштаб элементов окна? Я вроде подобрал максимально оптимальный (не слишком мелкий, но и не слишком крупный, особенно на большом масштабе). Ещё интересно, насколько программа успешно запускается под Wine и работает ли там масштабирование.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.2.2026, 22:52


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 219
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4672



@SEM*,
Нормально, все элементы отчётливо видны и приближены к стандартным размерам.
А вот под Wine пока у меня возможности проверить нет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@SEM*
сообщение 17.2.2026, 17:46


Куратор темы

(M)LuckyMan
*******

Группа: Пользователи
Сообщений: 1 521
Регистрация: 14.3.2007
Из: Earth
Пользователь №: 126 920

Рейтинг: 338



Версия 3.13.12 (Alpha 2)

Главным изменением в версиях 3.13.x является изменение масштаба для интерфейса программы, который зависит от настроек DPI для окна, монитора или системы. Начиная с Windows 10 масштабирование применяется сразу, без необходимости перезапуска программы.

Что нового:
  • Интерфейс автоматически подстраивается под DPI окна/монитора/системы.
  • Переписан код для отрисовки и масштабирования элементов интерфейса.
  • Поддержка масштабирования начиная с Windows XP.
Репозиторий:
Проект на GitHub
(инструкция по сборке в файле README.md)

Ссылки на скачивание:
Скачать exe с GitHub

Хеш-суммы файла:
CRC32: 9742070A
MD5: 3E36915C0113DD42AE92476FA2FBACE4
SHA-1: 4E00F94D3ADC41C5FDD5AEBD9D8FDEA9EDA32EC1


Сообщение отредактировал @SEM* - 17.2.2026, 17:49
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sound Recorder и другие программы от @SEM*, Для желающих протестировать и использовать выложил программы · Компьютеры, операционные системы, софт и железо · Forum
 

2 страниц V < 1 2 >
Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 8.6.2026, 2:52

Форум живёт: