From 7b9e5ea7d2b567d715af243568c5016c10de981f Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Wed, 26 Jun 2002 15:44:41 +0200 Subject: [PATCH] Initial commit --- MDME.dfm | 1192 ++++++++++++++++++++++++++++++++++++++ MDME.pas | 736 +++++++++++++++++++++++ MDMessageEditor.cfg | 35 ++ MDMessageEditor.dof | 90 +++ MDMessageEditor.dpr | 14 + README.md | 22 + screenshots/MDME_ss1.png | Bin 0 -> 28600 bytes screenshots/MDME_ss2.png | Bin 0 -> 21854 bytes screenshots/MDME_ss3.png | Bin 0 -> 30175 bytes screenshots/MDME_ss4.png | Bin 0 -> 22003 bytes screenshots/MDME_ss5.png | Bin 0 -> 21249 bytes 11 files changed, 2089 insertions(+) create mode 100644 MDME.dfm create mode 100644 MDME.pas create mode 100644 MDMessageEditor.cfg create mode 100644 MDMessageEditor.dof create mode 100644 MDMessageEditor.dpr create mode 100644 README.md create mode 100644 screenshots/MDME_ss1.png create mode 100644 screenshots/MDME_ss2.png create mode 100644 screenshots/MDME_ss3.png create mode 100644 screenshots/MDME_ss4.png create mode 100644 screenshots/MDME_ss5.png diff --git a/MDME.dfm b/MDME.dfm new file mode 100644 index 0000000..7db27cd --- /dev/null +++ b/MDME.dfm @@ -0,0 +1,1192 @@ +object Form1: TForm1 + Left = 190 + Top = 104 + BorderIcons = [biSystemMenu, biMinimize] + BorderStyle = bsSingle + Caption = + 'MDME - MilkDrop Message Editor --- (c)2002 by Markus Birth ' + ClientHeight = 554 + ClientWidth = 779 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + ShowHint = True + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 13 + object MainPageControl: TPageControl + Left = 0 + Top = 0 + Width = 777 + Height = 553 + ActivePage = TabSheet6 + RaggedRight = True + TabIndex = 2 + TabOrder = 0 + object TabSheet1: TTabSheet + Caption = 'Messages' + object MessageExample: TLabel + Left = 224 + Top = 0 + Width = 513 + Height = 129 + Alignment = taCenter + Caption = 'Example' + Color = clBlack + Constraints.MaxHeight = 129 + Constraints.MaxWidth = 513 + Constraints.MinHeight = 129 + Constraints.MinWidth = 513 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWhite + Font.Height = -85 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentColor = False + ParentFont = False + Layout = tlCenter + end + object Label18: TLabel + Left = 432 + Top = 248 + Width = 3 + Height = 13 + end + object Messages: TListBox + Left = 0 + Top = 0 + Width = 217 + Height = 521 + ItemHeight = 13 + TabOrder = 0 + OnClick = MessagesClick + end + object MessageText: TEdit + Left = 224 + Top = 128 + Width = 513 + Height = 21 + TabOrder = 1 + OnChange = MessageTextChange + end + object GroupBox3: TGroupBox + Left = 680 + Top = 168 + Width = 81 + Height = 89 + Caption = 'Changes' + TabOrder = 2 + object SaveMessage: TButton + Left = 8 + Top = 16 + Width = 65 + Height = 33 + Caption = 'SAVE' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = SaveMessageClick + end + object DiscardMessage: TButton + Left = 8 + Top = 48 + Width = 65 + Height = 17 + Caption = 'Discard' + TabOrder = 1 + OnClick = DiscardMessageClick + end + object DelMessage: TButton + Left = 8 + Top = 64 + Width = 65 + Height = 17 + Caption = 'DEL' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + TabOrder = 2 + OnClick = DelMessageClick + end + end + object PageControl1: TPageControl + Left = 224 + Top = 152 + Width = 449 + Height = 369 + ActivePage = TabSheet3 + TabIndex = 0 + TabOrder = 3 + object TabSheet3: TTabSheet + Caption = 'Font' + object Label2: TLabel + Left = 0 + Top = 8 + Width = 61 + Height = 13 + Caption = 'Font presets:' + end + object MFont: TListBox + Left = 0 + Top = 20 + Width = 145 + Height = 197 + ItemHeight = 13 + TabOrder = 0 + OnClick = MFontClick + end + object cbFontOver: TCheckBox + Left = 248 + Top = 4 + Width = 97 + Height = 17 + Hint = 'Overrides the font-face of the font-preset.' + Caption = 'Font override:' + TabOrder = 1 + OnClick = cbFontOverClick + end + object MFontOver: TListBox + Left = 248 + Top = 20 + Width = 145 + Height = 197 + Enabled = False + ItemHeight = 13 + TabOrder = 2 + OnClick = MFontOverClick + end + object GroupBox6: TGroupBox + Left = 24 + Top = 240 + Width = 377 + Height = 81 + Caption = 'Advanced Font settings' + TabOrder = 3 + object Label12: TLabel + Left = 12 + Top = 20 + Width = 45 + Height = 13 + Caption = 'Font size:' + end + object Label13: TLabel + Left = 63 + Top = 39 + Width = 70 + Height = 13 + Caption = 'almost invisible' + end + object Label14: TLabel + Left = 316 + Top = 39 + Width = 46 + Height = 13 + Caption = 'enormous' + end + object MFontSize: TTrackBar + Left = 56 + Top = 16 + Width = 313 + Height = 25 + Hint = 'Sets the font-size from 0 (left) up to 100 (right).' + Max = 100 + Orientation = trHorizontal + Frequency = 10 + Position = 1 + SelEnd = 0 + SelStart = 0 + TabOrder = 0 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = MFontSizeChange + end + object cbBoldOverOn: TCheckBox + Left = 64 + Top = 56 + Width = 89 + Height = 17 + Hint = 'Overrides the bold-attribute of the font-preset.' + Caption = 'bold override:' + TabOrder = 1 + OnClick = cbBoldOverOnClick + end + object cbBoldOver: TCheckBox + Left = 152 + Top = 56 + Width = 49 + Height = 17 + Caption = 'bold' + Enabled = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = cbBoldOverClick + end + object cbItalOver: TCheckBox + Left = 320 + Top = 56 + Width = 49 + Height = 17 + Caption = 'italic' + Enabled = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsItalic] + ParentFont = False + TabOrder = 3 + OnClick = cbItalOverClick + end + object cbItalOverOn: TCheckBox + Left = 232 + Top = 56 + Width = 89 + Height = 17 + Hint = 'Overrides the italic-attribute of the font-preset.' + Caption = 'italic override:' + TabOrder = 4 + OnClick = cbItalOverOnClick + end + end + end + object TabSheet4: TTabSheet + Caption = 'Color' + ImageIndex = 1 + object GroupBox4: TGroupBox + Left = 8 + Top = 12 + Width = 425 + Height = 185 + Caption = 'Message Color' + TabOrder = 0 + object MColorSample: TLabel + Left = 328 + Top = 39 + Width = 87 + Height = 138 + Alignment = taCenter + Caption = 'Color sample' + Color = clWhite + Constraints.MaxHeight = 138 + Constraints.MaxWidth = 87 + Constraints.MinHeight = 138 + Constraints.MinWidth = 87 + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentColor = False + ParentFont = False + Layout = tlCenter + end + object Label7: TLabel + Left = 11 + Top = 42 + Width = 14 + Height = 20 + Caption = 'R' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 11 + Top = 90 + Width = 15 + Height = 20 + Caption = 'G' + Font.Charset = DEFAULT_CHARSET + Font.Color = clLime + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 11 + Top = 138 + Width = 13 + Height = 20 + Caption = 'B' + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 96 + Top = 64 + Width = 73 + Height = 13 + Caption = 'Randomization:' + end + object Label10: TLabel + Left = 96 + Top = 112 + Width = 73 + Height = 13 + Caption = 'Randomization:' + end + object Label11: TLabel + Left = 96 + Top = 160 + Width = 73 + Height = 13 + Caption = 'Randomization:' + end + object Label27: TLabel + Left = 147 + Top = 17 + Width = 172 + Height = 13 + Caption = '(Randomization is always adjustable)' + Font.Charset = DEFAULT_CHARSET + Font.Color = clGrayText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object MColR: TTrackBar + Left = 24 + Top = 40 + Width = 300 + Height = 25 + Enabled = False + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 255 + SelEnd = 0 + SelStart = 0 + TabOrder = 0 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = MColRChange + end + object MColG: TTrackBar + Left = 24 + Top = 88 + Width = 300 + Height = 25 + Enabled = False + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 255 + SelEnd = 0 + SelStart = 0 + TabOrder = 1 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = MColGChange + end + object MColB: TTrackBar + Left = 24 + Top = 136 + Width = 300 + Height = 25 + Enabled = False + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 255 + SelEnd = 0 + SelStart = 0 + TabOrder = 2 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = MColBChange + end + object MVarR: TTrackBar + Left = 168 + Top = 64 + Width = 150 + Height = 17 + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 0 + SelEnd = 0 + SelStart = 0 + TabOrder = 3 + ThumbLength = 10 + TickMarks = tmBottomRight + TickStyle = tsAuto + end + object MVarG: TTrackBar + Left = 168 + Top = 112 + Width = 150 + Height = 17 + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 0 + SelEnd = 0 + SelStart = 0 + TabOrder = 4 + ThumbLength = 10 + TickMarks = tmBottomRight + TickStyle = tsAuto + end + object MVarB: TTrackBar + Left = 168 + Top = 160 + Width = 150 + Height = 17 + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 0 + SelEnd = 0 + SelStart = 0 + TabOrder = 5 + ThumbLength = 10 + TickMarks = tmBottomRight + TickStyle = tsAuto + end + object cbDefFont: TCheckBox + Left = 8 + Top = 16 + Width = 113 + Height = 17 + Hint = 'Overrides the font-color of the font preset.' + Caption = 'Font color override' + TabOrder = 6 + OnClick = cbDefFontClick + end + end + end + object TabSheet5: TTabSheet + Caption = 'Position && Time' + ImageIndex = 2 + object GroupBox5: TGroupBox + Left = 8 + Top = 8 + Width = 209 + Height = 329 + Caption = 'Position on screen' + TabOrder = 0 + object MScreen: TImage + Left = 33 + Top = 24 + Width = 161 + Height = 121 + Cursor = crCross + OnMouseDown = MScreenMouseDown + end + object Label28: TLabel + Left = 8 + Top = 192 + Width = 73 + Height = 13 + Caption = 'Randomization:' + end + object Label29: TLabel + Left = 7 + Top = 211 + Width = 7 + Height = 13 + Caption = 'X' + end + object Label30: TLabel + Left = 7 + Top = 235 + Width = 7 + Height = 13 + Caption = 'Y' + end + object Label31: TLabel + Left = 25 + Top = 255 + Width = 6 + Height = 13 + Caption = '0' + end + object Label32: TLabel + Left = 184 + Top = 254 + Width = 19 + Height = 13 + Caption = 'max' + end + object Label34: TLabel + Left = 5 + Top = 176 + Width = 201 + Height = 13 + Caption = '(The text will appear inside the yellow box.)' + Font.Charset = DEFAULT_CHARSET + Font.Color = clGrayText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + Transparent = True + end + object Label15: TLabel + Left = 6 + Top = 280 + Width = 31 + Height = 13 + Caption = 'Effect:' + end + object Label16: TLabel + Left = 22 + Top = 296 + Width = 28 + Height = 26 + Alignment = taRightJustify + Caption = #188' shrink' + WordWrap = True + end + object Label17: TLabel + Left = 182 + Top = 296 + Width = 23 + Height = 26 + Alignment = taCenter + Caption = '4x grow' + Transparent = True + WordWrap = True + end + object Label19: TLabel + Left = 74 + Top = 295 + Width = 3 + Height = 13 + Caption = 'I' + end + object Label26: TLabel + Left = 123 + Top = 296 + Width = 23 + Height = 26 + Alignment = taCenter + Caption = '2x grow' + WordWrap = True + end + object MPosX: TTrackBar + Left = 24 + Top = 145 + Width = 177 + Height = 29 + Max = 10000 + Orientation = trHorizontal + Frequency = 1000 + Position = 5000 + SelEnd = 0 + SelStart = 0 + TabOrder = 0 + ThumbLength = 15 + TickMarks = tmTopLeft + TickStyle = tsAuto + OnChange = MPosXChange + end + object MPosY: TTrackBar + Left = 8 + Top = 16 + Width = 25 + Height = 137 + Max = 10000 + Orientation = trVertical + Frequency = 1000 + Position = 5000 + SelEnd = 0 + SelStart = 0 + TabOrder = 1 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = MPosYChange + end + object MRandX: TTrackBar + Left = 19 + Top = 208 + Width = 182 + Height = 25 + Max = 10000 + Orientation = trHorizontal + Frequency = 1000 + Position = 0 + SelEnd = 0 + SelStart = 0 + TabOrder = 2 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = MRandXChange + end + object MRandY: TTrackBar + Left = 19 + Top = 232 + Width = 182 + Height = 25 + Max = 10000 + Orientation = trHorizontal + Frequency = 1000 + Position = 0 + SelEnd = 0 + SelStart = 0 + TabOrder = 3 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = MRandYChange + end + object MFontGrow: TTrackBar + Left = 39 + Top = 280 + Width = 162 + Height = 17 + Hint = + 'Sets the shrink/grow-effect of the message from 1/4th (left) up ' + + 'to 4x (right) the initial size of the text.' + Max = 400 + Min = 25 + Orientation = trHorizontal + Frequency = 75 + Position = 100 + SelEnd = 0 + SelStart = 0 + TabOrder = 4 + ThumbLength = 10 + TickMarks = tmBottomRight + TickStyle = tsAuto + end + object Button1: TButton + Left = 60 + Top = 305 + Width = 33 + Height = 17 + Hint = 'Disables the text effect.' + Caption = 'no fx' + TabOrder = 5 + OnClick = Button1Click + end + end + object GroupBox7: TGroupBox + Left = 240 + Top = 8 + Width = 185 + Height = 81 + Caption = 'Message Time' + TabOrder = 1 + object Label21: TLabel + Left = 106 + Top = 24 + Width = 5 + Height = 13 + Caption = 's' + end + object Label22: TLabel + Left = 160 + Top = 25 + Width = 13 + Height = 13 + Caption = 'ms' + end + object Label24: TLabel + Left = 156 + Top = 64 + Width = 26 + Height = 13 + Caption = '100%' + end + object Label23: TLabel + Left = 52 + Top = 64 + Width = 14 + Height = 13 + Caption = '0%' + end + object Label25: TLabel + Left = 5 + Top = 49 + Width = 43 + Height = 13 + Caption = 'Fading %' + end + object MTimeS: TSpinEdit + Left = 56 + Top = 19 + Width = 49 + Height = 22 + Hint = 'The time the message should be displayed. (0-999)' + MaxValue = 999 + MinValue = 0 + TabOrder = 0 + Value = 0 + end + object MTimeMS: TSpinEdit + Left = 112 + Top = 19 + Width = 49 + Height = 22 + Hint = 'The time the message should be displayed. (0.0 - 0.999)' + Increment = 50 + MaxValue = 1000 + MinValue = -1 + TabOrder = 1 + Value = 0 + OnChange = MTimeMSChange + end + object MTimeFade: TTrackBar + Left = 48 + Top = 48 + Width = 129 + Height = 17 + Hint = 'Percentage of the time the text should fade in. (0-100%)' + Max = 10000 + Orientation = trHorizontal + Frequency = 1000 + Position = 3000 + SelEnd = 0 + SelStart = 0 + TabOrder = 2 + ThumbLength = 10 + TickMarks = tmBottomRight + TickStyle = tsAuto + end + end + object GroupBox8: TGroupBox + Left = 240 + Top = 120 + Width = 185 + Height = 201 + Caption = 'Preview' + TabOrder = 2 + object Preview: TImage + Left = 11 + Top = 24 + Width = 161 + Height = 121 + end + object PreviewButton: TButton + Left = 11 + Top = 147 + Width = 161 + Height = 25 + Hint = 'Push to preview your effect.' + Caption = 'Preview effect' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = PreviewButtonClick + end + object AbortPreview: TButton + Left = 11 + Top = 172 + Width = 161 + Height = 16 + Hint = 'Push to abort a currently running preview.' + Caption = 'Abort Preview' + Enabled = False + TabOrder = 1 + OnClick = AbortPreviewClick + end + end + end + end + end + object TabSheet2: TTabSheet + Caption = 'Fonts' + ImageIndex = 1 + object Label1: TLabel + Left = 160 + Top = 0 + Width = 68 + Height = 13 + Caption = 'Installed fonts:' + end + object FontExample: TLabel + Left = 304 + Top = 224 + Width = 425 + Height = 105 + Alignment = taCenter + Caption = 'Example' + Color = clBlack + Constraints.MaxHeight = 105 + Constraints.MaxWidth = 425 + Constraints.MinHeight = 105 + Constraints.MinWidth = 425 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWhite + Font.Height = -64 + Font.Name = 'Tahoma' + Font.Style = [] + ParentColor = False + ParentFont = False + Layout = tlCenter + end + object Fonts: TListBox + Left = 0 + Top = 0 + Width = 145 + Height = 521 + ItemHeight = 13 + TabOrder = 0 + OnClick = FontsClick + end + object FontSelector: TListBox + Left = 160 + Top = 16 + Width = 137 + Height = 505 + ItemHeight = 13 + TabOrder = 1 + OnClick = FontSelectorClick + end + object cbBold: TCheckBox + Left = 304 + Top = 16 + Width = 57 + Height = 17 + Caption = 'bold' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = cbBoldClick + end + object cbItal: TCheckBox + Left = 304 + Top = 48 + Width = 57 + Height = 17 + Caption = 'italic' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsItalic] + ParentFont = False + TabOrder = 3 + OnClick = cbItalClick + end + object GroupBox1: TGroupBox + Left = 544 + Top = 16 + Width = 185 + Height = 57 + Caption = 'Changes' + TabOrder = 4 + object SaveFont: TButton + Left = 8 + Top = 16 + Width = 121 + Height = 33 + Caption = 'SAVE' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = SaveFontClick + end + object DiscardFont: TButton + Left = 128 + Top = 16 + Width = 51 + Height = 17 + Caption = 'Discard' + TabOrder = 1 + OnClick = DiscardFontClick + end + object DelFont: TButton + Left = 128 + Top = 32 + Width = 51 + Height = 17 + Caption = 'DEL' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + TabOrder = 2 + OnClick = DelFontClick + end + end + object GroupBox2: TGroupBox + Left = 304 + Top = 88 + Width = 425 + Height = 113 + Caption = 'Default Font Color' + TabOrder = 5 + object FColorSample: TLabel + Left = 328 + Top = 15 + Width = 87 + Height = 90 + Alignment = taCenter + Caption = 'Color sample' + Color = clWhite + Constraints.MaxHeight = 90 + Constraints.MaxWidth = 87 + Constraints.MinHeight = 90 + Constraints.MinWidth = 87 + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentColor = False + ParentFont = False + Layout = tlCenter + end + object Label3: TLabel + Left = 11 + Top = 18 + Width = 14 + Height = 20 + Caption = 'R' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 11 + Top = 50 + Width = 15 + Height = 20 + Caption = 'G' + Font.Charset = DEFAULT_CHARSET + Font.Color = clLime + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 11 + Top = 82 + Width = 13 + Height = 20 + Caption = 'B' + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object FColR: TTrackBar + Left = 24 + Top = 16 + Width = 300 + Height = 25 + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 255 + SelEnd = 0 + SelStart = 0 + TabOrder = 0 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = FColRChange + end + object FColG: TTrackBar + Left = 24 + Top = 48 + Width = 300 + Height = 25 + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 255 + SelEnd = 0 + SelStart = 0 + TabOrder = 1 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = FColGChange + end + object FColB: TTrackBar + Left = 24 + Top = 80 + Width = 300 + Height = 25 + Max = 255 + Orientation = trHorizontal + Frequency = 32 + Position = 255 + SelEnd = 0 + SelStart = 0 + TabOrder = 2 + ThumbLength = 15 + TickMarks = tmBottomRight + TickStyle = tsAuto + OnChange = FColBChange + end + end + end + object TabSheet6: TTabSheet + Caption = 'About...' + ImageIndex = 2 + object Label33: TLabel + Left = 136 + Top = -20 + Width = 431 + Height = 151 + Caption = 'MDME' + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlue + Font.Height = -136 + Font.Name = 'Times New Roman' + Font.Style = [fsBold, fsItalic] + ParentFont = False + end + object Label20: TLabel + Left = 136 + Top = 96 + Width = 421 + Height = 47 + Caption = 'MilkDrop Message Editor' + Font.Charset = DEFAULT_CHARSET + Font.Color = clTeal + Font.Height = -40 + Font.Name = 'Times New Roman' + Font.Style = [fsItalic] + ParentFont = False + Transparent = True + end + object Label35: TLabel + Left = 216 + Top = 144 + Width = 231 + Height = 13 + Caption = '(c)2002 by Markus Birth ' + Font.Charset = DEFAULT_CHARSET + Font.Color = clGrayText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object Label36: TLabel + Left = 168 + Top = 464 + Width = 438 + Height = 38 + Caption = + 'If you have any comments or just want to say that you like it, c' + + 'ontact me via ICQ No. 2787089 or via eMail under mbirth@webwrite' + + 'rs.de .' + Font.Charset = DEFAULT_CHARSET + Font.Color = clGreen + Font.Height = -16 + Font.Name = 'Times New Roman' + Font.Style = [] + ParentFont = False + WordWrap = True + end + object IniPath: TLabel + Left = 40 + Top = 512 + Width = 673 + Height = 13 + Alignment = taCenter + AutoSize = False + Caption = 'IniPath' + Enabled = False + end + object Memo1: TMemo + Left = 40 + Top = 176 + Width = 681 + Height = 249 + BevelInner = bvNone + BevelOuter = bvNone + BorderStyle = bsNone + Color = clMenu + Enabled = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'Tahoma' + Font.Style = [] + Lines.Strings = ( + + 'I wrote this little app because I found it difficult to define c' + + 'ool text-messages for MilkDrop by ' + + 'editing the milk_msg.ini with Notepad. The problem was that you ' + + 'can'#39't see what you did until ' + 'you ran WinAMP, launched MilkDrop and typed your message code.' + + 'This app gives you an idea how your message will look like WHILE' + + ' editing it.' + '' + + 'The editor should be self-explanatory. I have added "hints" to m' + + 'ost of the controls. Just hold ' + + 'your cursor above a control without moving and the hint-text sho' + + 'uld appear.' + '' + + 'The preview is flickering, I know, but hey - this isn'#39't MilkDrop' + + ' - it'#39's only the message editor!') + ParentFont = False + ParentShowHint = False + ReadOnly = True + ShowHint = False + TabOrder = 0 + WantReturns = False + end + end + end + object PreTimer: TTimer + Enabled = False + Interval = 50 + OnTimer = PreTimerTimer + Left = 744 + end +end diff --git a/MDME.pas b/MDME.pas new file mode 100644 index 0000000..8627f89 --- /dev/null +++ b/MDME.pas @@ -0,0 +1,736 @@ +unit MDME; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ComCtrls, IniFiles, Registry, StdCtrls, ExtCtrls, Spin, Math; + +type + TForm1 = class(TForm) + MainPageControl: TPageControl; + TabSheet1: TTabSheet; + TabSheet2: TTabSheet; + Messages: TListBox; + Fonts: TListBox; + FontSelector: TListBox; + Label1: TLabel; + cbBold: TCheckBox; + cbItal: TCheckBox; + MessageExample: TLabel; + GroupBox1: TGroupBox; + SaveFont: TButton; + DiscardFont: TButton; + GroupBox2: TGroupBox; + FColR: TTrackBar; + FColG: TTrackBar; + FColB: TTrackBar; + FColorSample: TLabel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + MessageText: TEdit; + FontExample: TLabel; + GroupBox3: TGroupBox; + SaveMessage: TButton; + DiscardMessage: TButton; + Label18: TLabel; + DelFont: TButton; + DelMessage: TButton; + PageControl1: TPageControl; + TabSheet3: TTabSheet; + TabSheet4: TTabSheet; + Label2: TLabel; + MFont: TListBox; + cbFontOver: TCheckBox; + MFontOver: TListBox; + GroupBox4: TGroupBox; + MColorSample: TLabel; + Label7: TLabel; + Label8: TLabel; + Label9: TLabel; + Label6: TLabel; + Label10: TLabel; + Label11: TLabel; + Label27: TLabel; + MColR: TTrackBar; + MColG: TTrackBar; + MColB: TTrackBar; + MVarR: TTrackBar; + MVarG: TTrackBar; + MVarB: TTrackBar; + cbDefFont: TCheckBox; + GroupBox6: TGroupBox; + Label12: TLabel; + Label13: TLabel; + Label14: TLabel; + MFontSize: TTrackBar; + cbBoldOverOn: TCheckBox; + cbBoldOver: TCheckBox; + cbItalOver: TCheckBox; + cbItalOverOn: TCheckBox; + TabSheet5: TTabSheet; + GroupBox5: TGroupBox; + MScreen: TImage; + Label28: TLabel; + Label29: TLabel; + Label30: TLabel; + Label31: TLabel; + Label32: TLabel; + Label34: TLabel; + MPosX: TTrackBar; + MPosY: TTrackBar; + MRandX: TTrackBar; + MRandY: TTrackBar; + GroupBox7: TGroupBox; + Label21: TLabel; + Label22: TLabel; + Label24: TLabel; + Label23: TLabel; + Label25: TLabel; + MTimeS: TSpinEdit; + MTimeMS: TSpinEdit; + MTimeFade: TTrackBar; + TabSheet6: TTabSheet; + Label33: TLabel; + Label20: TLabel; + MFontGrow: TTrackBar; + Label15: TLabel; + Label16: TLabel; + Label17: TLabel; + Label19: TLabel; + Button1: TButton; + Label26: TLabel; + Label35: TLabel; + Memo1: TMemo; + Label36: TLabel; + GroupBox8: TGroupBox; + Preview: TImage; + PreviewButton: TButton; + PreTimer: TTimer; + AbortPreview: TButton; + IniPath: TLabel; + procedure FormCreate(Sender: TObject); + procedure FontsClick(Sender: TObject); + procedure FColRChange(Sender: TObject); + procedure FColGChange(Sender: TObject); + procedure FColBChange(Sender: TObject); + procedure MessagesClick(Sender: TObject); + procedure DiscardFontClick(Sender: TObject); + procedure SaveFontClick(Sender: TObject); + procedure cbBoldClick(Sender: TObject); + procedure cbItalClick(Sender: TObject); + procedure DiscardMessageClick(Sender: TObject); + procedure SaveMessageClick(Sender: TObject); + procedure MColRChange(Sender: TObject); + procedure MColGChange(Sender: TObject); + procedure MColBChange(Sender: TObject); + procedure cbDefFontClick(Sender: TObject); + procedure MFontSizeChange(Sender: TObject); + procedure cbFontOverClick(Sender: TObject); + procedure MessageTextChange(Sender: TObject); + procedure MFontOverClick(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure cbBoldOverOnClick(Sender: TObject); + procedure cbItalOverOnClick(Sender: TObject); + procedure cbBoldOverClick(Sender: TObject); + procedure cbItalOverClick(Sender: TObject); + procedure MFontClick(Sender: TObject); + procedure MTimeMSChange(Sender: TObject); + procedure MPosYChange(Sender: TObject); + procedure MPosXChange(Sender: TObject); + procedure MRandXChange(Sender: TObject); + procedure MRandYChange(Sender: TObject); + procedure MScreenMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure DelFontClick(Sender: TObject); + procedure DelMessageClick(Sender: TObject); + procedure FontSelectorClick(Sender: TObject); + procedure PreviewButtonClick(Sender: TObject); + procedure PreTimerTimer(Sender: TObject); + procedure AbortPreviewClick(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + Form1: TForm1; + +implementation + +{$R *.dfm} + +var + mf: TIniFile; + ti,mxt,fti: integer; { For Preview: CurTime, MaxTime, FadeTime } + nr,ng,nb: integer; { For Preview: Random RGB } + px,py,pfg,pfs: integer; { For Preview: Random XY, FontGrowth, FontSize } + ptxt: string; { For Preview: Message } + +function d2(x: integer): string; +var y: string; +begin + Str(x:0,y); + if x<10 then d2 := '0'+y else d2 := y; +end; + +procedure ReadFromIni; +var i,ms,fs,mfs: integer; + tmp: string; +begin + ms := Form1.Messages.ItemIndex; + fs := Form1.Fonts.ItemIndex; + mfs := Form1.MFont.ItemIndex; + Form1.Messages.Clear; + Form1.Fonts.Clear; + Form1.MFont.Clear; + for i:=0 to 99 do begin + if i<=15 then begin + tmp := d2(i)+' ('; + if mf.ReadBool('font'+d2(i),'bold',false) then tmp := tmp + 'b' else tmp := tmp + '_'; + if mf.ReadBool('font'+d2(i),'ital',false) then tmp := tmp + 'i' else tmp := tmp + '_'; + tmp := tmp + ') '+mf.ReadString('font'+d2(i),'face',''); + Form1.Fonts.Items.Add(tmp); + Form1.MFont.Items.Add(tmp); + end; + Form1.Messages.Items.Add(d2(i)+' - '+mf.ReadString('message'+d2(i),'text','')); + end; + if ms<>-1 then Form1.Messages.Selected[ms] := true; + if fs<>-1 then Form1.Fonts.Selected[fs] := true; + if mfs<>-1 then Form1.MFont.Selected[mfs] := true; +end; + +procedure TForm1.FormCreate(Sender: TObject); +var rt: TRegistry; + pa: string; +begin + Randomize; + DecimalSeparator := '.'; + rt := TRegistry.Create; + rt.OpenKeyReadOnly('\Software\Winamp'); + pa := rt.ReadString(''); + if Length(pa)>0 then begin + mf := TIniFile.Create(pa+'\Plugins\milk_msg.ini'); + IniPath.Caption := 'Path from Registry: '+mf.FileName; + end else begin + mf := TIniFile.Create('C:\Program Files\Winamp\Plugins\milk_msg.ini'); + IniPath.Caption := 'Default path: '+mf.FileName; + end; + ReadFromIni; + FontSelector.Items := Screen.Fonts; + MFontOver.Items := Screen.Fonts; + with MScreen.Canvas do begin + Brush.Style := bsSolid; + Brush.Color := clBlack; + FillRect(Rect(1,1,160,120)); + end; + with Preview.Canvas do begin + Brush.Style := bsSolid; + Brush.Color := clBlack; + Pen.Color := clRed; + Pen.Style := psSolid; + FillRect(Rect(1,1,160,120)); + MoveTo(1,1); + LineTo(160,120); + MoveTo(1,120); + LineTo(160,1); + end; + Fonts.Selected[0] := true; + Messages.Selected[0] := true; + FontsClick(Sender); + MessagesClick(Sender); +end; + +procedure DoFontExample; +var at: TFontStyles; +begin + at := []; + Form1.FontExample.Font.Name := Form1.FontSelector.Items.Strings[Form1.FontSelector.ItemIndex]; + if Form1.cbBold.Checked then at := at + [fsBold]; + if Form1.cbItal.Checked then at := at + [fsItalic]; + Form1.FontExample.Font.Color := rgb(Form1.FColR.Position,Form1.FColG.Position,Form1.FColB.Position); + Form1.FontExample.Font.Style := at; +end; + +procedure DoMessagePosition; +var dx,dy,w,h,vx,vy: integer; +begin + with Form1.MScreen.Canvas do begin + Brush.Style := bsSolid; + Brush.Color := clWhite; + FillRect(Rect(0,0,161,121)); + Brush.Color := clBlack; + FillRect(Rect(1,1,160,120)); + Pen.Color := clYellow; + Font.Name := Form1.MessageExample.Font.Name; + Font.Style := Form1.MessageExample.Font.Style; + Font.Color := Form1.MessageExample.Font.Color; + Font.Size := Round(Form1.MessageExample.Font.Size / 6); + if Font.Size=0 then Font.Size := 1; + TextFlags := ETO_OPAQUE; + dx := Round(Form1.MPosX.Position * 160 / 10000); + dy := Round(Form1.MPosY.Position * 120 / 10000); + vx := Round(Form1.MRandX.Position * 160 / 10000); + vy := Round(Form1.MRandY.Position * 120 / 10000); + w := TextWidth(Form1.MessageExample.Caption); + h := TextHeight(Form1.MessageExample.Caption); + Rectangle(Round(dx-w/2-vx),Round(dy-h/2-vy),Round(dx+w/2+vx),Round(dy+h/2+vy)); + Brush.Style := bsClear; + TextOut(Round(dx-w/2),Round(dy-h/2),Form1.MessageExample.Caption); + end; +end; + +procedure DoMessageExample; +var at: TFontStyles; + fcap: string; +begin + fcap := 'font'+d2(Form1.MFont.ItemIndex); + Form1.MessageExample.Caption := Form1.MessageText.Text; + at := []; + if Form1.MFontSize.Position>0 then Form1.MessageExample.Font.Size := Form1.MFontSize.Position else Form1.MessageExample.Font.Size := 1; + if Form1.cbFontOver.Checked then begin + Form1.MessageExample.Font.Name := Form1.MFontOver.Items.Strings[Form1.MFontOver.ItemIndex]; + end else begin + Form1.MessageExample.Font.Name := mf.ReadString(fcap,'face','Arial'); + end; + if Form1.cbBoldOverOn.Checked then begin + if Form1.cbBoldOver.Checked then at := at + [fsBold]; + end else begin + if mf.ReadBool(fcap,'bold',false) then at := at + [fsBold]; + end; + if Form1.cbItalOverOn.Checked then begin + if Form1.cbItalOver.Checked then at := at + [fsItalic]; + end else begin + if mf.ReadBool(fcap,'ital',false) then at := at + [fsItalic]; + end; + if Form1.cbDefFont.Checked then begin + Form1.MessageExample.Font.Color := rgb(Form1.MColR.Position,Form1.MColG.Position,Form1.MColB.Position); + end else begin + Form1.MessageExample.Font.Color := rgb(mf.ReadInteger(fcap,'r',255),mf.ReadInteger(fcap,'g',255),mf.ReadInteger(fcap,'b',255)); + end; + Form1.MessageExample.Font.Style := at; + DoMessagePosition; +end; + +procedure TForm1.FontsClick(Sender: TObject); +var st,cap: string; +begin + st := Fonts.Items.Strings[Fonts.ItemIndex]; + cap := 'font'+Copy(st,0,2); + FontSelector.Selected[FontSelector.Items.IndexOf(mf.ReadString(cap,'face','Arial'))] := true; + cbBold.Checked := mf.ReadBool(cap,'bold',false); + cbItal.Checked := mf.ReadBool(cap,'ital',false); + FColR.Position := mf.ReadInteger(cap,'r',255); + FColG.Position := mf.ReadInteger(cap,'g',255); + FColB.Position := mf.ReadInteger(cap,'b',255); + DoFontExample; +end; + +procedure TForm1.FColRChange(Sender: TObject); +begin + FColorSample.Color := RGB(FColR.Position,FColG.Position,FColB.Position); + DoFontExample; +end; + +procedure TForm1.FColGChange(Sender: TObject); +begin + FColorSample.Color := RGB(FColR.Position,FColG.Position,FColB.Position); + DoFontExample; +end; + +procedure TForm1.FColBChange(Sender: TObject); +begin + FColorSample.Color := RGB(FColR.Position,FColG.Position,FColB.Position); + DoFontExample; +end; + +procedure TForm1.MessagesClick(Sender: TObject); +var st,cap,fcap: string; +begin + st := Messages.Items.Strings[Messages.ItemIndex]; + cap := 'message'+Copy(st,0,2); + fcap := 'font'+d2(mf.ReadInteger(cap,'font',0)); + MFont.Selected[mf.ReadInteger(cap,'font',0)] := true; + if mf.ValueExists(cap,'face') then begin + MFontOver.Enabled := true; + MFontOver.Selected[MFontOver.Items.IndexOf(mf.ReadString(cap,'face','Arial'))] := true; + cbFontOver.Checked := true; + end else begin + cbFontOver.Checked := false; + MFontOver.Enabled := false; + MFontOver.ClearSelection; + end; + if mf.ValueExists(cap,'bold') then begin + cbBoldOverOn.Checked := true; + cbBoldOver.Checked := mf.ReadBool(cap,'bold',false); + end else begin + cbBoldOverOn.Checked := false; + cbBoldOver.Checked := false; + end; + if mf.ValueExists(cap,'ital') then begin + cbItalOverOn.Checked := true; + cbItalOver.Checked := mf.ReadBool(cap,'ital',false); + end else begin + cbItalOverOn.Checked := false; + cbItalOver.Checked := false; + end; + MFontSize.Position := mf.ReadInteger(cap,'size',0); + MessageText.Text := mf.ReadString(cap,'text',''); + cbDefFont.Checked := true; + if mf.ReadInteger(cap,'r',-1)=-1 then cbDefFont.Checked := false; + if mf.ReadInteger(cap,'g',-1)=-1 then cbDefFont.Checked := false; + if mf.ReadInteger(cap,'b',-1)=-1 then cbDefFont.Checked := false; + cbDefFontClick(Sender); + if NOT cbDefFont.Checked then begin + MColR.Position := mf.ReadInteger(fcap,'r',255); + MColG.Position := mf.ReadInteger(fcap,'g',255); + MColB.Position := mf.ReadInteger(fcap,'b',255); + end else begin + MColR.Position := mf.ReadInteger(cap,'r',255); + MColG.Position := mf.ReadInteger(cap,'g',255); + MColB.Position := mf.ReadInteger(cap,'b',255); + end; + MVarR.Position := mf.ReadInteger(cap,'randr',0); + MVarG.Position := mf.ReadInteger(cap,'randg',0); + MVarB.Position := mf.ReadInteger(cap,'randb',0); + MFontGrow.Position := Round(mf.ReadFloat(cap,'growth',1)*100); + MTimeS.Value := Floor(mf.ReadFloat(cap,'time',1)); + MTimeMS.Value := Floor(Frac(mf.ReadFloat(cap,'time',1))*1000); + MTimeFade.Position := Round(mf.ReadFloat(cap,'fade',0.3)*10000); + MPosX.Position := Round(mf.ReadFloat(cap,'x',0.5)*10000); + MPosY.Position := Round(mf.ReadFloat(cap,'y',0.5)*10000); + MRandX.Position := Round(mf.ReadFloat(cap,'randx',0)*10000); + MRandY.Position := Round(mf.ReadFloat(cap,'randy',0)*10000); + DoMessageExample; +end; + +procedure TForm1.DiscardFontClick(Sender: TObject); +begin + FontsClick(Sender); +end; + +procedure TForm1.SaveFontClick(Sender: TObject); +var st,cap: string; +begin + st := Fonts.Items.Strings[Fonts.ItemIndex]; + cap := 'font'+Copy(st,0,2); + mf.EraseSection(cap); + mf.WriteString(cap,'face',FontSelector.Items.Strings[FontSelector.ItemIndex]); + mf.WriteBool(cap,'bold',cbBold.Checked); + mf.WriteBool(cap,'ital',cbItal.Checked); + if (FColR.Position<>255) OR (FColG.Position<>255) OR (FColB.Position<>255) then begin + mf.WriteInteger(cap,'r',FColR.Position); + mf.WriteInteger(cap,'g',FColG.Position); + mf.WriteInteger(cap,'b',FColB.Position); + end; + ReadFromIni; +end; + +procedure TForm1.cbBoldClick(Sender: TObject); +begin + DoFontExample; +end; + +procedure TForm1.cbItalClick(Sender: TObject); +begin + DoFontExample; +end; + +procedure TForm1.DiscardMessageClick(Sender: TObject); +begin + MessagesClick(Sender); +end; + +procedure TForm1.SaveMessageClick(Sender: TObject); +var st,cap: string; +begin + st := Messages.Items.Strings[Messages.ItemIndex]; + cap := 'message'+Copy(st,0,2); + mf.EraseSection(cap); + mf.WriteString(cap,'text',MessageText.Text); + mf.WriteInteger(cap,'font',MFont.ItemIndex); + mf.WriteInteger(cap,'size',MFontSize.Position); + if MFontGrow.Position<>100 then mf.WriteFloat(cap,'growth',MFontGrow.Position / 100); + mf.WriteFloat(cap,'x',MPosX.Position / 10000); + mf.WriteFloat(cap,'y',MPosY.Position / 10000); + if MRandX.Position<>0 then mf.WriteFloat(cap,'randx',MRandX.Position / 10000); + if MRandY.Position<>0 then mf.WriteFloat(cap,'randy',MRandY.Position / 10000); + mf.WriteFloat(cap,'time',MTimeS.Value + MTimeMS.Value/1000); + if MTimeFade.Position<>0 then mf.WriteFloat(cap,'fade',MTimeFade.Position / 10000); + if cbFontOver.Checked then mf.WriteString(cap,'face',MFontOver.Items.Strings[MFontOver.ItemIndex]); + if cbItalOverOn.Checked then mf.WriteBool(cap,'ital',cbItalOver.Checked); + if cbBoldOverOn.Checked then mf.WriteBool(cap,'bold',cbBoldOver.Checked); + if cbDefFont.Checked then begin + mf.WriteInteger(cap,'r',MColR.Position); + mf.WriteInteger(cap,'g',MColG.Position); + mf.WriteInteger(cap,'b',MColB.Position); + end; + if (MVarR.Position<>0) OR (MVarG.Position<>0) OR (MVarB.Position<>0) then begin + mf.WriteInteger(cap,'randr',MVarR.Position); + mf.WriteInteger(cap,'randg',MVarG.Position); + mf.WriteInteger(cap,'randb',MVarB.Position); + end; + ReadFromIni; +end; + +procedure TForm1.MColRChange(Sender: TObject); +begin + MColorSample.Color := rgb(MColR.Position,MColG.Position,MColB.Position); + DoMessageExample; +end; + +procedure TForm1.MColGChange(Sender: TObject); +begin + MColorSample.Color := rgb(MColR.Position,MColG.Position,MColB.Position); + DoMessageExample; +end; + +procedure TForm1.MColBChange(Sender: TObject); +begin + MColorSample.Color := rgb(MColR.Position,MColG.Position,MColB.Position); + DoMessageExample; +end; + +procedure TForm1.cbDefFontClick(Sender: TObject); +begin + if cbDefFont.Checked then begin + MColR.Enabled := true; + MColG.Enabled := true; + MColB.Enabled := true; + end else begin + MColR.Enabled := false; + MColG.Enabled := false; + MColB.Enabled := false; + end; + DoMessageExample; +end; + +procedure TForm1.MFontSizeChange(Sender: TObject); +begin + DoMessageExample; +end; + +procedure TForm1.cbFontOverClick(Sender: TObject); +begin + if cbFontOver.Checked then begin + MFontOver.Enabled := true; + end else begin + MFontOver.Enabled := false; + end; + if MFontOver.ItemIndex=-1 then MFontOver.Selected[0] := true; + DoMessageExample; +end; + +procedure TForm1.MessageTextChange(Sender: TObject); +begin + DoMessageExample; +end; + +procedure TForm1.MFontOverClick(Sender: TObject); +begin + DoMessageExample; +end; + +procedure TForm1.Button1Click(Sender: TObject); +begin + MFontGrow.Position := 100; +end; + +procedure TForm1.cbBoldOverOnClick(Sender: TObject); +begin + if cbBoldOverOn.Checked then begin + cbBoldOver.Enabled := true; + end else begin + cbBoldOver.Enabled := false; + end; + DoMessageExample; +end; + +procedure TForm1.cbItalOverOnClick(Sender: TObject); +begin + if cbItalOverOn.Checked then begin + cbItalOver.Enabled := true; + end else begin + cbItalOver.Enabled := false; + end; + DoMessageExample; +end; + +procedure TForm1.cbBoldOverClick(Sender: TObject); +begin + DoMessageExample; +end; + +procedure TForm1.cbItalOverClick(Sender: TObject); +begin + DoMessageExample; +end; + +procedure TForm1.MFontClick(Sender: TObject); +begin + DoMessageExample; +end; + +procedure TForm1.MTimeMSChange(Sender: TObject); +begin + if MTimeMS.Value < 0 then begin + if MTimeS.Value>0 then begin + MTimeS.Value := MTimeS.Value - 1; + MTimeMS.Value := 1000 - MTimeMS.Value; + end else MTimeMS.Value := 0; + end; + if MTimeMS.Value > 999 then begin + if MTimeS.Value<999 then begin + MTimeS.Value := MTimeS.Value + 1; + MTimeMS.Value := 1000 - MTimeMS.Value; + end else MTimeMS.Value := 999; + end; +end; + +procedure TForm1.MPosYChange(Sender: TObject); +begin + DoMessagePosition; +end; + +procedure TForm1.MPosXChange(Sender: TObject); +begin + DoMessagePosition; +end; + +procedure TForm1.MRandXChange(Sender: TObject); +begin + DoMessagePosition; +end; + +procedure TForm1.MRandYChange(Sender: TObject); +begin + DoMessagePosition; +end; + +procedure TForm1.MScreenMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); +begin + MPosX.Position := Round(x*10000/160); + MPosY.Position := Round(y*10000/120); +end; + +procedure TForm1.DelFontClick(Sender: TObject); +var st,cap: string; +begin + st := Fonts.Items.Strings[Fonts.ItemIndex]; + cap := 'font'+Copy(st,0,2); + mf.EraseSection(cap); + ReadFromIni; +end; + +procedure TForm1.DelMessageClick(Sender: TObject); +var st,cap: string; +begin + st := Messages.Items.Strings[Messages.ItemIndex]; + cap := 'message'+Copy(st,0,2); + mf.EraseSection(cap); + ReadFromIni; +end; + +procedure TForm1.FontSelectorClick(Sender: TObject); +begin + DoFontExample; +end; + +procedure TForm1.PreviewButtonClick(Sender: TObject); +var dx,dy,vx,vy: integer; +begin + PreviewButton.Enabled := false; + ti := 0; + mxt := MTimeS.Value*1000+MTimeMS.Value; + fti := Round(MTimeFade.Position*mxt/10000); + nr := MColR.Position + (Random(2*MVarR.Position)-MVarR.Position); + ng := MColG.Position + (Random(2*MVarG.Position)-MVarG.Position); + nb := MColB.Position + (Random(2*MVarB.Position)-MVarB.Position); + if nr<0 then nr := 0; if nr>255 then nr := 255; + if ng<0 then ng := 0; if ng>255 then ng := 255; + if nb<0 then nb := 0; if nb>255 then nb := 255; + dx := Round(MPosX.Position * 160 / 10000); + dy := Round(MPosY.Position * 120 / 10000); + vx := Round(MRandX.Position * 160 / 10000); + vy := Round(MRandY.Position * 120 / 10000); + vx := Random(2*vx)-vx; + vy := Random(2*vy)-vy; + px := dx+vx; + py := dy+vy; + pfg := MFontGrow.Position; + pfs := MFontSize.Position; + ptxt := MessageExample.Caption; + with Preview.Canvas do begin + Font.Style := MessageExample.Font.Style; + Pen.Color := clRed; + Pen.Style := psSolid; + Font.Name := MessageExample.Font.Name; + Brush.Style := bsSolid; + Brush.Color := clWhite; + FillRect(Rect(0,0,161,121)); + Brush.Color := clBlack; + FillRect(Rect(1,1,160,120)); + end; + PreTimer.Enabled := true; + AbortPreview.Enabled := true; +end; + +procedure TForm1.PreTimerTimer(Sender: TObject); +var nsize: double; +var w,h: integer; +begin + nsize := 1 + ti*(pfg-100)/(100*mxt); + with Preview.Canvas do begin + if ti<=fti then Font.Color := rgb(Round(ti*nr/fti),Round(ti*ng/fti),Round(ti*nb/fti)) else Font.Color := rgb(nr,ng,nb); + Font.Size := Round(pfs*nsize/6); + if Font.Size=0 then Font.Size := 1; + w := TextWidth(ptxt); + h := TextHeight(ptxt); + FillRect(Rect(1,1,160,120)); + TextOut(Round(px-w/2),Round(py-h/2),ptxt); + end; + Inc(ti,50); + if ti>mxt then begin + AbortPreview.Enabled := false; + PreTimer.Enabled := false; + with Preview.Canvas do begin + Brush.Style := bsSolid; + Brush.Color := clWhite; + FillRect(Rect(0,0,161,121)); + Brush.Color := clBlack; + FillRect(Rect(1,1,160,120)); + Pen.Color := clRed; + Pen.Style := psSolid; + MoveTo(1,1); + LineTo(160,120); + MoveTo(1,120); + LineTo(160,1); + end; + PreviewButton.Enabled := true; + end; +end; + +procedure TForm1.AbortPreviewClick(Sender: TObject); +begin + AbortPreview.Enabled := false; + PreTimer.Enabled := false; + with Preview.Canvas do begin + Brush.Style := bsSolid; + Brush.Color := clWhite; + FillRect(Rect(0,0,161,121)); + Brush.Color := clBlack; + FillRect(Rect(1,1,160,120)); + Pen.Color := clRed; + Pen.Style := psSolid; + MoveTo(1,1); + LineTo(160,120); + MoveTo(1,120); + LineTo(160,1); + end; + PreviewButton.Enabled := true; +end; + +end. diff --git a/MDMessageEditor.cfg b/MDMessageEditor.cfg new file mode 100644 index 0000000..dc18277 --- /dev/null +++ b/MDMessageEditor.cfg @@ -0,0 +1,35 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O+ +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-LE"c:\program files\borland\delphi6\Projects\Bpl" +-LN"c:\program files\borland\delphi6\Projects\Bpl" diff --git a/MDMessageEditor.dof b/MDMessageEditor.dof new file mode 100644 index 0000000..246966b --- /dev/null +++ b/MDMessageEditor.dof @@ -0,0 +1,90 @@ +[FileVersion] +Version=6.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +[Linker] +MapFile=0 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir= +PackageDLLOutputDir= +PackageDCPOutputDir= +SearchPath= +Packages=vcl;rtl;dbrtl;adortl;vcldb;vclx;bdertl;vcldbx;ibxpress;dsnap;cds;bdecds;qrpt;teeui;teedb;tee;dss;teeqr;visualclx;visualdbclx;dsnapcrba;dsnapcon;VclSmp;vclshlctrls;vclie;xmlrtl;inet;inetdbbde;inetdbxpress;inetdb;nmfast;webdsnap;websnap;dbexpress;dbxcds;indy;dclOffice2k +Conditionals= +DebugSourceDirs= +UsePackages=0 +[Parameters] +RunParams= +HostApplication= +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir= +[Version Info] +IncludeVerInfo=1 +AutoIncBuild=1 +MajorVer=1 +MinorVer=0 +Release=0 +Build=10 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=1033 +CodePage=1252 +[Version Info Keys] +CompanyName=Markus Birth +FileDescription=MDME - MilkDrop Message Editor +FileVersion=1.0.0.10 +InternalName=MDME +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName=MDME - MilkDrop Message Editor +ProductVersion=1.0.0.0 +Comments=MilkDrop is one of the best visualization-plugins for WinAMP. This editor is for defining the popups for MilkDrop. +[HistoryLists\hlUnitAliases] +Count=1 +Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; diff --git a/MDMessageEditor.dpr b/MDMessageEditor.dpr new file mode 100644 index 0000000..f0cc293 --- /dev/null +++ b/MDMessageEditor.dpr @@ -0,0 +1,14 @@ +program MDMessageEditor; + +uses + Forms, + MDME in 'MDME.pas' {Form1}; + +{$R *.res} + +begin + Application.Initialize; + Application.Title := 'MDME - MilkDrop Message Editor'; + Application.CreateForm(TForm1, Form1); + Application.Run; +end. diff --git a/README.md b/README.md new file mode 100644 index 0000000..48b4afd --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +MDME - MilkDrop Message Editor +============================== + +The famous [MilkDrop](http://www.geisswerks.com/milkdrop/) plugin for WinAMP has +a feature to display text messages with some special effects on the screen. A decade +ago, this was only configurable by editing some ini file and then checking the +results in WinAMP. Repeat until you're satisfied. + +To make things easier, I wrote a simple simulator which gives you an idea of how +the result will look like. So you can simply add various messages in a short time. + +Here are some screenshots: + +![](screenshots/MDME_ss1.png) + +![](screenshots/MDME_ss2.png) + +![](screenshots/MDME_ss3.png) + +![](screenshots/MDME_ss4.png) + +![](screenshots/MDME_ss5.png) diff --git a/screenshots/MDME_ss1.png b/screenshots/MDME_ss1.png new file mode 100644 index 0000000000000000000000000000000000000000..81995d34f90c4405132ae57837b0e81c0d96b126 GIT binary patch literal 28600 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

Hr&@E*L?J^l)%nHw8TzjN(A; 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Πg-9iKBzUZ7z2q*p1SBO+CLD26IcdI_P0 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 literal 0 HcmV?d00001 diff --git a/screenshots/MDME_ss2.png b/screenshots/MDME_ss2.png new file mode 100644 index 0000000000000000000000000000000000000000..980a8c1cdd3b639119ad184f424d7ce59ae058ca GIT binary patch literal 21854 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 literal 0 HcmV?d00001 diff --git a/screenshots/MDME_ss4.png b/screenshots/MDME_ss4.png new file mode 100644 index 0000000000000000000000000000000000000000..6fc161b3361537594cee512c4086ae8c8d85ca50 GIT binary patch literal 22003 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 literal 0 HcmV?d00001 diff --git a/screenshots/MDME_ss5.png b/screenshots/MDME_ss5.png new file mode 100644 index 0000000000000000000000000000000000000000..de59cb83e0fc1ed4760b366338ca7d1753db55a5 GIT binary patch literal 21249 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