|
What's new in 4.9.7?
ADDITIONS:
| • | Added fully featured and configurable Message box! The function is called MessageEx. |
| • | Message and MessageEx now uses WinXP visual styles. Sorry, no support for the rest MMB objects yet ;) |
| • | Added SetObjectParam("object","parameters") for setting common aspects of some basic MMB objects. |
| • | Added FontPicker() function, which will open the standard Font dialog (similar to ColorPicker). In this dialog you can set the various font parameters and the result is a CBK_FONT containing all font parameters in a string array. |
| • | Added SetProjectParam("","") for changing the project parameters in a runtime. For now, it will allow you to set/change the page/master page/project background image/color. |
| • | The workspace area is now scrollable with size 3072x2304. We think it should be enough..at least for few next versions ;) |
| • | Added StrToLine function: StrToLine(filename$,string$,toline,overwrite) Simply, it's a function to add/replace a line in a text file. |
fileaname$ = path to text file (not binary files!)
string$ = string to add to line
toline = number of line to add
overwrite = TRUE/FALSE - if true, 'toline' line is replaced otherwise moved down
| • | Added new CurrentObject() which returns the name (label) of the current object in which was this function called. |
| • | Added new ImageOpacity("ImageObject","opacity") which allows you to set the image (Bitmap object) opacity. |
opacity = 0 object is fully transparent, opacity = 100 object is fully opaque
| • | Added GetImageOpacity(Bitmap) function. With this function you can get the current opacity of the given Bitmap object. |
| • | Added function for object reordering in a runtime ReorderObject("Object$","FRONT/BACK/FORWARD/BACKWARD") |
FRONT - move object to Front
BACK - move object to Back
FORWARD - move object one step up
BACKWARD - move object one step back
| • | Added Cut/Copy/Paste to right click menu to EditBox (in a runtime). |
| • | Added "Enable scrolling" option in EditBox. This option allows scrolling text when typing inside the Editbox, in case the text is longer than a defined width of EditBox. The "Fixed Width" must be enabled. |
| • | Added text selection inside EditBox via Shift + Left/Right arrow key. |
| • | Added Password mode to EditBox object! EditBox in password mode displays * characters instead of typed characters. This mode can be set both via EditBox properties or by SetObjectParam("object","PASSWORD=TRUE/FALSE") function. |
| • | Added "Enable menu" option to EditBox properties, which enable/disable rclick menu (and shortcuts) in EditBox. |
| • | Added comment block to Script window. With this sequence of characters /* */ you can comment multiple lines of code at once.. |
/* code
code
code
code */
| • | PluginSet/Get/Run can now use variables both in first and second parameter. |
FIXES:
| • | Fixed rounding when incrementing small numbers (like 0.01). |
| • | Fixed the missing application button in task bar. |
| • | Fixed the problem with fullscreen background and Minimize/Restore the application window to tray bar(via plugins). |
| • | Fixed IsMinimized() problem (incorrect return value) in case of enabled full screen background. |
| • | Fixed GetArrayItem and hexa params data$=GetArrayItem(string$,'0x2C',1) |
| • | Fixed bug in GetArrayNum if used string array - n1=GetArrayNum(list$[1],) |
| • | StrToFile now accept append a linefeed as a variable. |
| • | Fixed refresh of CBK_VTotal and CBK_VTime text |
| • | Fixed custom appearance of custom cursor if custom cursor is moved above the object with no custom cursor defined. |
| • | Fixed bug in SearchForFiles, which returned also the files with incomplete file extension |
| • | Fixed an inability to start anything after RunMBD in CBK_EXIT |
| • | Fixed a designer freeze when Copy&Paste and the label of the copied object is just a number. |
| • | Fixed - NumPad keys return numbers and not characters as previously. |
| • | The size of script accepted per single Script window is now about 120kb. |
| • | Fixed some cursor hot-spots. |
| • | A lot of other internal fixes and tweaks ;) |
KNOWN PROBLEMS & LIMITATIONS:
| • | The comment block /* */ can sometimes incorrectly highlight/dehighlight the code. Make sure the /* characters are at the start of line (as the very first characters on the script line) and the terminating */ at the end of line. |
| • | The Font charset cannot be set on ListBox object. |
4.9.6a
FIXES:
| • | Fixed a serious syntax checker bug. |
4.9.6
ADDITIONS:
| • | Added a complete Command line support for MMB compiled apps. With this you can send an unlimited number of parameters to your applications (even already running apps with a single instance enabled!). With this new feature you can create windows screen savers including settings dialog! |
| • | From this version you can place any rectangular object over the Video object! Video still plays OnTop, but it's now "masked" with the objects placed over the video rectangle. |
| • | Completely rewritten Run command with a focus on BAT files. Now the Run command should work the same way with WAIT/TOPMOST as without these parameters. Several new Run command starting options were added too. |
| • | Added a new predefined function GetVideoParam(object, videoparam), which returns the current state (0 or 1) of a given video parameter. |
| • | Added VideoClose() command to Close (unload) and Hide video object. |
| • | VideoLoad now create still image from the first frame of loaded video file. Previously it just drop the still image from previously loaded Video. |
| • | Added new MPEGAccurate option to ListBox Properties and ListBoxParam("ListBox","parameters") function. This will allow you to load VBR (variable bitrate) audio files into ListBox with correct time. |
| • | Added an option to dynamically change the range of For..Next loop counter. Thanks to this you can prematurely terminate the For..Next loop under a certain conditions. |
| • | Added a Break() function to jump from For..Next loop. With this function you can jump from For..Next loop, but you can still continue with the main script. Previously, there was only Return() function, which skips entire script. |
| • | SongListLoad now loads the lists in a given format. For example, TXT file can be read as M3L songlist format or vice versa. This is useful for text files editing. Also, if you want to use TXT file as a songlist storage, you have to always read it as M3L file, because it uses some songlist reading improvements. |
| • | Batch files (*.bat) can now be run with Run with WAIT parameter. |
| • | Added new Flash("Flash","MINMENU/FULLMENU") which switch the Flash right click menu to minimized or full mode. |
| • | ScriptTimer started and looped on Master Page/Layer will not be terminated after jump from one page to another (as it was previously). |
| • | Added a Restore() function to restore minimized project window to its original size and position (before Minimize()). |
| • | Added a NEW_WINDOW parameter to RunMBD command. As name of parameter says, it will open mbd project in the new window. |
| • | Added some additional parameters to Run command: MINIMIZE, MAXIMIZE, HIDE. |
MAXIMIZE - Start application in maximized mode.
MINIMIZE - Start application in minimized mode.
HIDE - Start application with hidden window (useful for command prompt or BAT files).
FIXES:
| • | SysCommand("MoveWindow","x,y") can be again used in Page Start script ;) |
| • | Fixed bug in OpenFile function, which prevents to change the <File> macro. |
| • | Fixed list of available files in Video OpenFile dialog (missing WMV file). |
| • | Fixed bug in ListBoxAddItem function, which prevents adding the strings separated by comma character. |
| • | ObjectWidth/Height now returns correct size of multiline Text object. |
| • | ObjectWidth/Height now returns correct size of Video object (size of still image). |
| • | Fixed Up/Down ScrollBar buttons in Paragraph object. Press and hold Up/Down arrow buttons keep scrolling text up or down. |
| • | Fixed crash caused by lost focus in ListBox (minimized application window and ListBoxSelectItem/ListBoxDeselectItem). |
| • | Fixed crash if <List> macro is assigned to string/integer variable like number=VAL(<List>) or string$=<List>. Both examples are useless, but they shouldn't crash ;) |
| • | Fixed some bad screen redraws mainly visible in Page transition effects. |
| • | Fixed SongListSave problem with # character. |
| • | Fixed (we hope) the click through the Video in FullScreen mode. |
| • | Fixed ListBoxSortItems (by TIME) - longer files were not correctly sorted. |
| • | Fixed ListBox columns width calculation. |
| • | Fixed If..Then formatting problem (more 'End' than 'If' or more 'If' than 'End'). |
| • | Fixed bad redraw of transparent parts of overlaid GIF objects. |
| • | Fixed ListBoxAddItem problem with strings containing comma character. |
| • | Fixed ListBox scrollbar bug - after resizing ListBox with MoveObject function. |
| • | Fixed bug with parsing multiple path macros in Run command. |
| • | Fixed running BAT (batch) files in Run command. |
| • | SongListSave in second parameter now opens (in script wizard) "Save As" instead of "Open File" dialog. |
| • | SongListSave no longer adds an empty line at the end of saved file. |
| • | Fixed bug in StrFromFile that caused a loading of strange characters. |
| • | Fixed Win9x/ME crash caused by Flash object and "Hide Menu" option. |
| • | Fixed some memory problems and crashes on certain computers (actually, we don't know what we exactly did, but it no longer crashes;) |
| • | Added missing I cursor in EditBox object (in a runtime). |
| • | Fixed missing objects in Path Replace tool. |
| • | Fixed OnFinish Video crash. |
| • | Fixed a bug in script syntax checker. |
| • | Fixed bug in NOL function. |
| • | Fixed bug in CDPause regarding CBK_Time and CBK_TimeSec. |
| • | AV object can now be copied. |
| • | Fixed a possible dangerous part of code, which might cause a crash on some computers. |
| • | Many other fixes and code optimizations. |
CHANGES:
| • | VideoParam("VideoBox","FULLSCREEN") to VideoParam("VideoBox","FULLSCREEN=ON/OFF") |
| • | VideoParam("VideoBox","MODE=FRAME/TIME") to VideoParam("VideoBox","FRAME/TIME") "MODE=" is no longer required. |
| • | Flash("Flash","SHOWMENU/HIDEMENU") now enable/disable the Flash right click menu (previously it switched the menu between minimized or full mode). |
KNOWN PROBLEMS:
| • | ASF/WMA file formats don't work with CBK_AudioEOF. Unfortunately, these MS file formats don't support the EOF detection. However, there is a way (even a little tricky) how to detect end of file. Check this example file. |
KNOWN LIMITATIONS:
Q: Some objects placed over the "windowed" objects (like a HTML, ListBox, Binding, Video or Flash) does have an ugly white rectangle around them.
A:
It's because MMB4.9 allows only the rectangle objects to be placed over these special objects. Then if you place for example a circle over the HTML, it will still appear as a circle inside the ugly white rectangle. We will try to do something with this limitation in any next version of MMB.
Q: WMA, ASF audio formats don't fill the CBK variables.
A:
At the moment only the OGG files have the complete support for CBK variables.
What to do if you experience any problem? Read the Support chapter in this help file.
4.9.5
MMB Video object:
MMB Video object is now completely rewritten! The days of an obsolete and not reliable MCI video playback are counted! The MCI object still remains there and unchanged (for technical experts), but the Video object is now a fully featured and easy to use DirectShow player. Of course, there are some dependencies on the installed video codecs; however, if you have installed Windows Media Player 7 or higher, you should have all the usual codecs installed. Now it is possible to run multiple video objects on a page at the same time!
Bitmap object enhancements:
Added a lot of new Image related scripting commands and designer enhancement. Now you will be able to preserve the Image size, or stretch image to fit window, resize/rotate the image and preserve its aspect ratio and lots of other things. Look at the detailedBitmap Object description.
Polygonal Hot-spot:
Added a polygonal hot-spot object. Irregular hot spots are now possible!
ZoomTool:
Added Zoom Tool for magnifying the selected part of MMB workspace.
MMB Script:
A lot of new scripting commands were added to work with strings, date/time, video, image/hotspot/polygon object resize and rotation, and many others. BTW, complete list of all MMB functions, CBK variables and predefined functions is now accessible over the right-click menu in MMB scripting dialog (both basic and enhanced windows) and scripting functions are no longer case sensitive. Check the Scripting Unleashed chapter. This chapter is really important to all of you who want to understand MMB Scripting. We really recommend you to check this chapter (thanks Bokzy! :)
OTHER ENHANCEMENTS:
| • | Added tooltips and ability to change the default cursor on some next objects (Bitmap, Polygon objects, Matrix, Text and Text Edit). |
| • | Added the ability to change the color of HTML status bar and progress bar (designer). |
| • | Added the option to run just one instance designer/compiled application. |
| • | Added a button to delete all guide lines (menu Edit>>> Edit Guides). |
| • | Added buttons and shortcuts to Page Manager for inserting (INS) and deletion (DEL) the publication pages. |
| • | Added the ability to change the colors of AudioVisualization object - Equalizer (both from designer and script). |
| • | Added a Minimize button to the standard project window. |
| • | Added the ability to completely disable the Flash right click menu. |
| • | Added the ability to load Flash file in its original size and maintain its aspect ratio. |
| • | MMB4.9 files can now be saved in 4.8 compatible file format. All 4.9 related things will be removed and scripts will be amended. |
| • | Each change in a Dimension tool can be confirmed by Enter and not only by "Apply" button as previously. |
| • | FMOD audio library updated to version 3.6.2. |
| • | Restored the ability to change the Player.exe icon (Compile dialog). |
| • | The main Object toolbar is now redesigned to popups (according common features). However, if you don't like the popups, you can switch back to the previous long toolbar (View>>>Toolbars>>>Object Toolbar (simple)). |
| • | Video Object now supports audio playback (ogg, mi, mi, midi, rmi, wav, snd, au, aif, wma, asf), but without the ID tags! |
| • | Added the option to enable/disable multiselection, item numbering and audio time in a ListBox object. |
| • | LoadVideo and ReplaceImage functions now supports OpenFile button in the "Path" parameter. You will no longer need to Copy and Paste the absolute paths from somewhere else (i.e. windows explorer). |
| • | ListBox object now supports Drag&Drop from outside of MMB application (e.g. from windows explorer). |
| • | Added the option to load the audio and video files as a parameter of a compiled MMB application. Of course, if you want to run a video from command line a video object must be available in the running application. |
| • | Added On Load, On Start and On Stop/Finish events to the Video object (check the Run Script option in Video properties). |
| • | Polygon object can now be resized. |
| • | Already opened and changed projects are marked with * mark in the MMB title bar (behind the project name). |
| • | Added the option to compile final application without the FMOD audio library (NoFMOD option in Compile dialog). |
| • | MMB internal playlist (m3l) now supports Video files storage. |
| • | All windowed objects (Flash, HTML Browser, Binding, ListBox or AV) can now be added on Master Page and Master Top Layer and controlled via script! This allows you to use single Flash object on the Master Page as a project menu or single ListBox for entire project. |
| • | Significantly improved "Snap To Grid" feature. Snap To Grid now works with all objects as expected (including creating objects and dragging the object corners! ;) |
| • | ZoomTool floating can be disabled by toggling ZoomTool button OFF/ON (and not only by Ctrl+Space shortcut as previously). |
| • | Improved speed of Enhanced Script window. |
| • | Multiple embedded sounds can be now played at the same time. |
| • | Message box caption is now set according the project window title (Project>>Project Settings menu). |
SCRIPTING ENHANCEMENTS:
| • | Added commands to resize/rotate Bitmaps, Hotspots (w/o image) and filled polygon objects. |
| • | SearchForSong now supports file extension filtering... SearchForSongs ("C:\",”ogg,wav"). |
| • | Added <Temp >, <Windows >, <System > predefined variables. |
| • | All <> variables (like a <SrcDir >, <CD >, <System >) can now be expanded to a string variable. |
| • | RunScript and ScriptTimer commands can now be called from the Master Page or Master Top Layer - RunScript("Master Page::Script") |
| • | Added some new predefined functions ( WinVer , ScreenCol , PubWidth , PubHeight , UsingWinNT , ...) |
| • | Added new CBK variable for obtaining the current page name - CKB_PageName . |
| • | WMA and ASF now returns correct CBK time variables. |
| • | Audio CBK now supports reading OGG tags. |
| • | Added two new CBK variables for obtaining the total time of songs in the internal song list - CBK_TotalList and CBK_TotalSecList . |
| • | FMOD and Flash Error/Warning messages can be disabled (Compile page) and then handled by CBK_Error variable. |
| • | Predefined functions ObjectX , ObjectY , ObjectWidth , ObjectHeight and IsVisible now supports string variables as a parameter i.e. ObjectX(object$). |
| • | Added new ListBoxSort ("object","param") function. Possible parameters: NAME, TIME, REVERSE and RANDOMIZE. |
| • | Added new ListBoxMoveItem("ListBox1","PositionNum"). |
| • | Added FMODConfig function for changing the configuration of FMOD audio library (DX, SW or None + MPEG accurate playback) at runtime. |
| • | Added three new predefined functions for checking the actual mouse state - MouseLButton(), MouseMButton() and MouseRButton() Returns 1 if mouse is pressed and 0 if released. |
| • | If..End conditional loop finally supports Else ;) |
| • | Added WAIT parameter to Run command. This will cause pausing the MMB application until external application is running. Usage: Run("C:\WINNT\notepad.exe","WAIT") or more advanced example Run("C:\WINNT\notepad.exe","TOPMOST,WAIT c:\your.txt") |
| • | Transparent parts of the bitmap objects will not detect the mouse clicks. |
| • | Scripts can now be saved/loaded to/from external files (Designer option...sorry guys, but the runtime loading of external script files is not yet available ;) |
| • | Added BackgroundPlay , BackgroundPause and BackgroundStop commands for controlling the Background music at runtime. |
| • | Added a syntax completion to MMB script. However, because this feature doesn't need to satisfy everyone, you can turn it OFF by right click menu in script window. |
| • | Function SongListSave now allows you to save the internal songlist to file with any extension you want to use. But the file format of the saved list will be still plain txt (or MMB internal m3l format if you want) SongListSave("SongList","c:\test.aaa"). |
| • | Added CBK_URLPath for obtaining the actual path from HTML object. |
| • | Predefined String functions can now be merged within the single line of code e.g. s$= CHR(55)+ CHR(60) |
| • | SongListLoad now supports loading of m3l, m3u, pls and txt file formats. |
| • | Object arrays (e.g. TextBTN[n]) now works with every function, which supports Object label. |
| • | "Master Page::", "Master Layer::" and "Page::"prepositions now works with every function, which supports Object label. LoadText("Page 2::TextBTN","kuk...") |
| • | Functions Hide /Show /Invert and MoveObject /MoveTo now works with stopped as well as running video. |
| • | Predefined functions now supports Object/String/Integer arrays. ColW=ObjectWidth(Bitmap[i]) |
| • | Page Exit now works with RunMBD command. |
| • | Speed improvements regarding the Image object and MoveObject/MoveTo command. |
| • | MMB now installs (and embed) Macromedia Flash Player 7. |
| • | Pressing Cancel button in ColorPicker() dialog sets CBK_SelColor = 0. |
| • | ListBoxParam () function to setup some of ListBox properties in a runtime (like a Background and Text color, enable/disable Drag&Drop, etc.). |
| • | ColorPicker () function with CBK_SelColor to selecting and storing colors. |
| • | Added Drag&Drop event tab to the ListBox script dialog. |
| • | Possibility to change the colors of a Menu Item button style (in a design time). |
| • | Run command now returns the return values from the running applications (of course if return codes were implemented in these applications). The return codes are displayed in CBK_ReturnVal. |
CHANGES:
| • | Predefined functions are no longer case sensitive. You can type " objectwidth() " or " ObJecTWidth() " and it will be automatically converted to ObjectWidth() . |
| • | Function ListBoxAddItem no longer supports RANDOMIZE parameter. Use new ListBoxSort ("object"," RANDOMIZE ") function instead of previous ListBoxAddItem with RANDOMIZE parameter . |
| • | Predefined functions ScreenWidth and ScreenHeight are no longer filled after the publication start-up. If you want to obtain the actual screen width/height size, use the new ScreenWidth() and ScreenHeight() functions. All older scripts that use the old syntax must be updated! |
| • | MXCOL and MXROW Matrix variables are no longer filled after the publication start-up. They are filled only if a Matrix object is used. |
| • | MouseDown/MouseUp events are now performed only above parental objects. If you, for example, click and hold the mouse button above an active object (e.g. button), then you move mouse over another active object and release the mouse button above it, the MouseUp event of the second (target) mouse will not be called. |
| • | String variable used as the first parameter of the LoadText function will no longer load the contents of a second LoadText parameter. The variable used as a first parameter of LoadText can be now used as a name pointer to an object. This will allow you to dynamically replace the text in a series of text objects or buttons. |
| • | String Arrays are finally unified (we hope)! All older scipts should work as previously, but it would be safer to check and fix them to match their syntax unified. Everywhere you need to use arrays use this syntax: |
Numeric arrays:
NumVar[n]
String Arrays:
StrVar$[n]
Object Arrays:
TextBTN[n]
| • | TRUE/ FALSE are now keywords (automatically colored and converted to uppercase format). |
| • | StrToFile predefined function now supports 1/0 or TRUE/FALSE in Append/Linefeed parameters StrToFile(filename$,string$, 1,0) |
| • | <Temp> now returns path to Windows temp directory and <Embedded> returns path to MMB temp directory. |
| • | SongListSave by default save internal SongList <List> (you no longer need to declare it in first parameter). |
| • | SearchForSong is renamed to SearchForFiles. All older scripts are automatically updated to this new name. |
| • | MMB now insert blank lines between the If..Else..End statement, when you type "If" into the script window. |
| • | When you type a function to the script window and the function is auto-completed, then cursor now remains inside the parenthesis or quotes. |
| • | ViewJPG function now support loading the BMP files and is renamed to ViewImage ;) |
| • | Numbers and times in ListBox can now be disabled (in designer as well as in runtime by script). |
| • | Improved fast clicking detection in hotspot object. |
| • | SongListTime , CBK_Total, CBK_Time, CBK_VTotal, CBK_VTime now returns their values in hh:mm:ss format. |
| • | Added "Search for ID tags" option to the ListBox properties. This option is useful in cases when a non-audio content of the <List> is loaded. Disabling this option can significantly increase the speed of loading. |
| • | Better rescaling algorithm is now used in ViewImage function. |
| • | Improved ListBoxAddItem parameters: |
Example:
str$= 'item 4#item 5#item 6#'
sep$=CHR(35)
param$=str$+','+sep$
** previously only this worked...
ListBoxAddItem("ListBox1","str$,#")
** but now you can use also this..
ListBoxAddItem("ListBox1","str$,sep$")
** or this
ListBoxAddItem("ListBox1","param$")
FIXES:
| • | In cooperation with Bokzy, we found a true reason of occasional crashing in MMB designer. The reason of this issue are some Delphi plugins. The good news is that it can be fixed, however, the bad news is that it will require a rebuild of most of all Delphi plugins. And as you may know or not, some of the plugins are no longer developed by their authors, developers disappeared and the source codes of these plugins are not available too. In short, some of the plugins cannot be fixed and they may still crash the MMB designer. |
Bokzy (as the author of Delphi SDK fix) will probably release (in a near future;) an improved Delphi SDK with description how to fix the current Delphi plugins.
| • | We also found (in cooperation with mni) a solution to another serious issue reported by some Win98/ME users. Some of them reports no sound or crashes with Flash, Video, Embedded or external applications or a general problems with internal MMB audio when running multiple instances of MMB applications at a time. Believe or not, the right reason of this issue are old sound card drivers! For more information about this issue and how to fix it check this FAQ topic. |
| • | Fixed a serious memory leak if ObjectWidth was used with Text object, or looping ScreenWidth/Height/Colors and some other functions. If your project crashes from time to time after and without any visible reason, this memory leak was the most probably cause of these crashes :) |
| • | Fixed another potentially dangerous place in MMB code, which was cause of many strange and non-reproducible crashes and behaviors. They could happen in cases if your application jumps between mbd projects (via RunMBD) or between pages, and at the same time it runs some background scripts in loops (both finite or infinite). |
| • | Each change of an mbd project should invoke the "project is changed" event and then mbd file should not be closed without Save request. |
| • | Right click menu (Undo, Copy, Paste,...) in script editor is now back. |
| • | Fixed Alpha button preview in the Alpha button load dialog. |
| • | Fixed bug in Run command, which prevent correct parsing of the program parameter. |
| • | EditBox variables are now correctly refreshed when they are filled via LoadText or DisplayValue functions. |
| • | DisplayValue function can now fill the EditBox with a numeric value (not only Text object as previously). |
| • | ObjectWidth / ObjectHeight now returns the correct numbers for Video object. |
| • | Fixed a long time reported, but never found, the load bitmap crash..uff..it was really tremendous ;) |
| • | Fixed some CBK audio related problems. |
| • | Fixed a ListBox destroy problem after RunMBD use. |
| • | Fixed a ListBox numbering problem. Sometimes happened, that the 10th item in the ListBox was numbered as 1. |
| • | Fixed crash when trying to run an non-mbd file from the command line as a parameter of compiled MMB application. |
| • | Fixed a refresh problem in a Dimension tool. |
| • | Fixed CBK_Total a CBK_TotalSec for continuos CD playback. |
| • | CBK text objects now work correctly if they are placed on Master Top page or Master Layer. |
| • | CD stop should now work correctly with the audio CBK related variables. |
| • | Fixed scroll bars in designer. |
| • | Fixed some memory leaks in Flash and Text object;) |
| • | Fixed a problem that cause 1+1=1 ;) |
| • | Fixed bug in PlaySound and MIDIPlay that cause playing midi files in loop when the LOOP parameter was not turned ON. |
| • | Fixed conflict between Matrix object and GetArrayItem function. |
| • | Fixed bug in OpenFile command that prevents to open OpenFile dialog with a predefined path. |
| • | Fixed bug in EditText object, that prevent to use array variables in the numerical output variable. |
| • | Fixed bug in "Project Settings", that cause leaving an empty space at bottom of screen (the same size as taskbar). |
| • | Fixed bug that prevents to replace MMB icon with custom one if project is compiled with NoFMOD player. |
| • | Fixed an issue in PlugiRun, which causes reloading plugin into memory every time PluginRun has been used. This fix also significantly speed up the PluginRun. |
| • | Speed optimization for non-overlapped objects. This is noticeable if the Flash, GIF, Dynamic FX or shadows are used in the same project window and they are not overlapped. |
| • | Fixed Clipboard GET/SEND on Win2k/XP systems. |
| • | Fixed some double-click highlight problems in Script wizard (Win98/ME related) |
| • | Fixed [Tab] jumping over the EditBoxes. EditBox no longer remains highlighted when you select an EditBox by TAB and then you click into another EditBox by mouse. |
| • | Project window can now be moved out of the visible area of the screen even with "Full Screen Background" option enabled. |
| • | EditBox now doesn't allow variables/arrays with incomplete brackets..like this one: |
myTrickyString$1234]
| • | Fixed bug in <Embedded> macro. It finally returns path to MMB temp folder (<Temp>+\MMBPLayer) |
| • | Fixed bug with saving/loading mbd project from 4.9.5 to 4.8 format and then back to 4.9.5. |
| • | Fixed bug in "Compress&Export" which producing unreadable files. |
| • | Again (and we hope for the last time ;) fixed a ListBox numbering problem. Sometimes happened, that the 10th item in the ListBox has been numbered as 1. |
| • | Fixed CBK_Volume alignment. |
| • | Fixed some Video mask problems. |
| • | Fixed bug in ListBox and StrFromFile which fails on the first row if the rows starts with numbers. |
| • | BackgroundPlay now works with AudioFX object. |
| • | Pressing F1 no longer trying to start Windows Help for given project. |
| • | SongListEdit can now be used in project compiled with NoFMOD player. |
| • | Fixed refresh of Group objects placed at Master Page and Master Top Layer |
| • | Numeric array can now be used in CHAR function: |
test[1]=10
i=1
c$=CHAR(test[i])
| • | Fixed "Path Replace" tool (menu Project >>> Path Replace...). Path Replace now works with all objects and scripts including the string variables. |
| • | Fixed ORD function to work correctly with numbers > 128. |
| • | Fixed "Failed...SetWindowPosition..." error if you try to scale video object without a loaded video. |
| • | Fixed problem with outline shaper and right-bottom border of some images. |
| • | Fixed some "Video in FullScreen" problems. |
| • | Fixed ListBox bug with scrolling items without enabled scrollbars. |
| • | Fixed ListBox bug with multi selection and moving items Up/Down. |
| • | MCICommand again works with <This> macro MCICommand("open <SrcDir>\data\video_01.mpg alias MPEG style child parent <This>"). |
| • | MCICommand parameters are now correctly passed to Script Wizard dialog (after double click on command). |
| • | Loading video between the MMB pages should work without the blinking. In fact, it still blink, but much faster now and not as noticeable ;) |
| • | Fixed crash if project was compiled with NoFMOD player. |
| • | Fixed problem with number rounding. |
| • | Fixed Mask in Video object. |
| • | Windowed objects (ListBox, HTML, Binding, ... ) no longer grabs focus from the EditBox if Left/Right button is pressed. |
| • | Fixed some Video OnLoad/OnStart event problems. |
| • | Fixed bug in ListBox OnSelection event, which affects ListBoxGetItems and ListBoxGetDelectedItems. |
| • | Fixed various problems with syntax highlighting (Win9x/ME). |
| • | Numeric variables now support adding numbers and parsing predefined functions (with arrays) in one line |
sel=1
selX=ObjectX(TextBTN[sel])+ 5
| • | Fixed IsMinimized function. |
| • | Fixed MoveTo command (stop working when Type of movement was not entered). |
| • | Fixed several String array problems. |
| • | Fixed "Allow only one instance in Designer" bug. |
| • | Fixed bug with Image scrollbars (when Image object is moved). |
| • | Fixed bug with <Embedded> macro and plugins. |
| • | Fixed some next syntax highlighting issues. |
| • | Fixed AudioOpen vs. "Buffer is too small..." warning. Buffer is now increased from 4 to 16kb ;) |
| • | Fixed memory leak in Designer when Custom Shape was used. |
| • | Fixed LoadText trimming. |
| • | Fixed artist and song title problem with '&' character. |
| • | ListBox now insert numbers for all items (not only for audio files as previously). This can be disabled over ListBox properties dialog or ListBoxParam function. |
| • | Fixed DisplayValue bug that cause wrong text alignment. |
| • | Fixed a problem in Flash player "live" installation that cause non-working flash until application restart. |
| • | Fixed FMODconfig initialization bug that prevents to disable FMOD on some Win9x/ME systems. |
| • | Fixed some syntax highlighting glitches. |
| • | Fixed a problem in GetArrayItem that prevents to use space and comma as delimiter. Now you can use hexadecimal codes of the given characters (e.g. GetArrayNum(test$,'0x20') where 0x20 means 'space' character). For more hexa codes check the ASCII character table. |
| • | GetArrayNum and GetArrayItem now works with the string arrays: |
x = 2
array$[x] = '1#2#'
number$ = GetArrayItem(array[x]$,#, 2)
LoadText("TextBTN","number$")
| • | Fixed bug that prevents to group the ListBox objects. |
| • | Fixed bug in ListBoxDeleteItem that prevents to delete items from ListBox. |
| • | Fixed some ListBox problems when ListBox is resized. |
| • | SongListSave now correctly save internal list <List> (e.g. SongListSave("< List>","")) |
| • | Fixed a bug that prevents to move Line object. |
| • | Fixed "Go to next page" option in Video object properties. |
| • | Fixed "Can't find plugin..." error message if plugin was loaded from an external directory (outside the MMB\Plugin folder). |
| • | Fixed bug in "Allow only one instance" option, that prevents to run multiple different MMB exe's. |
| • | Fixed a problem with disappearing mouse cursor after ReplaceImage command. |
| • | Empty string used in LoadText function again clear the Object caption or String variable contents. |
| • | Decimal separator is no longer dependent on a Regional and Language Settings. |
| • | StrToFile now supports <> macros (<Temp>, <SrcDir>, ...) |
| • | Fixed a bug in FMOD file type detection that cause a MMB to crash in some very special cases (loading non-standard Audio files). |
| • | Scrollbars in Image object no longer remains visible, when the Image object is hidden (via Image object properties). |
| • | Fixed rotation algorithm to give much more accurate results. |
| • | Fixed a bug in StrDel function. |
| • | Fixed Text object Alignment if the Antialias option is enabled. |
| • | CBK_Month and CBK_Day now returns their values according the "Regional and Language Options". |
| • | Video object cannot be run in full-screen mode from the first page of your publication by Page Start script. It can be run from the second page, but not from the first. |
| • | Fixed FullScreen toggling via the Script object with the assigned shortcut. |
| • | Fixed a bug in BrowseForFolder function (opening the multiple instances of the BrowseForFolder dialog). |
| • | Fixed bug in a ListBoxDeleteItem function. |
| • | Fixed a problem with WMA/ASF playback (right after the OGG playback). |
| • | Fixed some script highlight issues. |
| • | Fixed a bug with reseting UI. |
| • | Fixed a Copy/Cut bug in the Script right clik menu. |
| • | Fixed an object width bug when the "Default text" is deleted from the Input text. |
| • | Fixed "Allow only one instance" bug on w2k computers. |
| • | Fixed bug that prevents to change the Video object Width/Height after video load. |
| • | Fixed crash when ProcFreq() predefined function was used. |
| • | Fixed a problem when < SrcDir > and < SrcDrive > macros were used in path to Video in Video properties dialog. |
| • | Fixed a MMB freeze when a predefined function was used in If ... Then statement. |
| • | MVM file extension in VideoLoad dialog is now corrected to WMV file extension ;) |
| • | Fixed bug in StrToFile predefined function that prevents parsing String$ parameter and adding empty lines to the output file if the append/linefeed parameters are TRUE. |
| • | <> macros (e.g. < SrcDir >) can now be assigned to the string variables without the need to use quotes...for example test$=< SrcDir > |
| • | Double click on a function now pass all parameters to the Script wizard. Previously, some parameters were not passed e.g. ScriptTimer("TimerA=MoveTrackSlider1"," 50 ") |
| • | "Fill With Color" in Bitmap properties dialog now works correctly when "Keep Aspect Ratio" option is used. |
MMB 4.9.0.1( bug fixed 4.9 ;)
IMPROVEMENTS:
| • | Added new SoundStop command, which will stop all currently playing sounds, including the background music. |
| • | Added two new optional flags to Run command. Now you can set the first window of an external application on TOP/TOPMOST over the MMB window. |
| • | Compiled application should be a little smaller and should start noticeable faster than the same applications compiled in previous 4.9. |
| • | In ListBox, you can now explicitly specify if you want to load the string variable as a string or in fact you wan't to open the file which path is in the string variable. Now if you are in doubt, use the command before a variable: e.g. STRING:variable. |
Example:
OpenFile("Audio Files (All Files|*.*||","*.*")
FileName$=CBK_OpenFile
ListBoxAddItem("ListBox1","STRING:FileName$") ** will add the selected file name as an item in ListBox
| • | Each parameter that should be sent to an application via RUN command can be enclosed in additional pair of quotes. There is a sample script: Run("mspaint.exe",""<SrcDir>\images\yourpic.bmp"") However, not all programs needs to have the parameters enclosed in the quotes. |
| • | Added new confirmation dialog (in Check Project and Compile Output Files) for preventing accidental deletion of already compiled files. |
FIXES:
| • | Fixed bug if you tried to add a custom icon into the project. |
| • | Fixed bug that prevents to play the embedded audio files. |
| • | AudioPause and AudioOpen commands now work the same way as 4.8.x. |
| • | Fixed bug that erased the source mbd file if you compiled the final exe into the same directory and with the same name as source mbd. |
| • | Fixed bug that prevents to play the ogg file in background and wav on MouseUp/Down effects at the same time. |
| • | Fixed problem with Enhanced Script window that prevents to save the script changes in some special cases (when pinned) . |
| • | Fixed problem with custom font on ListBox object |
| • | Fixed some CBK variables that don't work if the CBK labels are placed on Master Top page. |
| • | Fixed some next CBK variable bugs when working with Audio CD (CBK_Time, CBK_Total, CBK_TotalSec). |
| • | Fixed problem with additional backslash in m3u Winamp playlist files. Some older versions of Winamp add the backslash in front of the relative path. |
| • | Removed an FMOD error message that appears on the system without an installed sound card. |
| • | Removed rclick "Close" menu from external player. |
| • | Fixed a RunMBD bug that prevents to load the external mbd files in some special cases. |
| • | Fixed bug in embedded "Flash Player" installation. |
| • | Embed Flash Runtime option is now connected between the Flash objects used in a project. |
| • | Fixed bug in Copyrights Info, that sometimes saved the Mediachance related information instead of the developer's info. |
| • | Fixed bug that prevents to change the video file in a Video object. |
| • | AudioVisualization object now refreshing its content only if supported music is playing. |
| • | Fixed bug that change the name of object when you copy objects between the pages. |
| • | CBK_AudioName now returns its content case sensitive. |
| • | Fixed bug that prevents return the correct CBK_Total and CBK_TotalSec variables when the last CD track was played. |
| • | Fixed support for embedded s3m, xm, it and rmi audio formats. |
MMB 4.9 - ADDITIONS AND REPLACEMENTS
FMOD audio library:
MMB Audio support is now completely rewritten with the latest FMOD audio library (www.fmod.org).
What it means for you?
| • | No more crashes or freezes when playing MOD or variable bit rate Audio songs! |
| • | Better CPU utilization with only the minimum system requirements. |
| • | Added more new audio formats (OGG, WMA, ASF, XM, S3M, IT...). |
| • | With this library can be (and in a near future will be) implemented many new audio tools for your fun and for enhancing the MMB possibilities. |
Macromedia Flash object:
It will allow you not only to load and play Macromedia Flash animations, but with this object, you can control all the MMB scripting actions directly from the Macromedia Flash Action Script! Therefore, you can use your own Flash file as a powerful scripting addition to the basic MMB scripting – e.g. for parsing strings, advanced math, adding some new UI elements, like a check/option boxes, combo boxes, spinning objects, tables and charts, etc.
List Box object:
The one of the most requested features is now available in MMB! This object is primarily designed for showing the audio playlists (winamp *.pls, *.m3u and MMB *.m3l formats), but it can be used as well as a usual list box control with multi-selection. You can fill this object with text, string variable, string array, text files or mentioned playlists. This new type of object also bringing new type of event to the MMB – double click (at the moment only for list box object). In addition, there are some new scripting commands, allowing you to effectively work with the list box object.
Audio Visualization object:
With this control, you can visualize the playback of OGG, WAV, XM and S3M formats. At the moment, there are two types of audio visualization objects - oscilloscope and equalizer. Of course, you can change the type of audio visualization object or change the curve and background color in a runtime (for example after click on an object, you can change the type of AV object from oscilloscope to equalizer - ala Winamp).
OTHER ENHANCEMENTS:
| • | Double click on a script line cause opening the script wizard dialog. Editing scripts is now interactive and fun! |
| • | More Actions window (MouseUp/MouseDown) is now redesigned to tab controls - STOP editing the scripts in a tiny edit box, with only three visible lines;-) |
| • | Enhanced (resizable) script window is now accessible for all events and script objects. |
| • | Scripts in More Actions window now have the color syntax highlighting (as enhanced script window). |
| • | Added new floating window with a list of active variables (in a debug mode), for easier project debugging. |
| • | From this version, you can define your own FileVersion (Copyright, Company Name, Description, File Version, etc.) information stored in the compiled file. Many other authoring tools didn't allow you to do this! |
| • | HTML, Binding, MCI, Flash and ListBox objects can be overlapped with the other objects. |
| • | HTML, Binding, Flash and ListBox can be resized by MoveObject command (with the optional Width/Height parameters). The binded application must support resizing its window. |
| • | Allowed multi-selection in AudioOpen dialog. Selected items will be automatically stored it the internal song list <List>. |
| • | Reorganized and resorted list of scripting commands in Script Wizard dialog. |
| • | CBK variables can be now added and accessed from Master Page or Master Top Layer. |
| • | Redone MMB help to CHM format - some information were supplemented, added some completely new and fixed some wrong. However, there is still a lot of to do;-) |
SCRIPTING ENHANCEMENTS:
| • | All CBK Objects are now scriptable. You can now assign them to a String or Integer variables. |
| • | SongListLoad now supports Winamp native playlists *.m3u and *.pls. |
| • | Internal playlist <List> enhancements: |
| o | <List > now works with *.ogg, *.wma and *.asf file formats. |
| o | Can also load the external playlists from Winamp - *.m3u, *.pls. |
| o | Now you can Save/Load or Delete items from <List> directly by new scripting commands. |
| • | OpenFile command now returns not only the full path to the selected file, but also the "Directory" and "Filename" splitted into two new CBK variables. |
| • | New double click event (currently available for list box only). |
| • | Added some new predefined functions: |
| o | GETARRAYITEM function to return an item from a string variable with predefined delimiter and GETARRANUM function to return the number of items in an Array variable. |
| o | OBJECTWIDTH and OBJECTHEIGHT - functions to getting the objects width/height:-) |
| • | Added few new CBK variables: |
| o | CBK_TotalSec - Returns the song's total time in seconds. |
| o | CBK_TimeSec - Returns the current time of playing song in seconds. |
| o | CBK_Volume - Returns the current volume level. |
| o | CBK_NumTracks - Returns the number of tracks on CD. |
| o | CBK_OpenDir - Returns the file name string from the file selected in OpenFile dialog. |
| o | CBK_OpenFile - Returns the path (without the file name) string from the file selected in OpenFile dialog. |
| • | Added many new functions to work with ListBox, Flash and Audio Visualization objects. |
| • | Added new AudioRewind command. |
| • | Added new CDSkipForward and CDSkipBackwards commands |
| • | AudioOpen command now supports the multi-selection. Selected files are automatically added into the internal playlist <List> |
| • | Added new SongListDel to delete song file from the internal list. |
| • | Added new SongListSave to save internal list <List> or ListBox content instead of internal List. |
| • | If you use an empty string in ModOpen, MidiPlay, WavePlay and P laySound commands, then an Open Audio dialog with predefined mask is opening. |
| • | If you add an unknown or incorrectly formatted command to the script, then script line will be commented instead of deleting the wrong line, including the rest of the code below (as previously). |
| • | LoadText command: added a \n parameter to split the long strings into the multiple lines. |
FIXES:
| • | Fixed MMB freeze when you copy&paste something from MMB help to the script window, or if the clipboard contains some special characters - ˇ ż · © ® |
| • | Fixed MOD crashes or freeze (by replacing the audio library;-) |
| • | Fixed crash when you try to go on a page that doesn't exist. |
| • | Fixed wrong refresh when the Text object has a "Fixed Width" option unchecked and the text content is dynamically changed. |
| • | Fixed some refreshes on HTML object, especially if you try to use the transition effects between the pages with HTML objects. |
| • | Fixed a CBK_MENU event when you try to Invert the menu state. |
| • | Fixed IF_IDLE optional command in PageTimer action. |
| • | Fixed some inconsistencies between the Designer and Player. |
| • | Fixed a serious problem that might cause the raising CPU or memory and probably slowing-down the compiled MMB projects. |
| • | Fixed an "Out of Memory" problem when RunMBD command is used. |
| • | Some next small fixes and improvements. |
MMB 4.8
| • | Fully customizable interface. |
The new version of 4.8 MMB designer GUI is changed to the latest trends with full toolbars, menu, and keyboard customization. Now you can customize the designer anyway you like. You can practically customize any important aspect of the designer interface, including:
| o | Drag and drop buttons between toolbars and menus |
| o | User-defined image editing of buttons (simple bitmap editor is included!) |
| o | Ability to create a new, empty toolbar that you can add buttons and menus to |
| o | Context menu customization |
| o | "Alt+drag" customization |
| o | Keyboard shortcut key assignments customization to any command |
| o | MMB will remember the new position of any toolbars, menus or page/object list and all your customization, even menu can float or be docked to any side. |
| o | User-defined tools - you can add additional application shortcuts to the MMB Tools menu |
| o | Smart expanding Menus shows basic and frequently used commands on personalized versions of menus. The menu learns by itself which commands you use the most. |
| o | Tear-off menus: Submenus can be teared-off so they can float as a toolbar: |
| o | Ability to change look (skin), currently build-in themes: Standard, Windows XP, MAC look and Gradient. |
| o | Change other aspects such menu animation, shadow etc.. |
| • | Added shortcut to the object actions (menu Object-Action) - you can tear-off this menu and use it as a toolbar or move the buttons anywhere you like. |
| • | A new Rulers for a workplace |
| • | Guides with snap to Guides feature. To add guide you drag it from the rulers, if you want to delete guide, drag it outside window. You can also Add/Edit the guides by numbers as well (right click on rulers) |
| • | Support for updatable MEF file. This will work with Real-DRAW - you are able not only to load the design but also update it later. |
| • | Mostly designer enhancements: |
| o | Smaller fonts in Object list, more objects are visible in the list - Is it too small or it is OK? |
| o | By clicking on the new list button you switch between Full object list and Separated object list. |
| o | In separated list the objects are divided and sorted into 5 list groups : Graphics, Text, Buttons/HotSpot, Script and Misc. This will help to better navigate in large project. Members of Grouped objects are displayed with an arrow on front: . The rest works like normal list, you can select multiple objects with Shift also across the list groups. |
| o | Script object display a name of the script on the project desktop |
| o | ReplaceImage for Hotspots as well |
| o | Binding Object - Added option how to close (Un-Bind) the program. Two way:- Terminate Process-default (brute force method which doesn't give the program chance to do anything about it)- Send Close and wait. This is softer method and it gives the application a chance to do closing stuff (for example ask if you want to save changes etc...) Also if application doesn't like the first method, try this one. |
| o | Binding object - advanced option, added another Caption string: Caption must NOT have string... Along with Must Have string, this is your chance if the app you binding has many windows and MMB can't decide which one to bind and bind the wrong one. You can specify which string the main caption must have and which it must not have. If empty - then it doesn't apply. |
| o | HTML Object Disable right-click menu option. The browser control will not display its context menu after selecting this option. |
| o | HTML Object: Hide Border Option and Always Hide Vertical Scroll Bar Option. This can create a web page which is seamless with your MMB page design with no border and no vertical scroll bar. (The horizontal scroll bar is created dynamically if the web page you displaying require larger width (if you use tables or frames for example). |
Note: if you use Hide Vertical Scroll Bar it will always hide the scrollbar. Even if the page is longer than the HTML object height user won't be able to vertical scroll (only with Microsoft Scroll wheel)
| o | Binding Object - Un-Bind on Page Exit option (default). If checked the Binding exe file will be terminated if user goes into other page. That means any time you go to the page with binding object the exe will start again. This is probably great for applications as Flash animations etc... you don't want them to run if you are in other pages.Unchecked - once the binding object is created it is not terminated on page exit but hidden. That means any time you go to the page with binding object, the object will stay the same as you left it last time. |
| o | If you apply a Show(...) script command to an EditBox which is already visible it will put a focus in it and select all the text. |
| o | If you hide binding object the screen is updated properly. |
| o | The HTML link page: now works also with transitions. |
| o | SendCommand script command to send Menu Commands to the binding Object. SendCommand("Object","a,b") where a, b are the indices of the Menu item you want to run based on zero. See detailed info in binding.mbd project. |
| o | Clipboard script command to send/ receive a string to/from clipboard.Clipboard("SEND/GET","stringvariable$") |
| o | Experimental: Project-General Settings-Style, new style Windows Desktop Component. This will make the player snap to the background - it will stay always on the windows desktop, emulating the behavior of Active Desktop component, however without any need to have Active Desktop enabled or even installed. Unfortunately it can't be combined with Full Screen Background option so if you want to perhaps cover whole desktop you have to make the project non movable and resize the player with script. Example of resizing the player to full background: |
SysCommand("MoveWindow","0,0")
SysCommand("ResizeWindow","ScreenWidth,ScreenHeight")
This option is experimental - it may be removed from release if it cause problems. Also during testing from designer, MMBuilder will hide to uncover the background - don't be surprised then.
| o | Please test if the player correspond properly to the internal player. |
| o | Keyboard input fix for HTML object. It should also fix all the keyboard problems related to Input Boxes and other windows (such a plugins), input boxes gain and lose focus properly now |
| o | You can move between Input boxes with TAB key, the Tab order is the same as layout order |
| o | The Variable associated with Input Box will be from now automatically initialized with the default text. You don't need to separate initialize the variable any more. This is more logical and easier. (You can still override the variable in Page Start script) |
| o | Load custom cursors - normal or animated. The cursor dialog in page, text button, bitmap button and hotspot has now 5 Custom cursor location. If you select unassigned custom cursor it will prompt you to load either *cur or *ani file. These cursors will be auto-loaded into Embedded files. So if you don't want the cursor anymore, you can delete it from there. |
Html Object is a full Browser object in MMB. It uses Microsoft IE control. - example html_browser.mbd
| o | Hopefully a final fix for Tooltip controls for Objects |
| o | Binding object can be hidden or moved with Move command |
| o | Introducing Binding Object |
Binding Object is a way how to easily put exe file into MMB - it will become a part of the player: for example flash movie with flash projector player, your installer, notepad with text, another indenpendednt mmb project etc...See example binding.mbd included in the beta archive, shows notepad, regedit and plays a flash movie inside page.Tested on Win2000 and Win 98SENote: Not all exe files can be binded, but many I tested could (for example you can even bind CompactDraw or PhotoBrush....) Some exe files may be unhapy to be binded and may freeze your system - save often. Some exe files can't be binded at all or shws garbage (Winamp).You can't call just the file to open associated exe yet. you need to specify the executable and then the parameter (file). You can hide Menu , status bar or toolbars from the binded applications.
Fixes:
| • | If you typed a space in the edit box, it displayed 2 |
| • | While in long loop, you couldn't interact with edit box even that Refresh() command was used |
| • | In LoadText, you can now explicitly specify if you want to load the string variable as a string or in fact you wan't to open the file which path is in the string variable.Now if you are in doubt, use the command before variable:STRING:variable or FILE:variableAlso if the file doesn't exist the LoadText will display it as a string.Example: |
path$ = '<SrcDir>\myfile.txt
LoadText("Text","FILE:path$") ** will load the text from a file specified in the path$
LoadText("Text","STRING:path$") ** will load the text from the path$ directly - in our case the Text will show the <SrcDir>\myfile.txt
| • | You can Minimize now while in full back mode. |
| • | When executing web link using Netscape 6, MMB displayed "file not found error" while the page was loaded ok. Displaying of this error was disabled, even that it is legitimate. |
| • | Generate Autorun.inf option added into Check & Distribute - so now you can switch off generating the inf file if you don't need it. |
| • | Autorun.inf is now finally generated with the filename of the exe instead of default autorun.exe |
| • | The Change Resolution now don't allow up-sizing by default, only down-sizing. You can change this with Allow Up-Sizing, but you will be warned that this isn't a good idea. If users have low resolution set on the display, they have it for a good reason so we shouldn't try to up-size it by default - this will solve many problems with older hardware. |
| • | Solving some display compatibility issues with Transitions and Dynamic FX. |
MMB 4.7 and earlier
| • | E-Card. In this version we make sure the E-card is not dependable on any system files. E-Card is a downsized player, good for creating small presentations to be sent by e-mail. With E-card you can't use mod. |
| • | OBJECTX(Object label) and OBJECTY(Object label) functions added in the script. |
These functions return the current position (left, top corner) of the object specified by the label.
Example x= OBJECTX(Text1)
| • | ISVISIBLE(Object label) function was added |
This returns
-1 if object doesn't exist on the page,
0 if object is hiden
1 if object is visible
| • | OpenFile$ variable was added. This variable will have the path after using OpenFile script command. |
| • | VolumeUp can now take a parameter - the volume from 0-100 |
Example: VolumeUp("50") will set volume to half
| • | ReplaceImagecan load BMP beside the JPG |
| • | MOUSEX() and MOUSEY() functions added in the script.These functions return the current position of mouse cursor. |
| • | Added Default cursor listbox into the Page Properties. |
The last item there is a dot cursor - great for touch screens.
Plugin's are now loaded before the window and they don't require to be visible.
| • | MoveObject("Object","x,y,w,h") |
Move (and/or resize) the object (or group) to the x,y position. The w and h parameters are not required and if they are defined the object is resized - However it wont resize any bitmap object or text - it resize only its active boundaries. But it works fine for rectangle, buttons, hotspots...etc..
Yu can make a code:
for i=0 to 100
MoveObject("Bitmap","i,20")
Refresh()
Pause("30")
next i
**and it will move the object form left to right!
| • | MoveTo("Object","x,y,steps,type") |
This simple command moves object (or group) from current position to the x,y using # of steps. The type can be EASYTO, EASYFROM or none to define the linearity in time. It basically does the same as code above, however you can specify slowing or accelerating with the TYPE.
This command will force to redraw the changes. It also works like a pump, if you use Refresh() in a loop the program reminds active and in fact you can still interact with the active objects (while the loop is continuing).
Pause command in the script, takes a number of ms to pause before continuing the script
| • | CBK_Time and CBK_Total can be addressed as an integer variables |
Example: a=CBK_Total
This always returns the number of seconds (equivalent to what would be displayed in these objects.
| • | Ability to insert Contents Copyright into the project executable |
This allows you to insert your text in the Comments field of executable properties. For example you can put your copyright for the contents you created or comments about used materials. You can put up to 60 characters. That doesn't replace the other MMB player properties, but it resolves some legal issues if your custommer doesn't want to put your copyright on the project pages but you still want to have your copyright or name there. Many other authoring tools didn't allow you to do this. You can access this option in the Check & Distribute dialog box.
| • | Dynamic Changes of Display Resolution |
You can tell the project before the start to change (or at least to try) the Display Resolution to one of few typical resolutions. You can set this option in the Project-General Settings. You can make a project which will play always on a full screen. Note: Some video cards (very old ones) don't allow to dynamically change the resolution so the project will continue in its standard size. The most common sizes are 640 x 480 and 800 x 600 and should work on most of the cards. The resolution will be returned to the original settings after you exit the project. Checking this option will uncheck "Standard Window" and "Movable" from the default values - because it makes little or no sense, however you can turn them back on if you making a "special" project.
| • | Control over Process Priority |
This new version allows you to control the priority of the process. You can change the priority in the Project-General Settings. If you select High, the application you create will steal more CPU for itself from other windows application, making the transitions and FX running smoother. This is great for presentation type of applications where you don't expect user to be often switching between applications. The Normal settings is good for most of the application (it is the default setting) and the Low priority setting can be used for special (background) application which shouldn't use much CPU (launch bars etc..)
In 4.6 you can use B/W mask for Video Masking. With the Mask, video doesn't have to play in rectangular square anymore and it can have any shape you want.
You need to prepare an image mask with size of the video. The video will be played through this mask where the black pixels will be video and white transparent. The mask could have any shape or image (for example black text on white background). You can load the mask in the Video Properties. (Two buttons were added - Load and Clear Mask) You can create a very interesting effects because finally you don't have to be stuck with the boring rectangular video found in many authoring
This makes easier to play video or audio using MCI without doing much scripting. Let's say you want to play ASF so instead of bunch of messy MCICommand script lines you simply draw a MCI object which could play your asf automatically on page start or you can control basic functions (play, stop, close) with new script command MCIObject.
| • | 3 additional script timers were added |
TimerA, TimerB and TimerC were added to the ScriptTimer command, making that four timers for script. You can use ScriptTimer command as before - then it uses the standard timer or you can use syntax:
ScriptTimer("TimerA=Script","500")
(You can use TimerB and TimerC the same way) These are independent timers. The same rules apply for them like for the standard timer: After the script is executed the attached timer is killed as well as if you go to another page.
In the Check and Distribute a Secure layer option was added.This will process the mbd data in such way that no Text or Script would be visible if you look at it in the Hex editor. Also the file can't be loaded back to the designer (no password will help!) so it can only be played. However, note that the loading of file with Secure layer would need more time and memory that without this layer so you should use it only on necessary files. The same option was added to Compress and Export to easy create mbd files which can't be viewed in Hex editors and loaded in designer.
Fixes in 4.6
| • | Script from On Move cursor fixed |
| • | String arrays now works in designer and in the player the same way: |
toon$[0]='O'
toon$[1]='k'
string$ = toon$[1] + toon$[2]
| • | You can add backslash at the end of a string by using \\ |
path$ = 'c:\mydir\\'
will be displayed as c:\mydir\
There was a conflict because in 4.5 we used \' to enter ' into the string:
string$ = 'That\'s great!'
which will be displayed as That's great! and there was no way to add backslash at the end of the string then. Now you just use double backslash to ad a backslash at the end of a string. Complicated? Hope not that much!
| • | You can now exit from th For - Next loop by using Return() command |
| • | The Path Replace, the Checking for Fixed paths in Check & Distribute and the Text Replace tools were update for new changes. |
MMB 4.5
| • | Active Objects can have Tool Tips. That is a text you can see on runtime when you move mouse over some object and wait. You can set the Tooltip simply by writing the text in the Tooltip entry of the object properties. Very easy way how to add professional touch to your application. |
The objects supporting the Tooltip are: Text Button, Bitmap Button, Text EditBox and Hot Spot
| • | Enhanced Object list. It supports multiple selection. Whenever you select more objects on the workspace they will be highlighted in the Object list. In addition to this you can select multiple objects directly in the list by holding Shift and you can also unselect the object in the list or on the workspace the same way. |
| • | Snap to Grid was added. You can switch it on by clicking on the Snap To Grid button on the toolbar. The Grid settings are under menu Settings. You can change both X and Y grid. When the Snap to Grid is active the grid marks are visible and you can place the objects by mouse only on these marks. You can still use arrow keyboard keys to move the object by pixels.. |
| • | Quick Object Roll-Up was added You can add a Bitmap, Paragraph Text, Bitmap button or MMB Object just by double-clicking on the file in the Quick Object file list. |
This is very useful if you have many graphic or text objects on the disk. The same way you can import all supported images, Bitmap buttons (BTW) or exported Objects (OBM).
The Roll-Up window can be minimized and maximized by clicking on the white rectangle or double-clicking on the top handle.
| • | Dimensions Roll-Up window was added You can change the position of objects by entering a number. |
| • | Pages in the project can be easy repositioned and copied with new Page Manager |
| • | Animated Gifs reviewed - better support for optimized animated gifs with disposal methods. Enhanced Animated Gif properties dialog box. Run Script after last frame added. Load New file button added. |
| • | In Paragraph text properties switching between enhanced and international editor added. Also a new button to load text from the file into the editor. |
| • | In the page actions Go To Page was added a list box for pages just to make it easier to use. |
| • | In Video Object added Run Script after video Stop/Finish |
| • | Added arrays to the string variables in the Script ( a$[1] = b$[a+1] ) |
| • | The Text Buttons and Bitmap Buttons now change back to default image if you click on a button and drag cursor off the window before lifting it |
| • | Looping of Playlist. Whenever the last item of the playlist have instead of audio file word LOOP then the playlist will loop. |
| • | Fixed the Video & EditBox problem - after video stopped the edit boxes were no longer receiving input. |
| • | Video & the Go to Next Page on FW & BW problem fixed |
| • | Bonus: Color Tweak effects 30 new bitmap color, art and special effects. |
MMB 4.4
| • | Text Button can have customized font |
| • | Ability to change the default cursor on most active objects - ten predefined cursors |
| • | Full Script editor enhancements - color highlighting keywords, wizard, remembering the size and position |
New Script Editor
| • | Paragraph text editor enhancements (Drag and drop text) |
| • | Audio can be also a command line parameter in the player (So now you can associate your MMB Audio player with audio files) |
| • | Ability to Resize Page, Move Page, Stay On Top from the script |
(See Syscommand.mbd)
| • | Ability to copy file and to create a full path directory. |
(See Syscommand.mbd)
| • | Ability to Show or Hide Objects on any page from any page (Master pages included) from script (See updated Masterpages.mbd) |
| • | Ability to run designer directly from CD without installing it on hard drive. |
| • | You can use ' in string: Don't panic you would write with backslash: |
a$ = 'Don\'t panic'
| • | Smarter Copy-Paste Groups |
| • | Added <Windows> and <System> in the Script |
| • | Bonus Color Tweak Effects with 30 new color,art and special effects |
MMB 4.3
| • | CBT is here ! Full String support in script |
| • | Change icon in the compiled application |
| • | Get info from MCICommand |
| • | Video Object enhancements - actions on Video finish |
MMB 4.2
| • | Replace Text, global function |
MMB 4.1
| • | Load text from external file |
MMB 4.0
| • | New Transitions, Page Curl, Fire |
| • | 14 cool new Bitmap Effects (menu Effects),Water, Impresionists, Warp, Bump.... |
MMB 3.3
New object - animated gif was added. It has its own properties which allows you to control the gif transparency, background color, speed, auto play, loop..
For sample see Ronnie's demo agif.mbd on the users gallery or the included simple animation.mbd.
Yes you can embedded wave into mbd file. Use it for small click sounds and you will be happy.
| • | Script Object - Keyboard Shortcuts |
New Object was added. This object can be used for your global functions or any functions. It has also feature to run that script if user press some keyboard shortcut. See example keys.mbd
This will cover all windows with solid fill, image, tiled image or stretched image.
Great for kiosks. See examples: kiosk.mbd and fullback.mbd
The script now has MidiPlay and MidiStop commands
If you compile the stand alone file you will see it is arround 300 kB smaller than in version 2.0. This allows you to put the file on the old floppy disk, so you can distribute your presentation on that medium.
Added to the script. The syntax is typical Basic syntax:
for a=1 to 5
...
next a
Now you can protect your mbd files from editing by putting password. Go to menu File- Compress & Export and there is a place to put the password. You cannot protect the files you are saving with Save or Save As commands, you can protect only files you are exporting.
Move 10 pixels - If you use Keyboard Arrows, the object will move 1 pixel, but if you use CTRL+arrow the object will move 10 pixels.
Interaction with other objects - the "Moving Mouse over the object" has more actions in the combo-box: Show only, Hide only and Run script. The first is great if you want to show Animated gif if mouse is over some object - the animated gif can hide itself after last frame (See Animated Gif properties). With the other commands you can do some other magic on mouse move.
CBK_AudioEOF - The script object with this name will run when Audio song reach its end... for more see sample mp3list2.mbd in the package.
MMB 3.1
| • | Bitmap Button has new option 'Auto-Button' |
| • | This allows you to create bitmap button only from one Image. The button will have look and feel like Text Button but with a bitmap. |
| • | Video Object has the option to load MPEG, VideoDisc or MOV - using MCI - this saves some writing in script for MCI. |
| • | OctaMed sound support (*.med). Thsi is the first from upcoming mod formats. |
| • | OpenFile command and internal <File> added. This allows you to pop-up Open File dialog. For Example: |
OpenFile("MPEG files |*.mpg||","*.mpg")
Then you can use the <File> (the same way like you were using <SrcDir>). So for example for MCI you can use:
MCICommand("play <File>")
| • | VolumeUp and VolumeDown commands were added |
| • | Custom Shape window: The B/W Mask option was added allowing you to create any shape even with holes |
| • | The candy See Through was added. This will turn the background of project transparent and then you can cast shadow on desktop or make fully semitransparent window. However it has some limitation. |
| • | Cover Windows taks bar in Full Screen background option. |
MMB 3.0
| • | MCI commands (allows you to play MPEG or video disc.) |
MMB 2.0
| • | Full Audio support with feedback. |
| • | Script language with variables. |
| • | Timer functions (NextPageafter, ExitAfter). |
|