aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Screens/UScreenSong.pas (follow)
Commit message (Collapse)AuthorAgeFilesLines
* - input-source selection works now (with bass or portaudio with portmixer)tobigun2008-05-091-40/+55
| | | | | | | | | | | | | | | | - audio-effects (DSP) interface for audio-playback plus a simple voice removal example (does not sound that good) - FFMpeg support for BASS - audio-clock for FFMpeg for GetPosition and synchronisation - more compatible seeking in FFMpeg - clean termination of the audio interfaces/streams (especially ffmpeg) - Audio output device enumeration (selection will be added later to the sounds option screen) - display of threshold and volume in the record-options screen - threshold and volume can be changed with the 'T' (threshold) and '+'/'-' (source volume) keys - added a FadeIn() method to the IAudioPlayback interface - some minor changes to the audio classes/screens - new base-class for audio-playback classes (used by bass, portaudio and sdl) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1078 b956fd51-792f-4845-bead-9b4dfca2ff2c
* MacOSX patch for WideUpperChar. The cwstring Unicode manager is not ↵tobigun2008-05-021-3/+4
| | | | | | supported at the moment because of some problems with the iconv linker dependencies. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1056 b956fd51-792f-4845-bead-9b4dfca2ff2c
* replaced WideUpperCase with WideCharUpperCasetobigun2008-05-021-2/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1055 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Replaced OpenGL12 with SDL's gl/glu/glext units because OpenGL12 was removed ↵tobigun2008-05-021-1/+1
| | | | | | | | from SDL (several years ago? Last update was done in 2004). In addition OpenGL12 was very buggy (see last commit). The new units support OpenGL up to version 2.0 (extensions must be loaded first, see UGraphic.LoadOpenGLExtensions). At the moment, only 1.2 extensions are loaded. Some constants, that were introduced in OpenGL 1.2 and above (like GL_BGR or GL_CLAMP_TO_EDGE) are in glext.pas, so check this file first for missing constants. The MacOS build depends on OpenGL12.pas but has its own file in the MacOSX/Wrapper folder instead of using the JEDI-SDL one. Sorry, that I broke MacOSX build for now but it should be no problem to get this working again. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1052 b956fd51-792f-4845-bead-9b4dfca2ff2c
* tried to make songloading working with the old loader and keep all changes ↵s_alexander2008-04-191-98/+98
| | | | | | | | | | | that were made since starting to work on a new one *hope that worked* you may delete your existing cover.cache (the cover cache is still NOT working) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1024 b956fd51-792f-4845-bead-9b4dfca2ff2c
* removed lazarus dependenciestobigun2008-04-061-26/+6
| | | | | | | | | | | | - added an implementation of AllocateHWnd/DeallocateHWnd to UCommon for the Win32 only units DirWatch and Midi... (do not use AllocateHWnd somewhere else) - added an own implementation of ShowMessage to UCommon (uses MessageBox in Windows, console-output otherwise) - linux still needs lresources for the lrs-file (will be removed soon) - the FPC windows version uses windows resources now (instead of lrs ones). compile them with windres (in FPC's "bin" dir) or delphi (a batch-file for windres will follow soon) - changed path-separator from '\' to '/' in RC-file for windres compatibility git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1006 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Replaced some {-comments with (*-comments to remove nested comments of the ↵tobigun2008-04-061-4/+13
| | | | | | | | same type like: { {} }. Although delphi and FPC can cope with them, some editors (like lazarus) don't like them and erroneously display everything after the comment as commented out. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1004 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Covers Cache rewrittenwhiteshark02008-04-041-11/+11
| | | | | | | New Cover.Cache fileformat covers texture loading still missing... git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1001 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Now colorized textures are appended to the TTextureDatabase too. This will ↵tobigun2008-03-311-2/+2
| | | | | | | | prevent USDX from loading textures for buttons, statics etc. multiple times. This saves approx. 100MB of memory (100MB instead of 200MB, which is still too many) and speeds-up the loading process (starts in 3-6secs now instead of 12secs). git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@992 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Removed unused Format-parameter in LoadTexture() and Add...()tobigun2008-03-311-3/+3
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@990 b956fd51-792f-4845-bead-9b4dfca2ff2c
* beep() removedtobigun2008-03-311-1/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@989 b956fd51-792f-4845-bead-9b4dfca2ff2c
* - removed "Font Black" and "Font" texture typetobigun2008-03-311-12/+12
| | | | | | | | - use TEXTURE_TYPE_TRANSPARENT/COLORIZED/PLAIN in the future - texture-type is an enum now (not a string as before) -> pros: less memory consumption, compiler-check, case-insensitive, ... git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@988 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Prepared some classes for enhanced Song loading.whiteshark02008-03-301-95/+95
| | | | | | | Commited to work with s_alexander in this task. Song loading doesn't work at this point git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@983 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Some WideChar casts to let it compile in Delphi7 again.whiteshark02008-03-281-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@979 b956fd51-792f-4845-bead-9b4dfca2ff2c
* added "-debug" flag at run time and "CONSOLE" Define in switches.inc jaybinks2008-03-261-79/+2
| | | | | | also the default is to run with no debug info sent to the console git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@973 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Fixed compilation on the mac.eddie-08152008-03-251-4/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@972 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Support for non-US (QWERTY) keyboard layout.tobigun2008-03-221-150/+164
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@970 b956fd51-792f-4845-bead-9b4dfca2ff2c
* ParseInput(... ScanCode: byte; ...) -> ParseInput(... CharCode: WideChar; ...)tobigun2008-03-211-8/+8
| | | | | | See: http://trac2.assembla.com/usdx/ticket/35 git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@966 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Removed zlportio from Codef1fth_freed0m2008-03-101-13/+16
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@954 b956fd51-792f-4845-bead-9b4dfca2ff2c
* auto removed a bunch of unused local variablesjaybinks2008-03-101-11/+11
| | | | | | | | ( removed with a script parsing compiler output ) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@950 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Translated German comments to Englishf1fth_freed0m2008-03-061-9/+9
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@918 b956fd51-792f-4845-bead-9b4dfca2ff2c
* made jokers in Song Selection screen hidden.jaybinks2008-03-051-2/+4
| | | | | | | | | Suspect that work is still required to get party mode to function correctly because an unfinished modification appears to be causing some party mode stuff to be incomplete. would be great if the author of this would finish it :) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@910 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Some cleanuptobigun2008-03-051-59/+59
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@908 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Equalizer (Analyser) is displayed again with BASStobigun2008-03-051-19/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@907 b956fd51-792f-4845-bead-9b4dfca2ff2c
* all screens now inherit their OnShowjaybinks2008-02-201-0/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@870 b956fd51-792f-4845-bead-9b4dfca2ff2c
* bugfix to get the editor working again. Path and FileName have not been set.tobigun2008-02-051-2173/+2172
| | | | | | | | In addtion LoadSong was not used to actually load the song. Jay or some other dev: please revise the changes. The Lyric var is not set too, so it crashes on Lyric.Clear in TScreenEditSub.onShow. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@829 b956fd51-792f-4845-bead-9b4dfca2ff2c
* General:tobigun2008-02-051-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - cleanup and adaption of SingDrawOscilloscope Portaudio/SDL audio output: - stuttering in portaudio output has been fixed (SDL_MixBuffers cannot be used without initializing the SDL audio stuff first, so it is not usable with portaudio. Now SDL is used for audio-output instead of portaudio (although the file-name is UAudioPlayback_Portaudio.pas at the moment). - cleaner file closing - volume adjustment UMusic: - cleanup of the audio-interfaces - introduced TNoteType = (ntFreestyle, ntNormal, ntGolden) - some bug-fixes - introduced TSoundLibrary. This is library for all in-game sounds used by USDX. Instead of calling AudioPlayer.PlaySwoosh you should call AudioPlayer.PlaySound(SoundLib.Swoosh) now. You might call SoundLib.Swoosh.Play too, but this is not recommended at the moment because SoundLib.Swoosh could be nil if the file was not found. The SoundLibrary approach is much cleaner than the previous one. The AudioPlayer does not have to specify a Play... and Stop... method for every available sound anymore. In addition it is not an AudioPlayers responsibility to init the in-game sounds. URecord: - polish to english translation of some variables - CaptureSoundLeft/Right is CaptureChannel[0/1] now - TSoundCardInput -> TAudioInputDeviceSource - TGenericSoundCard.Input -> TGenericSoundCard.Source - autocorrelation algorithm more readable now - Clean-up of the audio-input interface - moved cloned code of the input-classes to one base class (TAudioInputBase) - Cleaner finalization - Start-/StopCapture will not crash anymore in the recording-options menu - Fixed several bugs in the autocorrelation stuff (e.g. wrong usage of $10000) - SzczytJest (now ToneValid) was not used correctly. ToneValid is set to true if a valid tone was found (= the sound was louder than the threshold -> no background noise). If i remember correctly the sound was accepted although the tone was invalid. So the old data was used although noone was singing. This resulted in some sort of ghost-singer effect. UIni: - moved TIni.Card to TScreenOptionsRecord.Card because it is not stored in the ini-file and will not be in the future. - TIni.CardList ist now TIni.InputDeviceConfig. The name cardlist was misleading because it just specifies input- but no output-devices. In addition a soundcard can have multiple input-devices (at least in linux). - bugfix on InputDeviceConfig (formerly CardList) usage. USDX expected that the indices of the corresponding elements in TIni.InputDeviceConfig[] and TAudioInputProcessor.Device[] were the same. This is wrong. If device 2 was defined at first place in the ini and device 1 at the second, the indices of the two arrays didn't match (they were swapped) erroneously. To fix this and to support the item listed below the index to TIni.InputDeviceConfig[] is now stored in TAudioInputDevice.CfgIndex. NOTE: InputDeviceConfig[] contains configurations of non-available (unplugged) devices. Iterate over TAudioInputProcessor.Device[] for available devices. - configurations of external devices that are not plugged in will not be deleted anymore. - multiple definitions of one device in the ini-file will not crash USDX anymore - CardList[I].ChannelL/R now are InputDeviceConfig[I].ChannelToPlayerMap[0/1]. I think the new name is more intuitive because it maps a channel to a player number. Now the both vars are joint to one array. Now it is possible to use loops to process them and we might support more than two input channels on one device in the future (if such devices exist) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@827 b956fd51-792f-4845-bead-9b4dfca2ff2c
* tidy up sing mode, to be an enum now.jaybinks2008-01-141-28/+32
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@794 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Bugfix: when entering the song-screen the preview on the first song was ↵tobigun2008-01-141-12/+13
| | | | | | never played. Reason: Length of audio-file was checked _before_ it was opened. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@793 b956fd51-792f-4845-bead-9b4dfca2ff2c
* bunch of smaller changes...jaybinks2008-01-121-9/+9
| | | | | | | | | | some changes to song loading... Record global changed to singleton object started implementing mic volume display in Settings-Record hope this dosnt break anything.. :P git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@789 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Cleanup: Use the property Position in favor of MoveTo() (MoveTo() will be ↵tobigun2008-01-111-2/+2
| | | | | | SetPosition() soon) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@784 b956fd51-792f-4845-bead-9b4dfca2ff2c
* fixed crash on song play, if the AudioInterface reports the songjaybinks2007-12-181-1/+2
| | | | | | | | as 0 length. fixed ffmpeg bug with song length. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@722 b956fd51-792f-4845-bead-9b4dfca2ff2c
* GetFFTData() is an output- and not an input-interface's functiontobigun2007-12-051-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@671 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Partymodule finished.whiteshark02007-11-041-11/+12
| | | | | | All PartyScreens and SingScreen needs some adapting. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@583 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Runtime Song Additionjaybinks2007-11-021-4/+91
| | | | | | jira:USDX-157 git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@553 b956fd51-792f-4845-bead-9b4dfca2ff2c
* fixed failed buildsjaybinks2007-11-011-1/+6
| | | | | | | | | | | | | | build:USDX-LAZLIN-75 build:USDX-LAZLIN-76 for some reason we can not use {$MODE Delphi} in an included file. ( Probably because of the way the compier scopes this switch to each pas file ) ive had to revert this part of eddies changes. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@548 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Mac OS X version compiles and links. I hope I didn't break too many files on ↵eddie-08152007-11-011-6/+2
| | | | | | | | | | windows/linux. Added switches.inc to all files. Changed many IFDEFs. For Windows-only code please use MSWINDOWS instead of WIN32 now. WIN32 is also used by the Mac port. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@546 b956fd51-792f-4845-bead-9b4dfca2ff2c
* made some major progress with ffmpeg audio playback !!!jaybinks2007-10-271-2/+6
| | | | | | | | | | | | | | YAY !!! still a little choppy, so I suspect incorrect buffer sizes or something like that. also made some mods to support Unicode song file iteration on windows, this is no worse than what we had before, but is not complete.. oh this code only supports win 2000 and up .. no Win 98... git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@533 b956fd51-792f-4845-bead-9b4dfca2ff2c
* separated IAudioPlayback in to separate "Playback" and "Input" Interfacesjaybinks2007-10-111-1/+1
| | | | | | ( both interfaces provided by same TMusic_Bass class... git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@505 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Added IAudioPlayback Interface and implementation for BASS.jaybinks2007-10-111-40/+42
| | | | | | | | | | | | | | | Created "AudioPlayback" Global Singleton, which removed the need for the "Music" Global variable. This was done because global singleton objects are a recognized better "design pattern" achieving the same thing as global variables, but in a nicer way. I will be working to a) separate IAudioPlayback in to separate "Playback" and "Input" Interfaces b) build a FFMpeg class that implements IAudioPlayback git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@504 b956fd51-792f-4845-bead-9b4dfca2ff2c
* fixes so codebase builds in delphi now, after major FFMpeg changse for linux.jaybinks2007-10-111-2/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@503 b956fd51-792f-4845-bead-9b4dfca2ff2c
* modified UTime to utilise SDL timer... jaybinks2007-10-111-17/+20
| | | | | | | | | | | | this allows for reliable cross platform timers. Tested working on linux. Modified UVideo and screens to get Video playback working on linux currently only video stream... no audio.. but I Will be working towards this, for all audio playback ( at least for linux ) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@501 b956fd51-792f-4845-bead-9b4dfca2ff2c
* trying to fix linux runtime errors with database ( Stats screen )jaybinks2007-10-081-2041/+2067
| | | | | | | | | | | | and Song Selection screen ( now back to kina working ) Testing Fisheye Links (please ignore): jira#USDX-1 sf#1790165 build#USDX-DELPHI-26 git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@469 b956fd51-792f-4845-bead-9b4dfca2ff2c
* small fixes for lazarus build.jaybinks2007-09-291-2040/+2041
| | | | | | cleanup on some code. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@445 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Ultrastar-DX now compiles in linux jaybinks2007-09-201-2007/+2040
| | | | | | | | | (using lazarus) Bass etc is commented out.. but it compiles, and im working through the runtime errors. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@408 b956fd51-792f-4845-bead-9b4dfca2ff2c
* added UCommon ( in classes ) for lazarus...jaybinks2007-09-191-3/+4
| | | | | | | | | | | common functions needed for lazarus ( and others ) can be put in here. also this now compiles on lazarus.. ( dosnt link yet... but I dont get any critical compiler errors ) tested to compile in my delphi, and basic functionality is fine. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@395 b956fd51-792f-4845-bead-9b4dfca2ff2c
* added switches.inc , which will contain compiler directives used jaybinks2007-09-181-3/+8
| | | | | | | | | | | | ( at least ) for porting to linux. this file now contains compiler directive UseSerialPort, which is conditionally set depending on the compiler. at this point lazarus will not use the serial port ( LCD or Light ) units. however this functionality should be maintained at this point in delphi. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@390 b956fd51-792f-4845-bead-9b4dfca2ff2c
* modified ParseInput so Backspace will perform same function as ESC in most ↵jaybinks2007-09-051-1/+3
| | | | | | | | screens ( Except where text input is required, and backspace is used for text input ) This has been done, so that when used with Windows Media Center IR Remotes ( needs SDL 1.2 dll at runtime ) users can navigate throug the game without sitting in front of the PC keyboard. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@370 b956fd51-792f-4845-bead-9b4dfca2ff2c
* finally really fixed the covers (i hope)b1indy2007-09-011-5/+11
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@356 b956fd51-792f-4845-bead-9b4dfca2ff2c
* fixed bug that caused display of wrong coversb1indy2007-09-011-3/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@355 b956fd51-792f-4845-bead-9b4dfca2ff2c