Перейти к содержанию

Прокачайте свой Hi-Fi

sale50feb.webp

sale50feb.webp

komplekti_dec122024.webp

sale50feb.webp

friends_club.webp

sale50feb.webp

aurian_jan23.jpg

Nibelung

Bug Head Emperor player

Рекомендуемые сообщения

Думаю, новый прорыв готовит. Ведь грядёт скоро версия 5.55 - очень магическое число. Наверное, занимается вдумчивой подготовкой к соответствующей цифре :)


 

 

Продам:

Audeze Lcd-3 Дофазорные 60 т.р. http://forum.doctorhead.ru/index.php?app=classifieds&module=core&do=view_item&item_id=26771

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@ozonoleg, он что то писал о своем состоянии и временным закрытием проекта. Кстати, из ФБ исчезла страничка Баг-Хеада


Момент терпения в минуту гнева, предотвращает тысячи моментов сожаления

 

Мой тракт

Источники - CD -player Parasound CDP-1000 SACD, BD, DVD -Cambrig Azur BD-751, PC

DAC - COUNTERPOINT DA-10UE+edell, , LynxD60V1 Flamenko

Hedamps - Cyber 20 Mod (Hasimotto trans), Lynx HA61, Lynx HA-46, Shoker AMP

Snorry Super MOD TDS-7 , Snorry Super MOD TDS-15 плоская мембранна сейчас они за номером 1 ,Snorry Super MOD TDS-15 рифленая мембранна Snorry Mod TDS-7, , Hifiman HE5-LE, Grado HP-1 (HP1000rev1) - отдал человеку, понимающему в них толк, взамен мне прислали ATH-W3000, HE-6, DT-911, AKG-240-mk2, ATH-ES7

portatable - Ibasso100, cowon plenue

Продал -LCD-2r2, Grado GS1000 Auditor SPL Burson DAC160

стационар сейчас в процессе глобальной перестройки, винил в шкафу, магнепаны в консервации, кефы и аудиоресерчи - продал, усилитель "The end of Millenium" на стадии сборки , в таком же состоянии и Lynx PA21

 

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@ozonoleg, он что то писал о своем состоянии и временным закрытием проекта. Кстати, из ФБ исчезла страничка Баг-Хеада

