0 Members and 1 Guest are viewing this topic.
высота палки[i] := значение полосы[i] / значение матрицы максимума[i]
procedure SP_CalculateBarConfig(const Theme: TTheme; var BarConfig: TSP_BarConfig);var i, maxSP, totalSP: integer; stepSP: single;begin if BarConfig.BarCount <> Theme.SPBarCount then begin with BarConfig do begin BarCount:= Theme.SPBarCount;// единичный отступ 15%// нужен для того чтобы "БАСЫ" отображались максимально точно Offset:=round( BarCount * 0.15 ); BarCount:=Theme.SPBarCount; maxSP:=Length(vSP_MATRIX)-1;// длина vSP_MATRIX = 207 if BarCount<50 then maxSP:= Length(vSP_MATRIX) - trunc( Length(vSP_MATRIX) * 0.05 ); if BarCount<30 then maxSP:= Length(vSP_MATRIX) - trunc( Length(vSP_MATRIX) * 0.1 ); if BarCount<15 then maxSP:= Length(vSP_MATRIX) - trunc( Length(vSP_MATRIX) * 0.2 ); Step:=0; // Рассчет шага repeat totalSP:=Offset; stepSP:=1; for i:=1 to BarCount-Offset do begin stepSP:= stepSP + Step; totalSP:= totalSP + round( stepSP ); end; Step:=Step + 0.01; until totalSP>=maxSP; Step:=Step - 0.01; Step:=abs(Step); end; // end with end; // end ifend;
TSP_BarConfig = record BarCount: integer; // количество отображаемых полос Offset: integer; // единичный отступ Step: single; // шаг end;
procedure SP_CalculateSpectrum(const Theme: TTheme; var BarConfig: TSP_BarConfig; const DATA: TSP_SingleArray; var OUTData: TSP_SingleArray);var i,z,k: integer; stepSP, hmax: single;begin with BarConfig do begin z:=0; k:=0; for z:=0 to Offset-1 do begin // единичный отступ OUTData[k]:=DATA[z]; inc(k); end; z:=Offset-1; stepSP:=1; repeat hmax:=0; stepSP:=stepSP+Step; for i:=z+1 to z+round(stepSP) do begin // ищем максимум из диапазона заданного шагом hmax:=MAX(DATA[i],hmax); end; // записываем результат в OUTData OUTData[k]:=hmax; inc(k); z:=z+round(stepSP); until k>=BarCount; end;end;
добавлен OpenThermalSpectrumLazarus
Win8x64
к сожалению нет технической возможности проверитьа первая нормально работает на win8 ?
и еще вопрос. Сам AIMP 64 битный?
Есть проблема: на Win8x64 не запускается визуалка =) АИМП просто вылетает.
на протестируй, скомпилировал первый под Delphi
====================================================================================================Exception Report - 2014.02.23 20:36:22====================================================================================================Program: AIMP3.exe [3.5.5]OS Version: Windows 8.1 Enterprise (6.2.9200)Account Info: Soolo / SOOLO-PCProgram up time: 00:00:29Windows up time: 07:54:22Screen: 1280 x 800, 32 bit, 96 ppiMemory: 2293,90 / 4061,30 MB (Free / Total)----------------------------------------------------------------------------------------------------Module: AIMP3.dllClass: EAccessViolationMessage: Access violation at address 01F76E09 in module 'AIMP3.dll'. Read of address 00000000----------------------------------------------------------------------------------------------------(00015E09){AIMP3.dll } [01F76E09] System.UTF8ToUnicodeString(0003CF4E){ntdll.dll } [7734DF4E] Unknown function at RtlRaiseStatus(0003CDB6){ntdll.dll } [7734DDB6] KiUserExceptionDispatcher(00015E96){AIMP3.dll } [01F76E96] System.UTF8ToString(002BE468){AIMP3.dll } [0221F468] Vcl.Forms.TApplication.HandleException(000FE910){AIMP3.dll } [0205F910] System.Classes.StdWndProc(00006691){USER32.dll } [75067691] CallNextHookEx(00007BA5){USER32.dll } [75068BA5] Unknown function at FindWindowA(00007463){USER32.dll } [75068463] Unknown function at CallNextHookEx(00008C3B){USER32.dll } [75069C3B] DispatchMessageW----------------------------------------------------------------------------------------------------C:\Program Files (x86)\AIMP3\AIMP3.dll - 3.5.5.1340C:\Program Files (x86)\AIMP3\AIMP3.exe - 3.5.5.1340C:\Program Files (x86)\AIMP3\AIMP3lib.dll - 3.5.5.1340C:\Program Files (x86)\AIMP3\bass.dll - 2.4.10.21C:\Program Files (x86)\AIMP3\libsoxr.dll - UnknownC:\Program Files (x86)\AIMP3\Modules\aimp_infobar.dll - 3.5.5.1340C:\Program Files (x86)\AIMP3\Modules\aimp_libvorbis.dll - UnknownC:\Program Files (x86)\AIMP3\Modules\aimp_mediakeys.dll - 3.5.5.1340C:\Program Files (x86)\AIMP3\Modules\aimp_scheduler.dll - 3.5.5.1340C:\Program Files (x86)\AIMP3\Modules\aimp_update.dll - 3.5.5.1340C:\Program Files (x86)\AIMP3\Modules\basscd.dll - 2.4.5.3C:\Program Files (x86)\AIMP3\Modules\lame_enc.dll - UnknownC:\Program Files (x86)\AIMP3\Modules\libFLAC.dll - UnknownC:\Program Files (x86)\AIMP3\Modules\MACDll.dll - UnknownC:\Program Files (x86)\AIMP3\Modules\wavpackdll.dll - 4.60.0.1C:\Program Files (x86)\AIMP3\Plugins\Aorta.svp - UnknownC:\Program Files (x86)\AIMP3\Plugins\bass_aac.dll - 2.4.4.5C:\Program Files (x86)\AIMP3\Plugins\bass_ac3.dll - 2.4.0.3C:\Program Files (x86)\AIMP3\Plugins\bass_alac.dll - 2.4.3.0C:\Program Files (x86)\AIMP3\Plugins\bass_ape.dll - 2.4.0.6C:\Program Files (x86)\AIMP3\Plugins\bass_flac.dll - 2.4.1.0C:\Program Files (x86)\AIMP3\Plugins\bass_midi.dll - 2.4.8.0C:\Program Files (x86)\AIMP3\Plugins\bass_mpc.dll - 2.4.1.1C:\Program Files (x86)\AIMP3\Plugins\bass_opus.dll - 2.4.1.1C:\Program Files (x86)\AIMP3\Plugins\bass_spx.dll - 2.4.2.0C:\Program Files (x86)\AIMP3\Plugins\bass_tta.dll - 2.4.0.0C:\Program Files (x86)\AIMP3\Plugins\bass_wma.dll - 2.4.4.0C:\Program Files (x86)\AIMP3\Plugins\bass_wv.dll - 2.4.2.0C:\Program Files (x86)\AIMP3\Plugins\dsp_enh.dll - 0.1.7.0C:\Program Files (x86)\AIMP3\Plugins\OpenSpectrumDelphi2014.svp - UnknownC:\Program Files (x86)\AIMP3\Plugins\OpenSpectrumLazarus2014.svp - UnknownC:\Program Files (x86)\AIMP3\Plugins\OpenThermalSpectrumLazarus2014.svp - UnknownC:\Program Files (x86)\AIMP3\Plugins\OptimFROG.dll - 1.3.0.0C:\Program Files (x86)\AIMP3\Plugins\tak_deco_lib.dll - 2.3.0.0C:\Program Files (x86)\AIMP3\Sqlite3.dll - Unknown
через message box можешь отловить где оно падает? может оно даже инициализацию не проходит?
на версию с message box
может UAC там недает файл создать не?
Шапка обновлена, Пути сохранения заменены на %AppData%
Да, теперь норм, но выше я давал ссылку, где лучше всего сохранять файлы настроек.
OpenThermalSpectrumLazarus работает около секунды, а потом окно визуализации чернеет, как будто попадается неподдерживаемая частота или уровень сигнала.
как бы тут не AIMPTM APIа Открытое и совместимое не только с AIMPTMПоэтому использовал %AppData% как один из возможных вариантов
Я у себя тоже замечал нечто подобное, но через довольно продожительное время ~10-15 минут поэтому сложно поймать
даже фуллскрин работает
Win7 x64. При смене режима на полноэкранный или наоборот меняется ориентация, если была горизонтальная то в олноэкоанном - вертикальная и наоборот. А настроек нет ? скорость, цвет...
АИМП 3.60
почемуто в версии 3.6 не ловятся касания у Sonuque плагинов
почемуто в версии 3.6 не ловятся касания у Sonique плагинов
Косяк в плагине:Code: [Select]function f_Clicked(x,y,buttons: Integer): BOOL; cdecl;begin if (y<25) AND (LAST_DS.Width-x<25) then begin if FileExistsUTF8('OpenSpectrumLazarus2_editor.exe') then begin ShellExecuteW(0,'open','OpenSpectrumLazarus2_editor.exe','', nil, SW_SHOWNORMAL); end; end; result:=true;endУ чела не указан путь к редактору, соответственно, винда берет текущую папку (CurrentDirectory) и в ней ищет указанный файл. То, что в 3.55 при каком-то стечении обстоятельств эта папка ссылалась на папку Plugins и все работало, не значит, что оно бы работало всегда.
function f_Clicked(x,y,buttons: Integer): BOOL; cdecl;begin if (y<25) AND (LAST_DS.Width-x<25) then begin if FileExistsUTF8('OpenSpectrumLazarus2_editor.exe') then begin ShellExecuteW(0,'open','OpenSpectrumLazarus2_editor.exe','', nil, SW_SHOWNORMAL); end; end; result:=true;end
function f_Clicked(x,y,buttons: Integer): BOOL; cdecl;var path: array [0 .. MAX_PATH-1] of WideChar; pathLength: integer; pf: WideString; ps: UTF8String;begin if (y<30) AND (LAST_DS.Width-x<30) then begin pathLength:=windows.GetModuleFileNameW(HInstance, @path[0], MAX_PATH); // windows отвечает Unicode кодировкой // Lazarus Использует UTF8 кодировку в строках SetLength(pf,pathLength); Move(path[0],pf[1],pathLength*sizeOf(WideChar)); // копируем низкоуровневую строку в нормальную строку ps:=UTf8Encode(pf); ps:=ExtractFilePath(ps); pf:=UTF8Decode(ps); ps:=ps + 'OpenSpectrumLazarus2_editor.exe'; if FileExistsUTF8( ps ) then begin // UTF8 // Для Windows отправляем уже в Unicode // pf - Unicode строка ShellExecuteW(0,'open','OpenSpectrumLazarus2_editor.exe','', PWideChar(pf), SW_SHOWNORMAL); end; end; result:=true;end;
перезалил http://jqbook.net.ru/up_files/openspectrumlazarus2-1-0.zipв %AppData% удалите полностью файл OpenSpectrumLazarus2014_Config.bin и файл OpenSpectrumLazarus2014_Themes.bin
Нет переключения внешнего вида по клику на визуализации, как на 4'ом скрине 1го сообщения.
Всем привет!Давно искал данную визуализацию, или что-то похожее. Скачал и сразу выдало ошибку
господа - никто не подскажет как поднять пики что бы в полноэкранном варианте отображалось все линии и в середине тоже
переключить частоту выхода на слышимый диапазон: 44100 Гц (настройки \ воспроизведение)
https://www.aimp.ru/forum/index.php?topic=25627.90В соседней теме обсуждается поведение спектров при частоте вывода больше стандартной.OpenSpectrum в нормально работает в обычном 44100 Гц диапазоне. Под другие типа 96000 Гц матрица спектрального максимума не рассчитывалась, поэтому могут быть неверны показания.Также максимальное количество полос вывода равно 100. Если выбрать больше, будет неверно отображаться, вероятно программная ошибка.
А у меня не идет - вылетает плеер и всё Последняя версия проги, скачана с оф сайта, система - винда семерка, сп1
Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: AIMP.exe Версия приложения: 4.5.0.2058 Отметка времени приложения: 5a437e2b Имя модуля с ошибкой: MSCTF.dll Версия модуля с ошибкой: 6.1.7601.23403 Отметка времени модуля с ошибкой: 56f58399 Код исключения: c0000005 Смещение исключения: 00004307 Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: 8ae6 Дополнительные сведения 2: 8ae6df3a306969d35926c90e27f0695a Дополнительные сведения 3: 80c9 Дополнительные сведения 4: 80c9604515d510d88dbb99375ee433f8
При попытке запустить OpenThermalSpectrumLazarus v2.0 плеер крашится.
Попробуйте эту сборку: https://yadi.sk/d/gbyafX063RkjaGУ меня на ней ничего не падает.
Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: AIMP.exe Версия приложения: 4.5.0.2060 Отметка времени приложения: 5a6f7009 Имя модуля с ошибкой: AIMP.Runtime.dll Версия модуля с ошибкой: 4.5.0.2060 Отметка времени модуля с ошибкой: 5a6f6ff5 Код исключения: c0000005 Смещение исключения: 00011d5d Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: 9459 Дополнительные сведения 2: 9459acf64d9b3ededfd8466b0b7294fc Дополнительные сведения 3: df07 Дополнительные сведения 4: df07d1df83f65dea6d579ff96c49cff9