aboutsummaryrefslogtreecommitdiffstats
path: root/src/base/UMusic.pas (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-02-04- PChar replaced by PByteArray (for byte buffers) or PAnsiString (for ↵tobigun1-9/+9
zero-terminated strings) - TRingBuffer.Size()/.Available() added git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1584 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-10-01- FFmpeg header updatetobigun1-2/+2
- update to newest revision - if linked libs are too new, USDX will not compile anymore and display an error message (to avoid mysterious crashes if an unsupported version of FFmpeg is used) - comment change in UVisualizer.pas git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1428 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-09-23gpl header added and property svn:header set to "HeadURL Id"k-m_schindler1-0/+25
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1403 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-09-02Moved: The folder classes has been renamed to basemogguh1-0/+0
Updated: ultrastardx.dpr has been changed accordingly git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1339 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27rename Classes part2k-m_schindler1-0/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1308 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27rename Classes part1k-m_schindler1-0/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1307 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27Reordering of the directories[1]: moving Game/Code to srck-m_schindler1-0/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1302 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27spelling corrected FFMpeg -> FFmpegtobigun1-1/+1
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1295 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-25Added: Option for background music in sound options (affects UIni too)mogguh1-8/+23
Added: New language string SING_OPTIONS_SOUND_BACKGROUNDMUSIC Added: CC licensed music loop Improved: Options positions via Deluxe theme (first pass, next will follow) Improved: Code beautified in UScreenMain git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1290 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-07-19renamed TLineState to TLyricsStatetobigun1-11/+11
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1214 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-07-19lyric engine patches, solvestobigun1-12/+69
- pixeled/transparent fonts bug - some lines were erroneously marked active or disabled - state was not initialized correctly - negative gap problem (TLyricLine.Start was of type cardinal) - some more lyrics bugs git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1211 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-07-14TLine.LyricWidth (width of the line in pixels) is marked as deprecated. Do ↵tobigun1-2/+4
not use this as the stored width is not correct. Use TLyricsEngine.GetUpperLine().Width instead. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1191 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-07-02Audio/Video engine update:tobigun1-221/+656
- lyrics<->audio synchronisation (TSyncSource) - better resampling (optional support for libsamplerate) - cleaner termination of audio/video streams/devices - improved decoders and decoder infrastructure - many other improvements/cleanups Currently just for testing (not enabled by default): - Background music - Voice-Passthrough (hear what you sing) - Video VSync git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1157 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-06-07just some cleanuptobigun1-15/+36
- replaced many German and Polish comments - replaced many cryptic var-names - IlNut replaced with LengthNote - renamed the global var "Filename" to "ConversionFilename" to prevent unintended use of it - more readable code (hopefully), especially NewNote and OnSentenceEnd - added some comments on elementary classes/records and their fields git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1137 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-05-13- fixed video-backgroundtobigun1-21/+54
- fixed buggy SkipTime (using TRelativeTimer now) - TLineState is a class now. TLineState.CurrentTime is now automatically updated using TRelativeTimer git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1088 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-05-10Volumes are floating point values (single) now. The range changed from [0 .. ↵tobigun1-7/+7
100] to [0.0 .. 1.0] git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1081 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-05-09- input-source selection works now (with bass or portaudio with portmixer)tobigun1-20/+142
- 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
2008-05-08added "inherited ..." to all constructors to assure that the base-class ↵tobigun1-0/+3
constructor is called. Different to C or Java, the constructor or destructor of the base class (except that of TObject) is not called by default if "inherited ..." is not given (very strange). This is no problem with classes inherited directly from TObject, because the TObject constructor is always called (and sets the values of the fields to 0-values) but i added inherited to these constructors too because the base class may change from TObject to something different and the "inherited" will probably not added in this case and causing problems. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1070 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-04-10finally removed IlNut from Editor (*hope* it will work)s_alexander1-1/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1019 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-04-10workaround for erroneously detection of 48000Hz-only devices as 44100Hz ↵tobigun1-7/+24
devices in portaudio git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1017 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-04-03rewriting of the txt file parsers_alexander1-18/+3
removed unused variables from TLines and TLine, removed TMelody overworked the TLines and TLine records git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1000 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-21lenght -> lengthtobigun1-544/+544
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@964 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-14new lyric effect: slides_alexander1-0/+1
a lot lyric fixes change the resolution/fullscreen mode on exit the options menu some code improvements git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@957 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-07- Fixed audio-playing in container (video) files. Now audio can be read ↵tobigun1-2/+2
directly from the video file and does not have to be extracted to a separate audio-file anymore (tested with vob, avi and flv. Note: With some versions of FFMPEG flv does not work correctly). - Added "pCodecCtx^.workaround_bugs := FF_BUG_AUTODETECT" to let FFMPEG automatically handle known bugs. This might be interesting for video-decoding too. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@936 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-07Translated some Variablesf1fth_freed0m1-1/+1
Ilosc To Number Pet To Count Tekst To Text NrCzesciP To LineNumber NrCzesci To LineNumber AktSong To CurrentSong AktNuta To CurrentNote Some Translations In ModiSDK on TSentences Maybe Plugin Code Needs to be Updated git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@927 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-06replaced some "string" parameters with "const string"tobigun1-1/+1
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@923 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-06Translated Some Variablesf1fth_freed0m1-30/+30
TonGamy to ToneGamus DlugoscNut to NoteLenght Akt to Current AktBeat to CurrentBeat AktBeatD to CurrentBeatD AktBeatC to CurrentBeatC OldCzesc to OldLine Teraz to CurrentTime Razem to TotalTime TCzas to TLineState Czas to LineState git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@916 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-06Translated so Variable Namesf1fth_freed0m1-6/+6
Koniec to End_ Wartosc to NoteType Dlugosc to Lenght Ton to Tone Tekst to Text git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@915 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-05Translated Variable Names and Typesf1fth_freed0m1-9/+9
TCzesci to TLines TMuzyka to TMelody HighNut to HighNote Nuta to Note Czesc to Line git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@913 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-05FFT support for SDL/Portaudio playbacktobigun1-2/+5
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@909 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-03GetName added for AudioDecoder-Classestobigun1-7/+8
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@897 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-02-20- Resampling support addedtobigun1-5/+29
- DecodeStreams are closed now if they are not used anymore - Fixed the crash that occured when USDX was closed git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@875 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-02-12changed InitializeSound to be responsive to failed module initializations, jaybinks1-14/+39
and to remove the module and try again. EG... in my case, sound card driver problems. ALSA is installed but wouldnt open the audio device. now it fails, and the output module goes to the next available ( if there is any ) then gracefully fails to dummy. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@845 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-02-07Audio output working againtobigun1-2/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@838 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-02-05General:tobigun1-423/+492
- 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
2008-01-12bunch of smaller changes...jaybinks1-0/+1
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
2008-01-11changed from ffmpeg-free (audio) to ffmpeg-enabled (if turned on in ↵tobigun1-11/+101
switches.inc) version. BASS is used by default. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@786 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-12-17- removed hStream in favour of TAudioOutputStreamtobigun1-3/+5
- removed all this BASS-specific sound-names git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@708 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-12-07little bit of tidy up..jaybinks1-36/+22
added command line switch, to see what media interfaces are being used. moved RandomPCM Data generation to Visualizer class. added Visualization preset change, on new line ( may be a little to much... maybe we should do ever 4 or 16 bars or something ?) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@697 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-12-06gave priority to videos over Visualization...jaybinks1-2/+22
so now video plays back... and "V" will switch between Video ( or jpg ) background and visualization. this needs to be pressed on every song, as the state should be forgotten. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@687 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-12-06Visualizer changes (audio connection, some opengl fixes)tobigun1-1/+7
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@679 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-12-06conformed projectM to IVideoPlayback jaybinks1-2/+3
still needs a little work. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@678 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-12-05- Moved GetFFTData from IAudioInput -> IAudioOutput (it is used for the ↵tobigun1-6/+3
song-selection equalizer not for mic-input) - CaptureCard/StopCard is not visible to public anymore git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@668 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-11-01fixed failed buildsjaybinks1-0/+4
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
2007-11-01Mac OS X version compiles and links. I hope I didn't break too many files on ↵eddie-08151-4/+0
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
2007-10-24modifed bitmap fonts to have alpha channel, after conversation with blindy.jaybinks1-55/+55
modified ultrastar.lpr to get linux version running as it should be ( after mods I did in windows ) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@525 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-10-16modified ffmpeg usage, to use interface same as bass...jaybinks1-36/+106
still needs some tidy up, but its working. :) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@515 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-10-11added UAudio_FFMpeg.pas as placeholder... ( Still has bass code in it.. ↵jaybinks1-20/+67
needs to be replaced with ffmpeg code ) UMusic ( And UAudio* ) files, now have proper IAudioPlayback and IAudioInput Interface enumeration. simply having the unit in the uses clause will make it available. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@506 b956fd51-792f-4845-bead-9b4dfca2ff2c
2007-10-11separated IAudioPlayback in to separate "Playback" and "Input" Interfacesjaybinks1-9/+30
( 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
2007-10-11Added IAudioPlayback Interface and implementation for BASS.jaybinks1-728/+74
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