• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Kallisto Player

  • Автор темы Falcrum
  • Дата начала
F

Falcrum

Привет всем. Вот решился выложить свой плеер на ваш суд. Писал на 2010 делфе и использованием скиндвига Dynamic Skin Form, ну и конечно же BASS (хотя первоначально плеер использовал FMOD). Описание программы и скриншоты на моем мини сайте link removed.
 
D

Dock1100

Интересно, наконецто нашолся тот кто не поленилса потратить пол часа на то что б можно было регулировать эффекты, дизайн приемлемый,токо вот в главном оне желательно подписать надписи, доделать немного бегущую строку(сделать плавнее), поменять спектрум(у аимпа всетаки красивей), да и цвета немного другие сделать.
А можно поинтересоватся компоненты сами писали(кнопки, спектрум, плейлист...) или скачивали (просто сам пишу плеер, уже почти закончил, работаю над красивым офформлением(png осталось убрать небольшой глюк с кнопками))?
 
F

Falcrum

Спасибо, только вот можно поподробнее со спектрумом, надписями и цветами.

Насчет компонентов, скины - юзал Dynamic Skin Form, так как изначально не предполагалось писать свой скиндвиг, а щас лень, если только в далекой перспективе. Спектр сделан на основе переделанных демок от баса.

Можешь свой плеер кинуть? Хотелось бы посмотреть
 
D

Dock1100

Он, на стадии разработки(хотя почти готов), просто столкнулся с проблемой при полупрозрачном окне(UpdateLayeredWindow работает не очень быстро). А если оч хочется посмотреть, то пожалуста подождите около месяца или напишите в icq(580470442).
 
G

George

:rolleyes: Flacrum !

Заглянул я на Ваш мини-сайт. Солидная мулька, правда очень мне напоминает
старый, добрый классический WinAmp, а так все хорошо, красиво и многофунк-
ционально. Скажите пжл., а с низу можно пристегнуть эквалайзер и плей-лист,
как у WinAmpа? Было бы классно!
Также, как электронщик с большим стажем я обратил внимание на часы, в наше
время это редкость, заниматся подобными часами, да еще и 176-й серии. Мне
кажется на 561-й было бы лучше. Это мое мнение, а на самом деле может и
правда 176-я лучше, все ровно эти микросхемы давно себя изжили.

Пока, пока ...
 
E

EdgarWine

Сайт грузился ну очень долго... Видимо у Гугла проблемы... :)

А плеер понравился... ^_^ Видео воспроизводить планируетется? ;)
Анимацию кнопок сами делали? На таймере? А "слепление" форм на каком WM сообщении?)

Маленькая бага (а может и фича) - когда мышкой "хватаю" бегущую строку то она при MouseMove как-то не так себя ведёт...

BASS (хотя первоначально плеер использовал FMOD)
А что на ваш взгляд лучше?
UpdateLayeredWindow работает не очень быстро
Да нормально оно работает... :)
 
E

EdgarWine

Эм... Ну в MSDN пишут что перед использованием AlphaBlend и UpdateLayeredWindow битмап должен быть:
this API uses premultiplied alpha, the red, green and blue channel values in the bitmap must be premultiplied with the alpha channel value.
С МастеровДелфи такая процедура имеется для этого (саму тему где взял код чтот не нашёл):
Код:
procedure PremultAlpha(b : TBitmap);
Var i : Integer;
q : PRGBQuad;
begin
q := b.Scanline[b.Height-1];
for i := 0 to b.Height*b.Width-1 do begin
q.rgbBlue := q.rgbBlue * q.rgbReserved shr 8;
q.rgbGreen := q.rgbGreen * q.rgbReserved shr 8;
q.rgbRed  := q.rgbRed  * q.rgbReserved shr 8;
inc(q);
end;
end;
Вот некоторые картинки почти не отличаются на глаз если не сделать PremultAlpha, а некоторые получаются со странными разводами...
 
D

Dock1100

Ну если рисунок меняется то обязательно, иначе не будет видно изменений.
Правда я чуть по другому делал
Код:
procedure DrawOnWindow(canvas:Tcanvas; l,t,w,h:integer);
const
MaxPixelCountA = MaxInt div SizeOf(TRGBQuad);
type
PRGBAArray = ^TRGBAArray;
TRGBAArray = array[0..MaxPixelCountA-1] of TRGBQuad;
var x, y: Integer;
RowOut: PRGBAArray;
begin

for y:=0 to h-1 do begin
RowOut:= bmp.ScanLine[y+t];
for x:=0 to w-1 do begin
RowOut[x+l].rgbBlue:=byte(trunc(GetBValue(Canvas.Pixels[x,y])*RowOut[x+l].rgbReserved/255));
RowOut[x+l].rgbRed:=byte(trunc(GetrValue(Canvas.Pixels[x,y])*RowOut[x+l].rgbReserved/255));
RowOut[x+l].rgbGreen:=byte(trunc(GetgValue(Canvas.Pixels[x,y])*RowOut[x+l].rgbReserved/255));
end;
end;
end;
 
F

Falcrum

To George: Что вы имели в виду
Скажите пжл., а с низу можно пристегнуть эквалайзер и плей-лист,
как у WinAmpа? Было бы классно!
?

Насчет часов, схема старая и проверенная, да и у меня дома куча этих микросхем лежит, вот и надумал выложить. Впоследствии снес, так сайт будет ориентировать чисто на Delphi.

To EdgarWine: Видео воспроизводить не планирую, хотя идея и заманчивая. Анимация обеспечивается скиндвигом Dynamic Skin Form. Обработка прилипания WM_WINDOWPOSCHANGING. Об этом можно почитать на моем сайте, только там пример с прилипанием к рабочему столу.

Народ всем спасибо за отзывы, заходите на сайт почаще, я обновил дизайн и контент. Также пополнился раздел с практическими примерами.
 
G

George

:newconfus: Flacrum !

А зачем в плейере фазовращающие эффекты Chorus и Flanger ?
Это же конкретное искажение музыки!

Echo и Reverb , это не одно и тоже?
 

Вложения

  • Kallisto.png
    Kallisto.png
    4,3 КБ · Просмотры: 531
V

vital

George
Прочитайте свою подпись. Там где про ламеров. Только вместо ридмифайла используйте гугл. Я про ваши вопросы про эеффекты. Там есть все отьветы.
 
G

George

Vital

Я очень хорошо знаю настоящую историю данных эффектов,
начиная с Лесли, Файзера, Файзинга, Фленжера и Хоруса
Всве это эффекты основаны на вращении фазы звукового
потока, только разного порядка и мне не зачем лезть в гуг!
Я понимаю применить данный эффект к отдельному моменту
или инструменту в муз. произведении, согласен! Но слушать
через них все произведение !!!...
 
V

vital

Часто через плеер воспоризводят записи. Например Гитары. И когда нету возможности использовать нормальную примочку, или какую-либо программу с гитарными эффеками при записи, бывает такой фланжер\дисторшен - хоть какой-то способ послушать партию под эффектом.
Попутно есть такой момент как "чисто поржать". Или - "Раз везде есть такая ф-я, то и у меня должна быть, тем более что ее реализация уже есть в библиотеке."
Раз опция есть - значит она надо. =)

Пс. Мой предыдущий комментарий относился скорее к хорусу и ревербу.
 
G

George

Ну если только так, поржать! Такой момент я упустил.
Кстати фленжер и дисторшен, это эффекты обсолютно разные!
Пс. Мой предыдущий комментарий относился скорее к хорусу и ревербу.
Я говорил не про Хорус и Ревер, а про Echo и Reverb!

P.S. Первый раз я обратил внимание на эффект Лесли в 70-х годах,
Дым Над Водой, Deep Purple, в самом конце песни очень
прослушивается эффект вращения фазы!
 
G

George

:facepalm: Falkrum !

Скажите пжл, а частота и глубина на Flagere регулируется или
все это статично?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!