Печально! :( Но спасибо ему и за то, что уже сделал - с таким звуком можно жить да радоваться. :D А мы будем просить всевышнего чтобы укрепил его здоровье и разрешил проблемы. :praynew0: Изменено пользователем ozonoleg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... Но спасибо ему и за то, что уже сделал...

Что же вы за упокой...

Вот исходный код ВНЕ (Pure Basic)

 

Procedure Music_Start(skipmode.b=0)

;[5.03] Shared *BASS_AsioProc, *BASS_AsioProcSharp

Shared *BASS_Init, *BASS_SetConfig, *BASS_SetDevice, *BASS_ASIO_Free, *BASS_ASIO_Init, *BASS_ASIO_CheckRate, *BASS_ASIO_SetRate

Shared *BASS_ASIO_ChannelEnable, *BASS_ASIO_ChannelJoin, *BASS_ASIO_ChannelSetFormat, *BASS_ASIO_ChannelPause, *BASS_ASIO_Start

Shared *BASS_ASIO_IsStarted, *BASS_ASIO_ChannelReset, *BASS_ASIO_ErrorGetCode, *BASS_StreamFree, *BASS_ChannelGetAttribute

Shared *BASS_ASIO_SetDSD, *BASS_Free, *BASS_ASIO_GetRate

Protected BASS_ASIO_CheckRate.BASS_ASIO_CheckRate = *BASS_ASIO_CheckRate

Protected BASS_ASIO_GetRate.BASS_ASIO_GetRate = *BASS_ASIO_GetRate

Protected BASS_ASIO_SetRate.BASS_ASIO_SetRate = *BASS_ASIO_SetRate

CompilerSelect #PB_Compiler_Processor

CompilerCase #PB_Processor_x86

Protected BASS_ASIO_ChannelSetFormat.BASS_ASIO_ChannelSetFormat = *BASS_ASIO_ChannelSetFormat

CompilerEndSelect

 

Shared fnt.l, fnt2.l, fnt6.l

Shared Freq.i, ready.i, chan.l, memReady.l, Endpos.i, ch.i, UST.i, chan4.i

Shared output_mode.s, processing_time.l, sound_name.s, envalid.b, pink_mode.b

Shared crush_err.i

Shared el_total.i, info.n_Proc

Shared shapeSound.b, CounterInfomation_time.i

Shared sound_custom.i, sound_spell.s, process_stop.i

Shared AsioChShift_1.i, AsioChShift_2.i, AsioChShift_3.i, EndThread.i

Shared dsd_freq.l, dsd_play.i, dsd_pass.i, dsd_max_freq.f, dsd_now_freq.f, command.b, Delay02ms_Th.i, blackscreen.b

Shared process_pause.i, fade_length.i, fade_out_length.i

Protected Flash.b, output_flg.b, Freq_d.d, rep.l, processing_time2.l, asio_error.s

Protected dsd_check_freq.f, Set_Volume_bak.f = Set_Volume

Protected bk_col.i, cover_flg.b, I.l

RewriteNULL ; RN = 0 [4.51]

CounterInfomation_time = -200

fade_length = RN

fade_out_length = RN

 

SetGadgetText(#B_PAUSE, "PAUSE") : UST = RN : Freq = RN : crush_err = RN : process_pause = RN

If pink_mode

bk_col = $53305F

Else

bk_col = $800000

EndIf

 

; If GetGadgetColor(#B_outputFile, #PB_Gadget_FrontColor)=$FFFFFF

; RawOutput()

; ProcedureReturn

; EndIf

 

If AsioChShift_1=AsioChShift_2 And AsioChShift_1=AsioChShift_3 And AsioChShift_1=>0 And AsioChShift_1<16

Else

SetGadgetText(#Radio_Freq, "Ch Err"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

Goto Music_Start_end

EndIf

 

CallFunctionFast(*BASS_Free)

If skipmode

PLIST_BEFORE()

Else

PLIST_RESET()

EndIf

ClearStructure(@info, n_Proc)

CallFunctionFast(*BASS_Init, RN, freqS,#BASS_DEVICE_NOSPEAKER,WindowID(#WindowMain),#Null)

CallFunctionFast(*BASS_SetDevice, RN)

CallFunctionFast(*BASS_SetConfig, #BASS_CONFIG_UPDATEPERIOD, RN) ; [4.29]

CallFunctionFast(*BASS_SetConfig, #BASS_CONFIG_NET_BUFFER, 5000)

CallFunctionFast(*BASS_SetConfig, #BASS_CONFIG_NET_TIMEOUT, 5000)

CallFunctionFast(*BASS_SetConfig, #BASS_CONFIG_DSD_FREQ, dsd_freq)

ChangeDisplayPlaying(CurrentList)

SignalSemaphore(Semaphore)

ClearList( P_n() )

Th = RN

NextPlaysongs()

 

If chan<>0

StartDrawing(CanvasOutput(#GIF_Counter))

If IsImage(#imageLogo_back)

DrawImage(ImageID(#imageLogo_back),RN,RN)

EndIf

DrawingFont(FontID(fnt6))

DrawText(10,5, info\main, $FFFFFF, bk_col)

DrawText(10,30, info\song, $FFFFFF, bk_col)

StopDrawing()

cover_flg = #False

If info\coverArt_no<>0 And IsImage(info\coverArt_no)

StartDrawing(CanvasOutput(#L_Sound_custom))

Box(RN,RN, 205, 130, RN)

DrawImage(ImageID(info\coverArt_no), 43, 5) ;, 120, 120)

StopDrawing()

cover_flg = #True

EndIf

Music_Start_lnfo:

If Not WindowEvent() : Delay(1) : Goto Music_Start_lnfo : EndIf

Else

PLIST_RESET()

ClearStructure(@info, n_Proc)

EndIf

 

If Not (dsd_play=1 And dsd_pass And chan<>0 And PLIST_CHECK() )

sound_name = output_mode

output_flg = (CountString(sound_spell, "D")+CountString(sound_spell, "Q")+CountString(sound_spell, "E"))

If output_flg=0

If sound_spell=""

output_mode = #Mode_Normal

EndIf

ElseIf output_flg = 1 Or output_flg = 2 Or output_flg = 3 Or output_flg = 4

;

Else

SetGadgetText(#Radio_Freq, "Reject"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

Goto Music_Start_end

EndIf

 

; Select deviceMode

; Case #ASIO

BASS_ASIO_ChannelSetVolumeR(RN, -1, RN)

CallFunctionFast(*BASS_ASIO_Free)

If chan<>RN And PLIST_CHECK()

Select output_flg

Case 4

Freq = freqS*16 : UST=#BugHead_x16

 

Case 3

Freq = freqS*8 : UST=#BugHead_x8

 

Case 2

Freq = freqS*4 : UST=#BugHead_x4

 

Case 1

Freq = freqS*2 : UST=#BugHead_x2

 

Case 0

Freq = freqS : UST=#BugHead_x1

If output_mode = #Mode_Normal

SetGadgetText(#Radio_LPF, "LPF free")

SetGadgetColor(#Radio_LPF, #PB_Gadget_BackColor, $400000) : LPFmode = RN

EndIf

 

Default

MessageRequester("ERROR", output_mode, #MB_OK|#MB_IConerror)

 

EndSelect

 

SetGadgetText(#Radio_Freq, StrF(Freq/1000,1)+"kHz")

Freq_d = Freq

Endpos = 1

ch=1

 

If CallFunctionFast(*BASS_ASIO_Init, AsioSelectDevice, #BASS_ASIO_THREAD) And BASS_ASIO_CheckRate(Freq_d)

BASS_ASIO_SetRate(Freq_d) : Delay(200) : CallFunctionFast(*BASS_ASIO_Free) :

If dsd_play = 2

SetVolume_gadget(30) : volume_level = 30 ; [4.71]

EndIf

If GetGadgetText(#B_PLAY)="PLAY"

SetGadgetText(#B_PLAY, "Rewrite")

EndIf

Thread_priority = 4 : processing_time = ElapsedMilliseconds2() + 200 : el_total = RN

; Th.l = CreateThread(@UpSamplingThread(), RN)

Th.l = CreateThread(GetRuntimeDouble("UpSamplingThread()"), RN) ; [5.03]

ThreadPriority(Th, Thread_priority): process_stop = #False

; UpSamplingThread(0): process_stop = #False

Music_Start_loop_1:

If Not ready

If Not process_stop

Music_Start_loop_2:

If Windows_Event_Init() : Delay(1) : Goto Music_Start_loop_2 : EndIf

Delay(100) : SignalSemaphore(Semaphore)

SetGadgetColor(#B_PLAY, #PB_Gadget_FrontColor, RGB(Random(104)+150, Random(104)+150, Random(104)+150))

If GetGadgetText(#B_PLAY)="Reading"

processing_time = ElapsedMilliseconds2()

EndIf

If el_total>0

StartDrawing(CanvasOutput(#L_Sound_custom))

Box(RN,RN, 205, 130, RN)

DrawingFont(FontID(fnt))

DrawText(10, 15, "Wait time Left "+RSet(Str(Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000/60)), 2, "0") + ":" + RSet(Str(Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000)%60), 2, "0"), $C0C0C0)

DrawText(10, 40, "Finish time "+FormatDate("%hh:%ii", AddDate( Date() , #PB_Date_Minute, Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000/60) ) ), $C0C0C0)

StopDrawing()

EndIf

I = 0

; If Endpos = -2

; BASS_StreamFree(chan)

; SetGadgetText(#Radio_Freq, "3772"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

; SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

; memReady = -1 : Freq=RN : Endpos=RN :ready=RN

; PlayingList = RN

; ChangeDisplayPlaying(RN)

; PLIST_RESET()

; Goto Music_Start_end

; EndIf

Goto Music_Start_loop_1

EndIf

EndIf

chan4=#channel_A : processing_time = ElapsedMilliseconds2() - processing_time

SetGadgetColor(#B_PLAY, #PB_Gadget_FrontColor, $C0C0C0) : If cover_flg=#False : Display_sound_optimizer() : EndIf

If CallFunctionFast(*BASS_ASIO_Init, AsioSelectDevice, #BASS_ASIO_THREAD) And BASS_ASIO_CheckRate(Freq_d)

BASS_ASIO_SetRate(Freq_d)

ResetRegister() ; [5.21]

If shapeSound

CallFunctionFast(*BASS_ASIO_ChannelEnable, RN,Int(AsioChShift_1), GetRuntimeDouble("AsioProcSharp()"), RN) ; [5.03] ; (RN,Left,@AsioProc(),RN)

Else

CallFunctionFast(*BASS_ASIO_ChannelEnable, RN,Int(AsioChShift_1), GetRuntimeDouble("AsioProc()") , RN) ; [5.03] ; (RN,Left,@AsioProc(),RN)

EndIf

CallFunctionFast(*BASS_ASIO_ChannelJoin, RN,Int(AsioChShift_1+1),Int(AsioChShift_1)) ; (RN,Right,Left)

CompilerSelect #PB_Compiler_Processor

CompilerCase #PB_Processor_x86

BASS_ASIO_ChannelSetFormat(RN,RN,#BASS_ASIO_FORMAT_FLOAT) ; [4.9xx-] 24bit Integer mode #BASS_ASIO_24BIT ( sound quality up )

CompilerCase #PB_Processor_x64

CallCFunctionFast(*BASS_ASIO_ChannelSetFormat, RN,RN,#BASS_ASIO_FORMAT_FLOAT) ; [4.9xx-] 24bit Integer mode #BASS_ASIO_24BIT ( sound quality up )

CompilerEndSelect

For rep=RN To 10

If BASS_ASIO_GetRate()<>Freq_d

BASS_ASIO_SetRate(Freq_d) : Delay(50)

EndIf

Next

If process_stop = #False

CallFunctionFast(*BASS_ASIO_ChannelPause, RN,RN) ; [4.53]

CallFunctionFast(*BASS_ASIO_Start, RN, RN)

EndIf

AddWindowTimer(#WindowMain, 123, 200) ; [4.70]

If envalid And process_stop = #False

processing_time2 = ElapsedMilliseconds2()

Music_Start_loop_3:

If (ElapsedMilliseconds2()-processing_time2)<7000

If Not process_stop

Music_Start_loop_4:

If Windows_Event_Init() : Delay(1) : Goto Music_Start_loop_4 : EndIf

Delay(100) : SetGadgetText(#B_PLAY, "Envalid "+Str(Int((8000-ElapsedMilliseconds2()+processing_time2)/1000)))

I = 0

Goto Music_Start_loop_3

EndIf

EndIf

; SetGadgetText(#B_PLAY, "PLAY")

; Else

; SetGadgetText(#B_PLAY, "PLAY")

EndIf

; If GetGadgetText(#B_PLAY)="Reading"

; SetGadgetText(#B_PLAY, "PLAY")

; EndIf

If Set_Volume<0.001

BASS_ASIO_ChannelSetVolumeR(#False, -1, 0.0001)

ElseIf Set_Volume>0.95

BASS_ASIO_ChannelSetVolumeR(#False, -1, 1)

Else

; BASS_ASIO_ChannelSetVolume(#False, -1, Pow(10, Set_Volume-1))

BASS_ASIO_ChannelSetVolumeR(#False, -1, Set_Volume)

EndIf

If Set_Volume=Set_Volume_bak

Else

processing_time2 = ElapsedMilliseconds2()

Music_Start_loop_5:

If (ElapsedMilliseconds2()-processing_time2)<3000

Music_Start_loop_6:

If WindowEvent() : Delay(1) : Goto Music_Start_loop_6 : EndIf

Delay(100) : SetGadgetText(#B_PLAY, "Volume "+Str(Int((4000-ElapsedMilliseconds2()+processing_time2)/1000)))

I = 0

Goto Music_Start_loop_5

EndIf

EndIf

SetGadgetText(#B_PLAY, "PLAY")

If process_stop = #False

If CallFunctionFast(*BASS_ASIO_IsStarted)

If process_pause

Music_Start_loop_6_pause:

If Not (WindowEvent()= #WM_LBUTTONDOWN) : Goto Music_Start_loop_6_pause : EndIf

EndIf

Delay(300) ; kuroko 300

If command

For I = #Gadget_Start+1 To #Gadget_End-1

If IsGadget(I)

FreeGadget(I)

EndIf

Next

; For I = 0 To 40000 : If IsImage(I) : FreeImage(I) : EndIf : Next

I = Delay02ms_Th : Delay02ms_Th = 0 : Delay(50) : If IsThread(I) : WaitThread(I, 200) : EndIf ; [4.71]

FreeFont(fnt) : FreeFont(fnt2) : FreeFont(fnt6)

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

RemoveWindowTimer(#WindowMain, 123)

RemoveWindowTimer(#WindowMain, 333)

RemoveWindowTimer(#WindowMain, 456)

RemoveWindowTimer(#CWin, 789)

CloseWindow(#WindowMain)

If blackscreen

If InitSprite()

If OpenScreen(800,600, 32, "", #PB_Screen_NoSynchronization)

!Mov Eax, 1000 ; [5.21]

!Music_Start_clear:

!NOP

!NOP

!Dec Eax

!JNZ Music_Start_clear

ResetRegister() ; [5.21]

EndIf

EndIf

EndIf

Delay(2000)

EndIf

CallFunctionFast(*BASS_ASIO_ChannelReset, RN, RN, #BASS_ASIO_RESET_PAUSE)

!FNOP

Goto Music_Start_end

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

EndThread= #True

CallFunctionFast(*BASS_ASIO_Free)

Music_Init()

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

asio_error = GetASIO_Error(CallFunctionFast(*BASS_ASIO_ErrorGetCode)) ; get ASIO error code

CallFunctionFast(*BASS_ASIO_Free)

CallFunctionFast(*BASS_StreamFree, chan)

SetGadgetText(#Radio_Freq, "nReply"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

MessageRequester("Setting error", asio_error+Chr(13)+Chr(10)+"Could you check ASIO devices?"+Chr(13)+Chr(10)+"ASIO didn't set "+Str(Freq)+"Hz or other error."+Chr(10)+Chr(13)+"Your product supoort this mode ?"+Chr(13)+Chr(10)+"Please adjust ASIO buffer and Streming buffer in ASIO control panel.", #MB_OK|#MB_IConerror)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

asio_error = GetASIO_Error(CallFunctionFast(*BASS_ASIO_ErrorGetCode)) ; get ASIO error code

CallFunctionFast(*BASS_ASIO_Free)

CallFunctionFast(*BASS_StreamFree, chan)

SetGadgetText(#Radio_Freq, "Reject"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

MessageRequester("Setting error", asio_error+Chr(13)+Chr(10)+"Could you check ASIO devices?"+Chr(13)+Chr(10)+"ASIO didn't set "+Str(Freq)+"Hz or other error."+Chr(10)+Chr(13)+"Your product supoort this mode ?", #MB_OK|#MB_IConerror)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

SetGadgetText(#Radio_Freq, "Crush"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

EndIf

 

Else

BASS_ASIO_ChannelSetVolumeR(RN, -1, RN)

CallFunctionFast(*BASS_ASIO_Free)

 

Endpos = 1

ch=1

CallFunctionFast(*BASS_ChannelGetAttribute, chan, #BASS_ATTRIB_DSD_RATE, @dsd_check_freq); // get the DSD rate

Debug "jLLL"

Debug dsd_check_freq

 

If CallFunctionFast(*BASS_ASIO_Init, AsioSelectDevice, #BASS_ASIO_THREAD) And CallFunctionFast(*BASS_ASIO_SetDSD, #True) And BASS_ASIO_CheckRate(dsd_check_freq)

SetVolume_gadget(30) : volume_level = 30 ; [4.71]

Freq = freqS : UST=#BugHead_x1 : Freq_d = Freq

BASS_ASIO_SetRate(dsd_check_freq) : Delay(200): SetGadgetText(#B_PLAY, "Rewrite")

Thread_priority = 4 : processing_time = ElapsedMilliseconds2() + 200 : el_total = RN

; Th.l = CreateThread(@UpSamplingThread(), RN)

Th.l = CreateThread(GetRuntimeDouble("UpSamplingThread()"), RN ) ; [5.03]

ThreadPriority(Th, Thread_priority) : process_stop = #False

Music_Start_loop_10:

If Not ready

If Not process_stop

Music_Start_loop_11:

If Windows_Event_Init() : Delay(1) : Goto Music_Start_loop_11 : EndIf

Delay(100) : SignalSemaphore(Semaphore)

If el_total>0

StartDrawing(CanvasOutput(#L_Sound_custom))

Box(RN,RN, 205, 130, RN)

DrawingFont(FontID(fnt))

DrawText(10, 15, "Wait time Left "+RSet(Str(Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000/60)), 2, "0") + ":" + RSet(Str(Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000)%60), 2, "0"), $C0C0C0)

DrawText(10, 40, "Finish time "+FormatDate("%hh:%ii", AddDate( Date() , #PB_Date_Minute, Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000/60) ) ), $C0C0C0)

StopDrawing()

EndIf

SetGadgetColor(#B_PLAY, #PB_Gadget_FrontColor, RGB(Random(104)+150, Random(104)+150, Random(104)+150))

I = 0

Goto Music_Start_loop_10

EndIf

EndIf

SetGadgetColor(#B_PLAY, #PB_Gadget_FrontColor, $C0C0C0) : If cover_flg=#False : Display_sound_optimizer() : EndIf

chan4=#channel_A : processing_time = ElapsedMilliseconds2() - processing_time

dsd_now_freq = dsd_check_freq

SetGadgetText(#Radio_Freq, StrF(dsd_now_freq/1000000,1)+"MHz")

ResetRegister() ; [5.21]

If shapeSound

CallFunctionFast(*BASS_ASIO_ChannelEnable, RN,Int(AsioChShift_1), GetRuntimeDouble("AsioProcSharp()"), RN) ; [5.03]; (RN,Left,@AsioProc(),RN)

Else

CallFunctionFast(*BASS_ASIO_ChannelEnable, RN,Int(AsioChShift_1),GetRuntimeDouble("AsioProc()"), RN) ; [5.03] ; (RN,Left,@AsioProc(),RN)

EndIf

CallFunctionFast(*BASS_ASIO_ChannelJoin, RN,Int(AsioChShift_1+1),Int(AsioChShift_1)) ; (RN,Right,Left)

CompilerSelect #PB_Compiler_Processor

CompilerCase #PB_Processor_x86

BASS_ASIO_ChannelSetFormat(RN, RN, #BASS_ASIO_FORMAT_DSD_MSB) ; // set the data format (DSD with MSB 1st)

CompilerCase #PB_Processor_x64

CallFunctionFast(*BASS_ASIO_ChannelSetFormat, RN, RN, #BASS_ASIO_FORMAT_DSD_MSB) ; // set the data format (DSD with MSB 1st)

CompilerEndSelect

For rep=RN To 10

If BASS_ASIO_GetRate()<>dsd_check_freq

BASS_ASIO_SetRate(dsd_check_freq) : Delay(50)

EndIf

Next

AddWindowTimer(#WindowMain, 123, 200) ; [4.70]

If envalid And process_stop = #False

processing_time2 = ElapsedMilliseconds2()

Music_Start_loop_12:

If (ElapsedMilliseconds2()-processing_time2)<7000

If Not process_stop

Music_Start_loop_13:

If Windows_Event_Init() : Delay(1) : Goto Music_Start_loop_13 : EndIf

Delay(100) : SetGadgetText(#B_PLAY, "Envalid "+Str(Int((8000-ElapsedMilliseconds2()+processing_time2)/1000)))

I = 0

Goto Music_Start_loop_12

EndIf

EndIf

EndIf

; If GetGadgetText(#B_PLAY)="Reading"

; SetGadgetText(#B_PLAY, "PLAY")

; EndIf

If Set_Volume<0.001

BASS_ASIO_ChannelSetVolumeR(#False, -1, 0.0001)

ElseIf Set_Volume>0.95

BASS_ASIO_ChannelSetVolumeR(#False, -1, 1)

Else

BASS_ASIO_ChannelSetVolumeR(#False, -1, Set_Volume)

EndIf

If Set_Volume=Set_Volume_bak

Else

processing_time2 = ElapsedMilliseconds2()

Music_Start_loop_14:

If (ElapsedMilliseconds2()-processing_time2)<3000

Music_Start_loop_15:

If WindowEvent() : Delay(1) : Goto Music_Start_loop_15 : EndIf

Delay(100) : SetGadgetText(#B_PLAY, "Volume "+Str(Int((4000-ElapsedMilliseconds2()+processing_time2)/1000)))

I = 0

Goto Music_Start_loop_14

EndIf

EndIf

SetGadgetText(#B_PLAY, "PLAY")

If process_stop = #False

If process_pause

Music_Start_loop_14_pause:

If Not (WaitWindowEvent()= #WM_LBUTTONDOWN) : Goto Music_Start_loop_14_pause : EndIf

EndIf

If command

For I = #Gadget_Start+1 To #Gadget_End-1

If IsGadget(I)

FreeGadget(I)

EndIf

Next

; For I = 0 To 40000 : If IsImage(I) : FreeImage(I) : EndIf : Next

FreeFont(fnt) : FreeFont(fnt2) : FreeFont(fnt6)

I = Delay02ms_Th : Delay02ms_Th = 0 : Delay(50) : If IsThread(I) : WaitThread(I, 200) : EndIf ; [4.71]

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

RemoveWindowTimer(#WindowMain, 123)

RemoveWindowTimer(#WindowMain, 333)

RemoveWindowTimer(#WindowMain, 456)

RemoveWindowTimer(#CWin, 789)

CloseWindow(#WindowMain)

If blackscreen

If InitSprite()

If OpenScreen(800,600, 32, "", #PB_Screen_NoSynchronization)

!Mov Eax, 1000 ; [5.21]

!Music_Start_clear_2:

!NOP

!NOP

!Dec Eax

!JNZ Music_Start_clear_2

ResetRegister() ; [5.21]

EndIf

EndIf

EndIf

Delay(2000)

EndIf

CallFunctionFast(*BASS_ASIO_Start, RN, RN)

!FNOP

Goto Music_Start_end

Else

SetGadgetText(#B_PLAY, "PLAY")

EndThread= #True

CallFunctionFast(*BASS_ASIO_Free)

Music_Init()

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

asio_error = GetASIO_Error(CallFunctionFast(*BASS_ASIO_ErrorGetCode)) ; get ASIO error code

CallFunctionFast(*BASS_ASIO_Free)

CallFunctionFast(*BASS_StreamFree, chan)

SetGadgetText(#Radio_Freq, "Reject"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

MessageRequester("Setting error", asio_error+Chr(13)+Chr(10)+"Could you check ASIO devices?"+Chr(13)+Chr(10)+"ASIO didn't set "+StrF(dsd_check_freq/1000000,2)+"MHz or other error."+Chr(10)+Chr(13)+"Your product supoort this mode ?", #MB_OK|#MB_IConerror)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

 

EndIf

 

; EndSelect

Music_Start_end:

If process_pause

SetGadgetText(#B_PAUSE, "PAUSE")

EndIf

EndProcedure

 

Кто подхватит упавшее знамя революции, есть программисты и любители правильного звука?

Дерзайте.


 

Marantz CD-63 mkII KIS, SACD-DVD DV7600,

Van den Hul D-102 III Hybrid 0.8м, The DIGICOUPLER Hybrid 0,8м, Tara labs Prime Generation 2 0,8м,

ADCOM GFP-565, GFA-5400,

Tara Labs RSC Prime Bi-wire Speaker Cable 1,5м,

Infinity Reference 51 MKII, Sennheiser HD-590,

PC Acer Aspire Revo R3700 (1,8 Ггц, 4 Гб), DAC D-68 (Алексея Самсонова).

 

 

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... Но спасибо ему и за то, что уже сделал...

Что же вы за упокой...

Вот исходный код ВНЕ (Pure Basic)

 

Procedure Music_Start(skipmode.b=0)

;[5.03] Shared *BASS_AsioProc, *BASS_AsioProcSharp

Shared *BASS_Init, *BASS_SetConfig, *BASS_SetDevice, *BASS_ASIO_Free, *BASS_ASIO_Init, *BASS_ASIO_CheckRate, *BASS_ASIO_SetRate

Shared *BASS_ASIO_ChannelEnable, *BASS_ASIO_ChannelJoin, *BASS_ASIO_ChannelSetFormat, *BASS_ASIO_ChannelPause, *BASS_ASIO_Start

Shared *BASS_ASIO_IsStarted, *BASS_ASIO_ChannelReset, *BASS_ASIO_ErrorGetCode, *BASS_StreamFree, *BASS_ChannelGetAttribute

Shared *BASS_ASIO_SetDSD, *BASS_Free, *BASS_ASIO_GetRate

Protected BASS_ASIO_CheckRate.BASS_ASIO_CheckRate = *BASS_ASIO_CheckRate

Protected BASS_ASIO_GetRate.BASS_ASIO_GetRate = *BASS_ASIO_GetRate

Protected BASS_ASIO_SetRate.BASS_ASIO_SetRate = *BASS_ASIO_SetRate

CompilerSelect #PB_Compiler_Processor

CompilerCase #PB_Processor_x86

Protected BASS_ASIO_ChannelSetFormat.BASS_ASIO_ChannelSetFormat = *BASS_ASIO_ChannelSetFormat

CompilerEndSelect

 

Shared fnt.l, fnt2.l, fnt6.l

Shared Freq.i, ready.i, chan.l, memReady.l, Endpos.i, ch.i, UST.i, chan4.i

Shared output_mode.s, processing_time.l, sound_name.s, envalid.b, pink_mode.b

Shared crush_err.i

Shared el_total.i, info.n_Proc

Shared shapeSound.b, CounterInfomation_time.i

Shared sound_custom.i, sound_spell.s, process_stop.i

Shared AsioChShift_1.i, AsioChShift_2.i, AsioChShift_3.i, EndThread.i

Shared dsd_freq.l, dsd_play.i, dsd_pass.i, dsd_max_freq.f, dsd_now_freq.f, command.b, Delay02ms_Th.i, blackscreen.b

Shared process_pause.i, fade_length.i, fade_out_length.i

Protected Flash.b, output_flg.b, Freq_d.d, rep.l, processing_time2.l, asio_error.s

Protected dsd_check_freq.f, Set_Volume_bak.f = Set_Volume

Protected bk_col.i, cover_flg.b, I.l

RewriteNULL ; RN = 0 [4.51]

CounterInfomation_time = -200

fade_length = RN

fade_out_length = RN

 

SetGadgetText(#B_PAUSE, "PAUSE") : UST = RN : Freq = RN : crush_err = RN : process_pause = RN

If pink_mode

bk_col = $53305F

Else

bk_col = $800000

EndIf

 

; If GetGadgetColor(#B_outputFile, #PB_Gadget_FrontColor)=$FFFFFF

; RawOutput()

; ProcedureReturn

; EndIf

 

If AsioChShift_1=AsioChShift_2 And AsioChShift_1=AsioChShift_3 And AsioChShift_1=>0 And AsioChShift_1<16

Else

SetGadgetText(#Radio_Freq, "Ch Err"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

Goto Music_Start_end

EndIf

 

CallFunctionFast(*BASS_Free)

If skipmode

PLIST_BEFORE()

Else

PLIST_RESET()

EndIf

ClearStructure(@info, n_Proc)

CallFunctionFast(*BASS_Init, RN, freqS,#BASS_DEVICE_NOSPEAKER,WindowID(#WindowMain),#Null)

CallFunctionFast(*BASS_SetDevice, RN)

CallFunctionFast(*BASS_SetConfig, #BASS_CONFIG_UPDATEPERIOD, RN) ; [4.29]

CallFunctionFast(*BASS_SetConfig, #BASS_CONFIG_NET_BUFFER, 5000)

CallFunctionFast(*BASS_SetConfig, #BASS_CONFIG_NET_TIMEOUT, 5000)

CallFunctionFast(*BASS_SetConfig, #BASS_CONFIG_DSD_FREQ, dsd_freq)

ChangeDisplayPlaying(CurrentList)

SignalSemaphore(Semaphore)

ClearList( P_n() )

Th = RN

NextPlaysongs()

 

If chan<>0

StartDrawing(CanvasOutput(#GIF_Counter))

If IsImage(#imageLogo_back)

DrawImage(ImageID(#imageLogo_back),RN,RN)

EndIf

DrawingFont(FontID(fnt6))

DrawText(10,5, info\main, $FFFFFF, bk_col)

DrawText(10,30, info\song, $FFFFFF, bk_col)

StopDrawing()

cover_flg = #False

If info\coverArt_no<>0 And IsImage(info\coverArt_no)

StartDrawing(CanvasOutput(#L_Sound_custom))

Box(RN,RN, 205, 130, RN)

DrawImage(ImageID(info\coverArt_no), 43, 5) ;, 120, 120)

StopDrawing()

cover_flg = #True

EndIf

Music_Start_lnfo:

If Not WindowEvent() : Delay(1) : Goto Music_Start_lnfo : EndIf

Else

PLIST_RESET()

ClearStructure(@info, n_Proc)

EndIf

 

If Not (dsd_play=1 And dsd_pass And chan<>0 And PLIST_CHECK() )

sound_name = output_mode

output_flg = (CountString(sound_spell, "D")+CountString(sound_spell, "Q")+CountString(sound_spell, "E"))

If output_flg=0

If sound_spell=""

output_mode = #Mode_Normal

EndIf

ElseIf output_flg = 1 Or output_flg = 2 Or output_flg = 3 Or output_flg = 4

;

Else

SetGadgetText(#Radio_Freq, "Reject"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

Goto Music_Start_end

EndIf

 

; Select deviceMode

; Case #ASIO

BASS_ASIO_ChannelSetVolumeR(RN, -1, RN)

CallFunctionFast(*BASS_ASIO_Free)

If chan<>RN And PLIST_CHECK()

Select output_flg

Case 4

Freq = freqS*16 : UST=#BugHead_x16

 

Case 3

Freq = freqS*8 : UST=#BugHead_x8

 

Case 2

Freq = freqS*4 : UST=#BugHead_x4

 

Case 1

Freq = freqS*2 : UST=#BugHead_x2

 

Case 0

Freq = freqS : UST=#BugHead_x1

If output_mode = #Mode_Normal

SetGadgetText(#Radio_LPF, "LPF free")

SetGadgetColor(#Radio_LPF, #PB_Gadget_BackColor, $400000) : LPFmode = RN

EndIf

 

Default

MessageRequester("ERROR", output_mode, #MB_OK|#MB_IConerror)

 

EndSelect

 

SetGadgetText(#Radio_Freq, StrF(Freq/1000,1)+"kHz")

Freq_d = Freq

Endpos = 1

ch=1

 

If CallFunctionFast(*BASS_ASIO_Init, AsioSelectDevice, #BASS_ASIO_THREAD) And BASS_ASIO_CheckRate(Freq_d)

BASS_ASIO_SetRate(Freq_d) : Delay(200) : CallFunctionFast(*BASS_ASIO_Free) :

If dsd_play = 2

SetVolume_gadget(30) : volume_level = 30 ; [4.71]

EndIf

If GetGadgetText(#B_PLAY)="PLAY"

SetGadgetText(#B_PLAY, "Rewrite")

EndIf

Thread_priority = 4 : processing_time = ElapsedMilliseconds2() + 200 : el_total = RN

; Th.l = CreateThread(@UpSamplingThread(), RN)

Th.l = CreateThread(GetRuntimeDouble("UpSamplingThread()"), RN) ; [5.03]

ThreadPriority(Th, Thread_priority): process_stop = #False

; UpSamplingThread(0): process_stop = #False

Music_Start_loop_1:

If Not ready

If Not process_stop

Music_Start_loop_2:

If Windows_Event_Init() : Delay(1) : Goto Music_Start_loop_2 : EndIf

Delay(100) : SignalSemaphore(Semaphore)

SetGadgetColor(#B_PLAY, #PB_Gadget_FrontColor, RGB(Random(104)+150, Random(104)+150, Random(104)+150))

If GetGadgetText(#B_PLAY)="Reading"

processing_time = ElapsedMilliseconds2()

EndIf

If el_total>0

StartDrawing(CanvasOutput(#L_Sound_custom))

Box(RN,RN, 205, 130, RN)

DrawingFont(FontID(fnt))

DrawText(10, 15, "Wait time Left "+RSet(Str(Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000/60)), 2, "0") + ":" + RSet(Str(Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000)%60), 2, "0"), $C0C0C0)

DrawText(10, 40, "Finish time "+FormatDate("%hh:%ii", AddDate( Date() , #PB_Date_Minute, Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000/60) ) ), $C0C0C0)

StopDrawing()

EndIf

I = 0

; If Endpos = -2

; BASS_StreamFree(chan)

; SetGadgetText(#Radio_Freq, "3772"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

; SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

; memReady = -1 : Freq=RN : Endpos=RN :ready=RN

; PlayingList = RN

; ChangeDisplayPlaying(RN)

; PLIST_RESET()

; Goto Music_Start_end

; EndIf

Goto Music_Start_loop_1

EndIf

EndIf

chan4=#channel_A : processing_time = ElapsedMilliseconds2() - processing_time

SetGadgetColor(#B_PLAY, #PB_Gadget_FrontColor, $C0C0C0) : If cover_flg=#False : Display_sound_optimizer() : EndIf

If CallFunctionFast(*BASS_ASIO_Init, AsioSelectDevice, #BASS_ASIO_THREAD) And BASS_ASIO_CheckRate(Freq_d)

BASS_ASIO_SetRate(Freq_d)

ResetRegister() ; [5.21]

If shapeSound

CallFunctionFast(*BASS_ASIO_ChannelEnable, RN,Int(AsioChShift_1), GetRuntimeDouble("AsioProcSharp()"), RN) ; [5.03] ; (RN,Left,@AsioProc(),RN)

Else

CallFunctionFast(*BASS_ASIO_ChannelEnable, RN,Int(AsioChShift_1), GetRuntimeDouble("AsioProc()") , RN) ; [5.03] ; (RN,Left,@AsioProc(),RN)

EndIf

CallFunctionFast(*BASS_ASIO_ChannelJoin, RN,Int(AsioChShift_1+1),Int(AsioChShift_1)) ; (RN,Right,Left)

CompilerSelect #PB_Compiler_Processor

CompilerCase #PB_Processor_x86

BASS_ASIO_ChannelSetFormat(RN,RN,#BASS_ASIO_FORMAT_FLOAT) ; [4.9xx-] 24bit Integer mode #BASS_ASIO_24BIT ( sound quality up )

CompilerCase #PB_Processor_x64

CallCFunctionFast(*BASS_ASIO_ChannelSetFormat, RN,RN,#BASS_ASIO_FORMAT_FLOAT) ; [4.9xx-] 24bit Integer mode #BASS_ASIO_24BIT ( sound quality up )

CompilerEndSelect

For rep=RN To 10

If BASS_ASIO_GetRate()<>Freq_d

BASS_ASIO_SetRate(Freq_d) : Delay(50)

EndIf

Next

If process_stop = #False

CallFunctionFast(*BASS_ASIO_ChannelPause, RN,RN) ; [4.53]

CallFunctionFast(*BASS_ASIO_Start, RN, RN)

EndIf

AddWindowTimer(#WindowMain, 123, 200) ; [4.70]

If envalid And process_stop = #False

processing_time2 = ElapsedMilliseconds2()

Music_Start_loop_3:

If (ElapsedMilliseconds2()-processing_time2)<7000

If Not process_stop

Music_Start_loop_4:

If Windows_Event_Init() : Delay(1) : Goto Music_Start_loop_4 : EndIf

Delay(100) : SetGadgetText(#B_PLAY, "Envalid "+Str(Int((8000-ElapsedMilliseconds2()+processing_time2)/1000)))

I = 0

Goto Music_Start_loop_3

EndIf

EndIf

; SetGadgetText(#B_PLAY, "PLAY")

; Else

; SetGadgetText(#B_PLAY, "PLAY")

EndIf

; If GetGadgetText(#B_PLAY)="Reading"

; SetGadgetText(#B_PLAY, "PLAY")

; EndIf

If Set_Volume<0.001

BASS_ASIO_ChannelSetVolumeR(#False, -1, 0.0001)

ElseIf Set_Volume>0.95

BASS_ASIO_ChannelSetVolumeR(#False, -1, 1)

Else

; BASS_ASIO_ChannelSetVolume(#False, -1, Pow(10, Set_Volume-1))

BASS_ASIO_ChannelSetVolumeR(#False, -1, Set_Volume)

EndIf

If Set_Volume=Set_Volume_bak

Else

processing_time2 = ElapsedMilliseconds2()

Music_Start_loop_5:

If (ElapsedMilliseconds2()-processing_time2)<3000

Music_Start_loop_6:

If WindowEvent() : Delay(1) : Goto Music_Start_loop_6 : EndIf

Delay(100) : SetGadgetText(#B_PLAY, "Volume "+Str(Int((4000-ElapsedMilliseconds2()+processing_time2)/1000)))

I = 0

Goto Music_Start_loop_5

EndIf

EndIf

SetGadgetText(#B_PLAY, "PLAY")

If process_stop = #False

If CallFunctionFast(*BASS_ASIO_IsStarted)

If process_pause

Music_Start_loop_6_pause:

If Not (WindowEvent()= #WM_LBUTTONDOWN) : Goto Music_Start_loop_6_pause : EndIf

EndIf

Delay(300) ; kuroko 300

If command

For I = #Gadget_Start+1 To #Gadget_End-1

If IsGadget(I)

FreeGadget(I)

EndIf

Next

; For I = 0 To 40000 : If IsImage(I) : FreeImage(I) : EndIf : Next

I = Delay02ms_Th : Delay02ms_Th = 0 : Delay(50) : If IsThread(I) : WaitThread(I, 200) : EndIf ; [4.71]

FreeFont(fnt) : FreeFont(fnt2) : FreeFont(fnt6)

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

RemoveWindowTimer(#WindowMain, 123)

RemoveWindowTimer(#WindowMain, 333)

RemoveWindowTimer(#WindowMain, 456)

RemoveWindowTimer(#CWin, 789)

CloseWindow(#WindowMain)

If blackscreen

If InitSprite()

If OpenScreen(800,600, 32, "", #PB_Screen_NoSynchronization)

!Mov Eax, 1000 ; [5.21]

!Music_Start_clear:

!NOP

!NOP

!Dec Eax

!JNZ Music_Start_clear

ResetRegister() ; [5.21]

EndIf

EndIf

EndIf

Delay(2000)

EndIf

CallFunctionFast(*BASS_ASIO_ChannelReset, RN, RN, #BASS_ASIO_RESET_PAUSE)

!FNOP

Goto Music_Start_end

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

EndThread= #True

CallFunctionFast(*BASS_ASIO_Free)

Music_Init()

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

asio_error = GetASIO_Error(CallFunctionFast(*BASS_ASIO_ErrorGetCode)) ; get ASIO error code

CallFunctionFast(*BASS_ASIO_Free)

CallFunctionFast(*BASS_StreamFree, chan)

SetGadgetText(#Radio_Freq, "nReply"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

MessageRequester("Setting error", asio_error+Chr(13)+Chr(10)+"Could you check ASIO devices?"+Chr(13)+Chr(10)+"ASIO didn't set "+Str(Freq)+"Hz or other error."+Chr(10)+Chr(13)+"Your product supoort this mode ?"+Chr(13)+Chr(10)+"Please adjust ASIO buffer and Streming buffer in ASIO control panel.", #MB_OK|#MB_IConerror)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

asio_error = GetASIO_Error(CallFunctionFast(*BASS_ASIO_ErrorGetCode)) ; get ASIO error code

CallFunctionFast(*BASS_ASIO_Free)

CallFunctionFast(*BASS_StreamFree, chan)

SetGadgetText(#Radio_Freq, "Reject"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

MessageRequester("Setting error", asio_error+Chr(13)+Chr(10)+"Could you check ASIO devices?"+Chr(13)+Chr(10)+"ASIO didn't set "+Str(Freq)+"Hz or other error."+Chr(10)+Chr(13)+"Your product supoort this mode ?", #MB_OK|#MB_IConerror)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

SetGadgetText(#Radio_Freq, "Crush"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

EndIf

 

Else

BASS_ASIO_ChannelSetVolumeR(RN, -1, RN)

CallFunctionFast(*BASS_ASIO_Free)

 

Endpos = 1

ch=1

CallFunctionFast(*BASS_ChannelGetAttribute, chan, #BASS_ATTRIB_DSD_RATE, @dsd_check_freq); // get the DSD rate

Debug "jLLL"

Debug dsd_check_freq

 

If CallFunctionFast(*BASS_ASIO_Init, AsioSelectDevice, #BASS_ASIO_THREAD) And CallFunctionFast(*BASS_ASIO_SetDSD, #True) And BASS_ASIO_CheckRate(dsd_check_freq)

SetVolume_gadget(30) : volume_level = 30 ; [4.71]

Freq = freqS : UST=#BugHead_x1 : Freq_d = Freq

BASS_ASIO_SetRate(dsd_check_freq) : Delay(200): SetGadgetText(#B_PLAY, "Rewrite")

Thread_priority = 4 : processing_time = ElapsedMilliseconds2() + 200 : el_total = RN

; Th.l = CreateThread(@UpSamplingThread(), RN)

Th.l = CreateThread(GetRuntimeDouble("UpSamplingThread()"), RN ) ; [5.03]

ThreadPriority(Th, Thread_priority) : process_stop = #False

Music_Start_loop_10:

If Not ready

If Not process_stop

Music_Start_loop_11:

If Windows_Event_Init() : Delay(1) : Goto Music_Start_loop_11 : EndIf

Delay(100) : SignalSemaphore(Semaphore)

If el_total>0

StartDrawing(CanvasOutput(#L_Sound_custom))

Box(RN,RN, 205, 130, RN)

DrawingFont(FontID(fnt))

DrawText(10, 15, "Wait time Left "+RSet(Str(Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000/60)), 2, "0") + ":" + RSet(Str(Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000)%60), 2, "0"), $C0C0C0)

DrawText(10, 40, "Finish time "+FormatDate("%hh:%ii", AddDate( Date() , #PB_Date_Minute, Int((el_total-(ElapsedMilliseconds2()-processing_time))/1000/60) ) ), $C0C0C0)

StopDrawing()

EndIf

SetGadgetColor(#B_PLAY, #PB_Gadget_FrontColor, RGB(Random(104)+150, Random(104)+150, Random(104)+150))

I = 0

Goto Music_Start_loop_10

EndIf

EndIf

SetGadgetColor(#B_PLAY, #PB_Gadget_FrontColor, $C0C0C0) : If cover_flg=#False : Display_sound_optimizer() : EndIf

chan4=#channel_A : processing_time = ElapsedMilliseconds2() - processing_time

dsd_now_freq = dsd_check_freq

SetGadgetText(#Radio_Freq, StrF(dsd_now_freq/1000000,1)+"MHz")

ResetRegister() ; [5.21]

If shapeSound

CallFunctionFast(*BASS_ASIO_ChannelEnable, RN,Int(AsioChShift_1), GetRuntimeDouble("AsioProcSharp()"), RN) ; [5.03]; (RN,Left,@AsioProc(),RN)

Else

CallFunctionFast(*BASS_ASIO_ChannelEnable, RN,Int(AsioChShift_1),GetRuntimeDouble("AsioProc()"), RN) ; [5.03] ; (RN,Left,@AsioProc(),RN)

EndIf

CallFunctionFast(*BASS_ASIO_ChannelJoin, RN,Int(AsioChShift_1+1),Int(AsioChShift_1)) ; (RN,Right,Left)

CompilerSelect #PB_Compiler_Processor

CompilerCase #PB_Processor_x86

BASS_ASIO_ChannelSetFormat(RN, RN, #BASS_ASIO_FORMAT_DSD_MSB) ; // set the data format (DSD with MSB 1st)

CompilerCase #PB_Processor_x64

CallFunctionFast(*BASS_ASIO_ChannelSetFormat, RN, RN, #BASS_ASIO_FORMAT_DSD_MSB) ; // set the data format (DSD with MSB 1st)

CompilerEndSelect

For rep=RN To 10

If BASS_ASIO_GetRate()<>dsd_check_freq

BASS_ASIO_SetRate(dsd_check_freq) : Delay(50)

EndIf

Next

AddWindowTimer(#WindowMain, 123, 200) ; [4.70]

If envalid And process_stop = #False

processing_time2 = ElapsedMilliseconds2()

Music_Start_loop_12:

If (ElapsedMilliseconds2()-processing_time2)<7000

If Not process_stop

Music_Start_loop_13:

If Windows_Event_Init() : Delay(1) : Goto Music_Start_loop_13 : EndIf

Delay(100) : SetGadgetText(#B_PLAY, "Envalid "+Str(Int((8000-ElapsedMilliseconds2()+processing_time2)/1000)))

I = 0

Goto Music_Start_loop_12

EndIf

EndIf

EndIf

; If GetGadgetText(#B_PLAY)="Reading"

; SetGadgetText(#B_PLAY, "PLAY")

; EndIf

If Set_Volume<0.001

BASS_ASIO_ChannelSetVolumeR(#False, -1, 0.0001)

ElseIf Set_Volume>0.95

BASS_ASIO_ChannelSetVolumeR(#False, -1, 1)

Else

BASS_ASIO_ChannelSetVolumeR(#False, -1, Set_Volume)

EndIf

If Set_Volume=Set_Volume_bak

Else

processing_time2 = ElapsedMilliseconds2()

Music_Start_loop_14:

If (ElapsedMilliseconds2()-processing_time2)<3000

Music_Start_loop_15:

If WindowEvent() : Delay(1) : Goto Music_Start_loop_15 : EndIf

Delay(100) : SetGadgetText(#B_PLAY, "Volume "+Str(Int((4000-ElapsedMilliseconds2()+processing_time2)/1000)))

I = 0

Goto Music_Start_loop_14

EndIf

EndIf

SetGadgetText(#B_PLAY, "PLAY")

If process_stop = #False

If process_pause

Music_Start_loop_14_pause:

If Not (WaitWindowEvent()= #WM_LBUTTONDOWN) : Goto Music_Start_loop_14_pause : EndIf

EndIf

If command

For I = #Gadget_Start+1 To #Gadget_End-1

If IsGadget(I)

FreeGadget(I)

EndIf

Next

; For I = 0 To 40000 : If IsImage(I) : FreeImage(I) : EndIf : Next

FreeFont(fnt) : FreeFont(fnt2) : FreeFont(fnt6)

I = Delay02ms_Th : Delay02ms_Th = 0 : Delay(50) : If IsThread(I) : WaitThread(I, 200) : EndIf ; [4.71]

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

SetWindowCallback(0) ; x4 max, Jitter control for Bug head

RemoveWindowTimer(#WindowMain, 123)

RemoveWindowTimer(#WindowMain, 333)

RemoveWindowTimer(#WindowMain, 456)

RemoveWindowTimer(#CWin, 789)

CloseWindow(#WindowMain)

If blackscreen

If InitSprite()

If OpenScreen(800,600, 32, "", #PB_Screen_NoSynchronization)

!Mov Eax, 1000 ; [5.21]

!Music_Start_clear_2:

!NOP

!NOP

!Dec Eax

!JNZ Music_Start_clear_2

ResetRegister() ; [5.21]

EndIf

EndIf

EndIf

Delay(2000)

EndIf

CallFunctionFast(*BASS_ASIO_Start, RN, RN)

!FNOP

Goto Music_Start_end

Else

SetGadgetText(#B_PLAY, "PLAY")

EndThread= #True

CallFunctionFast(*BASS_ASIO_Free)

Music_Init()

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

Else

SetGadgetText(#B_PLAY, "PLAY")

asio_error = GetASIO_Error(CallFunctionFast(*BASS_ASIO_ErrorGetCode)) ; get ASIO error code

CallFunctionFast(*BASS_ASIO_Free)

CallFunctionFast(*BASS_StreamFree, chan)

SetGadgetText(#Radio_Freq, "Reject"): While WindowEvent() :Delay(1) :Wend :Delay(3000)

MessageRequester("Setting error", asio_error+Chr(13)+Chr(10)+"Could you check ASIO devices?"+Chr(13)+Chr(10)+"ASIO didn't set "+StrF(dsd_check_freq/1000000,2)+"MHz or other error."+Chr(10)+Chr(13)+"Your product supoort this mode ?", #MB_OK|#MB_IConerror)

SetGadgetText(#Radio_Freq, StrF(freqS/1000,1)+"kHz")

memReady = -1 : Freq=RN : Endpos=RN :ready=RN

PlayingList = RN

ChangeDisplayPlaying(RN)

PLIST_RESET()

EndIf

 

EndIf

 

; EndSelect

Music_Start_end:

If process_pause

SetGadgetText(#B_PAUSE, "PAUSE")

EndIf

EndProcedure

 

Кто подхватит упавшее знамя революции, есть программисты и любители правильного звука?

Дерзайте.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возникли проблемы при воспроизведении BHE.

Версия 5.46 - 5.51 при запуске воспроизведения пишет Crush (не воспроизводит треки)? Версии ниже 5.46 работают нормально?!

post-12651-0-20964500-1445450969_thumb.png

Как лечить?

 

PS. BHE 5.42 при буфере 32-64 "мычит"? Более ранние версии буфер 32 поддерживали!


Спойлер

DALI iO-12

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возникли проблемы при воспроизведении BHE.

Версия 5.46 - 5.51 при запуске воспроизведения пишет Crush (не воспроизводит треки)? Версии ниже 5.46 работают нормально?!

post-12651-0-20964500-1445450969_thumb.png

Как лечить?

 

PS. BHE 5.42 при буфере 32-64 "мычит"? Более ранние версии буфер 32 поддерживали!

Не знаю, у меня ничего подобного нет. Версия 5.51 звучит божественно, с 5.46 по 5.50 у меня нет, ничего сказать не могу. Более ранние тоже звучат хорошо, хотя в каких то нюансах и проигрывают последней. Попробуйте переустановить с официального сайта или обновиться, предварительно деинсталлировав глючную.
  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@spongebob, BHE 5.42 при буфере 32-64 "мычит". Подтверждаю, 5.42 и выше, лечится только увеличением буфера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из рекомендаций Хироюки среди прочих:

- Установить 32 ГБ оперативной памяти.

- Затем запустить Infinity blade SQ, включить zTunes и установить банки памяти 8/8/8/8 ГБ для достижения High class professional.

 

Можно получить режим High class professional и при наличии двух планок памяти по 8 ГБ - включив zTunes и установив параметры памяти 4/4/4/4. Разницу с 8//8/0/0 (10% деградации звука) не заметил.

Наверное, тоже не замечу разницу при добавлении 16 ГБ памяти. Производители оперативной памяти должны молится на Хироюки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я, при 32 Гб, получаю режим High class professional и в простой версии БХ, а не только Infinity blade SQ. При 32 - он в любой будет.


 

 

Продам:

Audeze Lcd-3 Дофазорные 60 т.р. http://forum.doctorhead.ru/index.php?app=classifieds&module=core&do=view_item&item_id=26771

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

- Установить 32 ГБ оперативной памяти.

Infinity blade SQ - 4/4/4/4 - High class professional.


$ РЕКЛАМНОЕ МЕСТО СДАЕТСЯ В АРЕНДУ $

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@ozonoleg, он что то писал о своем состоянии и временным закрытием проекта. Кстати, из ФБ исчезла страничка Баг-Хеада

Еще написал,что вышла финальная версия PureBasic и от этого звук будет еще лучше.Т.ч. я думаю,что работа продолжится и еще делал ссылки на этот плеер - http://tiki-s.cocolo...unebrowser.html

Изменено пользователем ogur66

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А потом и 5.55...

А потом ...

Парни, ну вы как дети, как вы это не поймете, цель нашего вашего автора не в улучшении SQ, цель вот в чем:

 

 

post-22080-0-40256700-1445615159_thumb.png

 

 

Это как мальчики в начальных классов, кто выше ...

Так и здесь, кто больше "лайков" соберет...

А вы ведетесь: новая,... новая...., новая , новая, .... , ....

Нет, я не против, вот когда я на буржуйских форумах маразм читаю, то вспоминаю "Ну, тупые..", а вот когда на наших, то же самое "Ну. тупые..".

Нет. сори. "Ну, аудиофилы.."


 

Marantz CD-63 mkII KIS, SACD-DVD DV7600,

Van den Hul D-102 III Hybrid 0.8м, The DIGICOUPLER Hybrid 0,8м, Tara labs Prime Generation 2 0,8м,

ADCOM GFP-565, GFA-5400,

Tara Labs RSC Prime Bi-wire Speaker Cable 1,5м,

Infinity Reference 51 MKII, Sennheiser HD-590,

PC Acer Aspire Revo R3700 (1,8 Ггц, 4 Гб), DAC D-68 (Алексея Самсонова).

 

 

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@fordfocus533,

Это не Ваш любимый плеер и Вы не следите за его звуком. Те, кто им пользуется, давно подозревает автора к склонности магии чисел. Вспоминаются его первые Инфинити блэйд стар, 5.05. У всех был звук, отличающийся в лучшую сторону от основного ряда. Поэтому лично я и жду с предвкушением именно эту версию. При этом, конечно, не знаю, есть ли у автора склонность к магии чисел и будет ли прорыв в звуке.

 

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


 

 

Продам:

Audeze Lcd-3 Дофазорные 60 т.р. http://forum.doctorhead.ru/index.php?app=classifieds&module=core&do=view_item&item_id=26771

 

 

  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@fordfocus533,

Это не Ваш любимый плеер и Вы не следите за его звуком. Те, кто им пользуется, давно подозревает автора к склонности магии чисел. Вспоминаются его первые Инфинити блэйд стар, 5.05. У всех был звук, отличающийся в лучшую сторону от основного ряда. Поэтому лично я и жду с предвкушением именно эту версию. При этом, конечно, не знаю, есть ли у автора склонность к магии чисел и будет ли прорыв в звуке.

 

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

Полностью согласен про магию чисел. И слава Б-гу, что Вы не говорите о SQ, а только про магию чисел. Тогда рабочие версии - это 6.66. это 7.77, это 66.6 -это.... ну тенденцию кто-то понял. мы же не о SQ говорим. а о магии чисел.

Да, это не мой "любимый плеер"...Это магия чисел...


 

Marantz CD-63 mkII KIS, SACD-DVD DV7600,

Van den Hul D-102 III Hybrid 0.8м, The DIGICOUPLER Hybrid 0,8м, Tara labs Prime Generation 2 0,8м,

ADCOM GFP-565, GFA-5400,

Tara Labs RSC Prime Bi-wire Speaker Cable 1,5м,

Infinity Reference 51 MKII, Sennheiser HD-590,

PC Acer Aspire Revo R3700 (1,8 Ггц, 4 Гб), DAC D-68 (Алексея Самсонова).

 

 

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это не Ваш любимый плеер и Вы не следите за его звуком. Те, кто им пользуется, давно подозревает автора к склонности магии чисел.....

Да нет там ни какой магии чисел нет.

Всё гораздо проще.

У одних плеер работает, у других не хочет.

Отсюда и различные "измы...",и другие "излишества нехорошие..."

Вот в чём весь фокус!

 

post-22247-0-68940400-1445631954_thumb.jpg

 

Всем хороших выходных.

Изменено пользователем AntonKhonin

$ РЕКЛАМНОЕ МЕСТО СДАЕТСЯ В АРЕНДУ $

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это не Ваш любимый плеер и Вы не следите за его звуком. Те, кто им пользуется, давно подозревает автора к склонности магии чисел.....

Да нет там ни какой магии чисел нет.

Всё гораздо проще.

У одних плеер работает, у других не хочет.

Отсюда и различные "измы...",и другие "излишества нехорошие..."

 

post-22247-0-68940400-1445631954_thumb.jpg

 

Всем хороших выходных.

Ну вот, опять не свезло!!!! А я надеялся, помните в детстве портвейн 777...

Ладно, нет так нет. Будем собирать комп.

Шучу, не будем собирать, все уже играет AssetUPnP + Kinsky + JPLAYStreamer - просто супер.


 

Marantz CD-63 mkII KIS, SACD-DVD DV7600,

Van den Hul D-102 III Hybrid 0.8м, The DIGICOUPLER Hybrid 0,8м, Tara labs Prime Generation 2 0,8м,

ADCOM GFP-565, GFA-5400,

Tara Labs RSC Prime Bi-wire Speaker Cable 1,5м,

Infinity Reference 51 MKII, Sennheiser HD-590,

PC Acer Aspire Revo R3700 (1,8 Ггц, 4 Гб), DAC D-68 (Алексея Самсонова).

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@fordfocus533, одно не могу понять, ну не нравится тебе этот плеер, какого хрена ты постоянно торчишь в ветке и пишешь странные комменты. Делать больше нечего. Без обид. Действительно не понимаю. Я купил Жиривер, и жиплей -остался равнодушен. По идее мне надо теперь на ветке про эти программы срачем исходить. Или архиповские усилители. Был, послушал. Полног (на исключительно мой взгляд) гуано. Так что, мне теперь тусоваться в ветке усилителей от Метра разъяснять как их разводят-??? Зачем. Странный ты человек -Фордфокус.....

 

А Ваша теория тоже имеет право на существование, как и любая другая

не согласен, Аркадий. Есть теории работающие на деструктив. Ну ты понимаешь о чем я. И такие теории надо нейтрализовывать. Пока они не начали реализовываться . Не физически конечно, информационным контрударом.

Момент терпения в минуту гнева, предотвращает тысячи моментов сожаления

 

Мой тракт

Источники - CD -player Parasound CDP-1000 SACD, BD, DVD -Cambrig Azur BD-751, PC

DAC - COUNTERPOINT DA-10UE+edell, , LynxD60V1 Flamenko

Hedamps - Cyber 20 Mod (Hasimotto trans), Lynx HA61, Lynx HA-46, Shoker AMP

Snorry Super MOD TDS-7 , Snorry Super MOD TDS-15 плоская мембранна сейчас они за номером 1 ,Snorry Super MOD TDS-15 рифленая мембранна Snorry Mod TDS-7, , Hifiman HE5-LE, Grado HP-1 (HP1000rev1) - отдал человеку, понимающему в них толк, взамен мне прислали ATH-W3000, HE-6, DT-911, AKG-240-mk2, ATH-ES7

portatable - Ibasso100, cowon plenue

Продал -LCD-2r2, Grado GS1000 Auditor SPL Burson DAC160

стационар сейчас в процессе глобальной перестройки, винил в шкафу, магнепаны в консервации, кефы и аудиоресерчи - продал, усилитель "The end of Millenium" на стадии сборки , в таком же состоянии и Lynx PA21

 

  • Нравится 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@AntonAlipov, на практике не всегда удаётся нейтрализовать информационно. Очень часто теории исчезают только с их носителями. Как вымирают все носители - теория или становится невостребованной, или вообще забытой. Особенно ярко это видно на примере науки. Для информации необходим носитель. Всегда. Даже если это инфоквант - тонкоматериальный носитель. А идеи, теории, часто сидят именно в людях. Древние индусы говорили: нет человека, есть идеи. Поэтому часто можно видеть, как при уничтожении человека пропадает интерес к идеям, носителем которых он являлся. Ну, если не заразил ими других людей. Тогда, чтобы уничтожить идею, их тоже нужно... Того... Ну это так, маленькое лирическое философское отступление :) ну, я думаю, @fordfocus533 понял ;)

 


 

 

Продам:

Audeze Lcd-3 Дофазорные 60 т.р. http://forum.doctorhead.ru/index.php?app=classifieds&module=core&do=view_item&item_id=26771

 

 

  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... Делать больше нечего. Без обид. ...

AntonAlipov, ты сам ответил на свой вопрос - нечего. Я "старая. больная черепаха", спорт уже далеко, что-то же надо делать долгими, зимними вечерами.

Опять же, не читайте мои опусы (я от скромности не...)

А вот Арика я не понял...

Я здесь часто повторял фразу Аркадия Галича - Бойтесь тех, кто знает как надо.

Я пишу про 777 и не кого лично не трогаю (пока), а вот шутки арика (неудачные шутки, это же шутки?), да Б-г с ними, с умниками.


 

Marantz CD-63 mkII KIS, SACD-DVD DV7600,

Van den Hul D-102 III Hybrid 0.8м, The DIGICOUPLER Hybrid 0,8м, Tara labs Prime Generation 2 0,8м,

ADCOM GFP-565, GFA-5400,

Tara Labs RSC Prime Bi-wire Speaker Cable 1,5м,

Infinity Reference 51 MKII, Sennheiser HD-590,

PC Acer Aspire Revo R3700 (1,8 Ггц, 4 Гб), DAC D-68 (Алексея Самсонова).

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...

Важная информация

Пользуясь форумом вы соглашаетесь с нашими Условия использования.