diff options
author | davidus01 <davidus01@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-06-25 22:11:39 +0000 |
---|---|---|
committer | davidus01 <davidus01@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-06-25 22:11:39 +0000 |
commit | e1753d472ecafcebd24a6dfb32a67080694683cc (patch) | |
tree | 05a350c3fe2f322206541097a80ac5d7531b968b /us_maker_edition/src | |
parent | 2c9e51fe4fa2d8eb7f258ff8ba68239ac23f7459 (diff) | |
download | usdx-e1753d472ecafcebd24a6dfb32a67080694683cc.tar.gz usdx-e1753d472ecafcebd24a6dfb32a67080694683cc.tar.xz usdx-e1753d472ecafcebd24a6dfb32a67080694683cc.zip |
editor: show background picture
editor: background from Themes
editor: correction in themes
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2562 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r-- | us_maker_edition/src/base/UThemes.pas | 10 | ||||
-rw-r--r-- | us_maker_edition/src/screens/UScreenEditSub.pas | 67 |
2 files changed, 63 insertions, 14 deletions
diff --git a/us_maker_edition/src/base/UThemes.pas b/us_maker_edition/src/base/UThemes.pas index 21d729f8..de569b97 100644 --- a/us_maker_edition/src/base/UThemes.pas +++ b/us_maker_edition/src/base/UThemes.pas @@ -507,6 +507,7 @@ type TThemeEditSub = class(TThemeBasic) //in editor - headers + BackgroundImage: TThemeStatic; SlideTitle: TThemeSelectSlide; SlideArtist: TThemeSelectSlide; SlideMP3: TThemeSelectSlide; @@ -521,7 +522,7 @@ type SelectVolAudio: TThemeSelectSlide; SelectVolMidi: TThemeSelectSlide; SelectVolClick: TThemeSelectSlide; - SlideVideoGap: TThemeSelectSlide; + SlideVideoGap: TThemeSelectSlide; end; //Error- and Check-Popup @@ -913,7 +914,7 @@ begin Edit := TThemeEdit.Create; EditSub := TThemeEditSub.Create; - + ErrorPopup := TThemeError.Create; CheckPopup := TThemeCheck.Create; @@ -1405,11 +1406,12 @@ begin // editor ThemeLoadBasic (EditSub, 'EditSub'); + ThemeLoadStatic(EditSub.BackgroundImage, 'EditSubBackgroundImage'); ThemeLoadSelectSlide(EditSub.SlideTitle, 'EditSubTitle'); ThemeLoadSelectSlide(EditSub.SlideArtist, 'EditSubArtist'); ThemeLoadSelectSlide(EditSub.SlideMP3, 'EditSubMP3'); - ThemeLoadSelectSlide(EditSub.SlideCover, 'EditSubCover'); - ThemeLoadSelectSlide(EditSub.SlideBackground, 'EditSubBackground'); + ThemeLoadSelectSlide(EditSub.SlideCover, 'EditSubSlideCover'); + ThemeLoadSelectSlide(EditSub.SlideBackground, 'EditSubSlideBG'); ThemeLoadSelectSlide(EditSub.SlideBPM, 'EditSubBPM'); ThemeLoadSelectSlide(EditSub.SlideGAP, 'EditSubGAP'); ThemeLoadSelectSlide(EditSub.SlideStart, 'EditSubStart'); diff --git a/us_maker_edition/src/screens/UScreenEditSub.pas b/us_maker_edition/src/screens/UScreenEditSub.pas index ee29b93b..96dc7708 100644 --- a/us_maker_edition/src/screens/UScreenEditSub.pas +++ b/us_maker_edition/src/screens/UScreenEditSub.pas @@ -187,6 +187,8 @@ type VolumeAudio: array of UTF8String; VolumeMidi: array of UTF8String; VolumeClick: array of UTF8String; + // background image & video preview + BackgroundImageId: integer; // currentX, CurrentY CurrentX: integer; CurrentY: integer; @@ -237,7 +239,7 @@ type // show transparent background note for intaractions procedure ShowInteractiveBackground; public - Tex_Background: TTexture; + Tex_PrevBackground: TTexture; FadeOut: boolean; constructor Create; override; procedure OnShow; override; @@ -1237,6 +1239,14 @@ begin CopyToUndo; SelectsS[Interactions[nBut].Num].SelectedOption := SelectsS[Interactions[nBut].Num].SelectedOption -1; CurrentSong.Background := Path(SelectsS[Interactions[nBut].Num].TextOptT[SelectsS[Interactions[nBut].Num].SelectedOption]); + // change background picture + Tex_PrevBackground := Texture.LoadTexture(CurrentSong.Path.Append(CurrentSong.Background)); + Texture.AddTexture(Tex_PrevBackground, TEXTURE_TYPE_PLAIN, false); + Statics[BackgroundImageId].Texture := Tex_PrevBackground; + Statics[BackgroundImageId].Texture.X := theme.EditSub.BackgroundImage.X; + Statics[BackgroundImageId].Texture.Y := theme.EditSub.BackgroundImage.Y; + Statics[BackgroundImageId].Texture.W := theme.EditSub.BackgroundImage.W; + Statics[BackgroundImageId].Texture.H := theme.EditSub.BackgroundImage.H; end; if ((BackgroundSlideId = Interactions[nBut].Num) and (Action = maRight) and (SelectsS[Interactions[nBut].Num].SelectedOption < Length(SelectsS[Interactions[nBut].Num].TextOptT)-1)) then @@ -1244,7 +1254,15 @@ begin CopyToUndo; SelectsS[Interactions[nBut].Num].SelectedOption := SelectsS[Interactions[nBut].Num].SelectedOption +1; CurrentSong.Background := Path(SelectsS[Interactions[nBut].Num].TextOptT[SelectsS[Interactions[nBut].Num].SelectedOption]); - end; + // change background picture + Tex_PrevBackground := Texture.LoadTexture(CurrentSong.Path.Append(CurrentSong.Background)); + Texture.AddTexture(Tex_PrevBackground, TEXTURE_TYPE_PLAIN, false); + Statics[BackgroundImageId].Texture := Tex_PrevBackground; + Statics[BackgroundImageId].Texture.X := theme.EditSub.BackgroundImage.X; + Statics[BackgroundImageId].Texture.Y := theme.EditSub.BackgroundImage.Y; + Statics[BackgroundImageId].Texture.W := theme.EditSub.BackgroundImage.W; + Statics[BackgroundImageId].Texture.H := theme.EditSub.BackgroundImage.H; + end; if ((Mp3SlideId = Interactions[nBut].Num) and (Action = maLeft) and (SelectsS[Interactions[nBut].Num].SelectedOption > 0)) then begin @@ -1962,7 +1980,7 @@ begin //Theme: //bg glDisable(GL_BLEND); - +{ x := 0; y := 0; w := 800; @@ -1973,7 +1991,7 @@ begin glVertex2f(x, y+h); glVertex2f(x+w, y+h); glVertex2f(x+w, y); - glEnd; + glEnd;} // Line glColor4f(0.9, 0.9, 0.9, 1); @@ -2290,6 +2308,7 @@ end; constructor TScreenEditSub.Create; begin inherited Create; + LoadFromTheme(Theme.EditSub); //video fCurrentVideo := nil; SetLength(Player, 1); @@ -2378,6 +2397,8 @@ begin SelectsS[VideoGapSlideId].Text.Align := 0; SelectsS[VideoGapSlideId].Text.X := SelectsS[VideoGapSlideId].Texture.X + 3; + // background image & preview + BackgroundImageId := AddStatic(Theme.EditSub.BackgroundImage); // TextTitle := AddText(180, 65, 0, 24, 0, 0, 0, 'a'); // TextArtist := AddText(180, 90, 0, 24, 0, 0, 0, 'b'); // TextMp3 := AddText(180, 115, 0, 24, 0, 0, 0, 'c'); @@ -2584,7 +2605,7 @@ begin // volume slides SetLength(VolumeAudio, 0); SetLength(VolumeMidi, 0); - SetLength(VolumeClick, 0); + SetLength(VolumeClick, 0); for i:=0 to 100 do begin SetLength(VolumeAudio, high(VolumeAudio)+2); @@ -2630,6 +2651,32 @@ begin AudioInput.CaptureStart; end; + // background picture + try + //BgFile := CurrentSong.Path.Append(CurrentSong.Background); + Statics[BackgroundImageId].Texture.X := 500; + Statics[BackgroundImageId].Texture.Y := 65; + Statics[BackgroundImageId].Texture.W := 80; + Statics[BackgroundImageId].Texture.H := 0; + + if (Not (CurrentSong.Background = PATH_NONE) and CurrentSong.Path.Append(CurrentSong.Background).Exists) then + begin + log.LogError('background:' + CurrentSong.Background.ToUTF8()); + Tex_PrevBackground := Texture.LoadTexture(CurrentSong.Path.Append(CurrentSong.Background)); + Texture.AddTexture(Tex_PrevBackground, TEXTURE_TYPE_PLAIN, true); + Statics[BackgroundImageId].Texture := Tex_PrevBackground; + Statics[BackgroundImageId].Texture.X := theme.EditSub.BackgroundImage.X; + Statics[BackgroundImageId].Texture.Y := theme.EditSub.BackgroundImage.Y; + Statics[BackgroundImageId].Texture.W := theme.EditSub.BackgroundImage.W; + Statics[BackgroundImageId].Texture.H := theme.EditSub.BackgroundImage.H; + + end; + + except + Log.LogError('Background could not be loaded: ' + CurrentSong.Background.ToNative); + Tex_PrevBackground.TexNum := 0; + end; + //Interaction := 0; TextEditMode := false; TitleEditMode := false; @@ -2646,7 +2693,7 @@ var notechange: boolean; begin - glClearColor(1,1,1,1); + //glClearColor(1,1,1,1); // midi music if PlaySentenceMidi then @@ -2827,9 +2874,9 @@ begin fCurrentVideo.GetFrame(CurrentSong.VideoGAP + AudioPlayback.Position); fCurrentVideo.SetScreen(1); fCurrentVideo.Alpha := 1; - fCurrentVideo.SetScreenPosition(510, 60, 1); - fCurrentVideo.Width := 250; - fCurrentVideo.Height := 205; + fCurrentVideo.SetScreenPosition(theme.EditSub.BackgroundImage.X, theme.EditSub.BackgroundImage.Y, 1); + fCurrentVideo.Width := theme.EditSub.BackgroundImage.W; + fCurrentVideo.Height := theme.EditSub.BackgroundImage.H; fCurrentVideo.ReflectionSpacing := 1; fCurrentVideo.AspectCorrection := acoCrop; @@ -2849,7 +2896,7 @@ begin {$ENDIF} Lyric.Free; //Music.SetVolume(1.0); - AudioInput.CaptureStop; + AudioInput.CaptureStop; end; function TScreenEditSub.GetNoteName(Note: integer): string; |