Advertisement
Guest User

Untitled

a guest
Jul 24th, 2014
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.21 KB | None | 0 0
  1. local cam = cam
  2. local draw = draw
  3. local ScrW = ScrW
  4. local ScrH = ScrH
  5.  
  6. local hide = {
  7.     CHudHealth  = true,
  8.     CHudBattery = true,
  9. }
  10.  
  11. local function HideThings( name )
  12.     if ( hide[ name ] ) then return false end
  13. end
  14. hook.Add( "HUDShouldDraw", "HideThings", HideThings )
  15.  
  16.  
  17.  
  18.  
  19. --[[-------------------------------------------------------------------------------]]--
  20. visualizer = visualizer or {}
  21. --[[-------------------------------------------------------------------------------]]--
  22. visualizer.levels = visualizer.levels or {
  23.     [FFT_256]   = 128,
  24.     [FFT_512]   = 256,
  25.     [FFT_1024]  = 512,
  26.     [FFT_2048]  = 1024,
  27.     [FFT_4096]  = 2048,
  28.     [FFT_8192]  = 4096,
  29.     [FFT_16384] = 8192,
  30. }
  31. --[[-------------------------------------------------------------------------------]]--
  32. visualizer.Level  = FFT_256
  33. visualizer.LevelW = 22
  34. visualizer.LevelH = ScrW()
  35. visualizer.TotalW = visualizer.LevelW * visualizer.levels[ visualizer.Level ]
  36.  
  37. visualizer.URL     = "http://jukebox.ijwtb.net/music/Capital Cities/In A Tidal Wave Of Mystery/I Sold My Bed, But Not My Stereo.mp3"
  38. visualizer.Channel = visualizer.Channel
  39.  
  40. visualizer.Pos = Vector( -1000, 1000, -11275 )
  41. visualizer.Ang = Angle( 0, 0, 90 )
  42. --[[-------------------------------------------------------------------------------]]--
  43. concommand.Add( "visualizer_url", function( ply, cmd, args, str )
  44.     visualizer.URL = args[1]
  45. end )
  46. --[[-------------------------------------------------------------------------------]]--
  47. concommand.Add( "visualizer_levels", function( ply, cmd, args, str )
  48.     local num = tonumber( args[1] )
  49.     if ( !num ) then return end
  50.    
  51.     local fft = _G[ "FFT_" .. num ]
  52.     if ( !fft ) then return end
  53.    
  54.     visualizer.Level = fft
  55.     visualizer.TotalW = visualizer.LevelW * visualizer.levels[ fft ]
  56. end )
  57. --[[-------------------------------------------------------------------------------]]--
  58. concommand.Add( "visualizer_pos", function( ply, cmd, args, str )
  59.     local x, y, z = tonumber( args[1] ), tonumber( args[2] ), tonumber( args[3] )
  60.     if ( !x or !y or !z ) then return end
  61.    
  62.     visualizer.Pos = Vector( x, y, z )
  63. end )
  64. --[[-------------------------------------------------------------------------------]]--
  65. concommand.Add( "visualizer_ang", function( ply, cmd, args, str )
  66.     local p, y, r = tonumber( args[1] ), tonumber( args[2] ), tonumber( args[3] )
  67.     if ( !p or !y or !r ) then return end
  68.    
  69.     visualizer.Ang = Vector( p, y, r )
  70. end )
  71. --[[-------------------------------------------------------------------------------]]--
  72. function visualizer.Play()
  73.     visualizer.Stop()
  74.  
  75.     hook.Add( "PostDrawOpaqueRenderables", "Visualizer", visualizer.Draw )
  76.    
  77.     sound.PlayURL( visualizer.URL, "noblock", function( channel, errID, errName )
  78.         visualizer.Channel = channel
  79.     end )
  80. end
  81. concommand.Add( "visualizer_play", function( ply, cmd, args, str )
  82.     visualizer.Play()
  83. end )
  84. --[[-------------------------------------------------------------------------------]]--
  85. function visualizer.Stop()
  86.     if ( visualizer.Channel ) then
  87.         visualizer.Channel:Stop()
  88.         visualizer.Channel = nil
  89.     end
  90.    
  91.     hook.Remove( "PostDrawOpaqueRenderables", "Visualizer" )
  92. end
  93. concommand.Add( "visualizer_stop", function( ply, cmd, args, str )
  94.     visualizer.Stop()
  95. end )
  96. --[[-------------------------------------------------------------------------------]]--
  97. function visualizer.Draw()
  98.     if( not IsValid( visualizer.Channel ) ) then return end
  99.  
  100.     local FFTable   = {}
  101.     local FFTLevels = visualizer.Channel:FFT( FFTable, visualizer.Level )
  102.    
  103.    
  104.     cam.Start3D2D( visualizer.Pos, visualizer.Ang, 1 )
  105.         draw.RoundedBox( 0, 0, 0, visualizer.TotalW, ScrH(), Color(120,120,120,50) )
  106.     cam.End3D2D()
  107.    
  108.     local fft, x, y
  109.    
  110.     local levelW = visualizer.LevelW
  111.    
  112.     for i = 1, #FFTable do
  113.         fft = FFTable[ i ]
  114.         local levelH = fft * visualizer.LevelH
  115.        
  116.         x = 22 * ( i - 1 )
  117.         y = ScrH() - levelH
  118.        
  119.         cam.Start3D2D( visualizer.Pos, visualizer.Ang, 1 )
  120.             draw.RoundedBox( 0, x, y, levelW, levelH, Color( 255, i * 5,0 ) )
  121.             surface.SetDrawColor( Color( 0, 0, 0 ) )
  122.             surface.DrawOutlinedRect( x, y, levelW, levelH )
  123.             draw.SimpleText( i, font, x + 11, y, color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )
  124.         cam.End3D2D()
  125.     end
  126. end
  127. --[[-------------------------------------------------------------------------------]]--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement