Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local cam = cam
- local draw = draw
- local ScrW = ScrW
- local ScrH = ScrH
- local hide = {
- CHudHealth = true,
- CHudBattery = true,
- }
- local function HideThings( name )
- if ( hide[ name ] ) then return false end
- end
- hook.Add( "HUDShouldDraw", "HideThings", HideThings )
- --[[-------------------------------------------------------------------------------]]--
- visualizer = visualizer or {}
- --[[-------------------------------------------------------------------------------]]--
- visualizer.levels = visualizer.levels or {
- [FFT_256] = 128,
- [FFT_512] = 256,
- [FFT_1024] = 512,
- [FFT_2048] = 1024,
- [FFT_4096] = 2048,
- [FFT_8192] = 4096,
- [FFT_16384] = 8192,
- }
- --[[-------------------------------------------------------------------------------]]--
- visualizer.Level = FFT_256
- visualizer.LevelW = 22
- visualizer.LevelH = ScrW()
- visualizer.TotalW = visualizer.LevelW * visualizer.levels[ visualizer.Level ]
- visualizer.URL = "http://jukebox.ijwtb.net/music/Capital Cities/In A Tidal Wave Of Mystery/I Sold My Bed, But Not My Stereo.mp3"
- visualizer.Channel = visualizer.Channel
- visualizer.Pos = Vector( -1000, 1000, -11275 )
- visualizer.Ang = Angle( 0, 0, 90 )
- --[[-------------------------------------------------------------------------------]]--
- concommand.Add( "visualizer_url", function( ply, cmd, args, str )
- visualizer.URL = args[1]
- end )
- --[[-------------------------------------------------------------------------------]]--
- concommand.Add( "visualizer_levels", function( ply, cmd, args, str )
- local num = tonumber( args[1] )
- if ( !num ) then return end
- local fft = _G[ "FFT_" .. num ]
- if ( !fft ) then return end
- visualizer.Level = fft
- visualizer.TotalW = visualizer.LevelW * visualizer.levels[ fft ]
- end )
- --[[-------------------------------------------------------------------------------]]--
- concommand.Add( "visualizer_pos", function( ply, cmd, args, str )
- local x, y, z = tonumber( args[1] ), tonumber( args[2] ), tonumber( args[3] )
- if ( !x or !y or !z ) then return end
- visualizer.Pos = Vector( x, y, z )
- end )
- --[[-------------------------------------------------------------------------------]]--
- concommand.Add( "visualizer_ang", function( ply, cmd, args, str )
- local p, y, r = tonumber( args[1] ), tonumber( args[2] ), tonumber( args[3] )
- if ( !p or !y or !r ) then return end
- visualizer.Ang = Vector( p, y, r )
- end )
- --[[-------------------------------------------------------------------------------]]--
- function visualizer.Play()
- visualizer.Stop()
- hook.Add( "PostDrawOpaqueRenderables", "Visualizer", visualizer.Draw )
- sound.PlayURL( visualizer.URL, "noblock", function( channel, errID, errName )
- visualizer.Channel = channel
- end )
- end
- concommand.Add( "visualizer_play", function( ply, cmd, args, str )
- visualizer.Play()
- end )
- --[[-------------------------------------------------------------------------------]]--
- function visualizer.Stop()
- if ( visualizer.Channel ) then
- visualizer.Channel:Stop()
- visualizer.Channel = nil
- end
- hook.Remove( "PostDrawOpaqueRenderables", "Visualizer" )
- end
- concommand.Add( "visualizer_stop", function( ply, cmd, args, str )
- visualizer.Stop()
- end )
- --[[-------------------------------------------------------------------------------]]--
- function visualizer.Draw()
- if( not IsValid( visualizer.Channel ) ) then return end
- local FFTable = {}
- local FFTLevels = visualizer.Channel:FFT( FFTable, visualizer.Level )
- cam.Start3D2D( visualizer.Pos, visualizer.Ang, 1 )
- draw.RoundedBox( 0, 0, 0, visualizer.TotalW, ScrH(), Color(120,120,120,50) )
- cam.End3D2D()
- local fft, x, y
- local levelW = visualizer.LevelW
- for i = 1, #FFTable do
- fft = FFTable[ i ]
- local levelH = fft * visualizer.LevelH
- x = 22 * ( i - 1 )
- y = ScrH() - levelH
- cam.Start3D2D( visualizer.Pos, visualizer.Ang, 1 )
- draw.RoundedBox( 0, x, y, levelW, levelH, Color( 255, i * 5,0 ) )
- surface.SetDrawColor( Color( 0, 0, 0 ) )
- surface.DrawOutlinedRect( x, y, levelW, levelH )
- draw.SimpleText( i, font, x + 11, y, color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
- cam.End3D2D()
- end
- end
- --[[-------------------------------------------------------------------------------]]--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement