PlanetSquires Forums

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: WinFBX Version 1.0  (Read 674 times)

José Roca

  • Moderator
  • Master FireFly Member
  • *****
  • Posts: 2811
    • José Roca Software
WinFBX Version 1.0
« on: November 21, 2017, 05:19:32 PM »

After many release candidate versions, I think that it is time to release the first official version.

All the source code, including examples and templates, is hosted in GitHub:
https://github.com/JoseRoca/WinFBX

On-line documentation:
http://www.jose.it-berater.org/WinFBX/WinFBX.html

23 Nov 2017
- Bug fix: Changed DIM vArgs(1 TO 15) AS VARIANT to DIM vArgs(1 TO 16) AS VARIANT in the
last overloaded Invoke function of the CDispInvoke class. Thanks to ganlinlao for reporting it.
« Last Edit: November 27, 2017, 12:47:05 PM by José Roca »
Logged

Paul Squires

  • Administrator
  • Master FireFly Member
  • *****
  • Posts: 8118
  • Windows 10
    • PlanetSquires Software
Re: WinFBX Version 1.0
« Reply #1 on: November 21, 2017, 08:01:14 PM »

Congratulations José! all your incredibly hard work has paid off.

I am in the last week of the sale of my house and move into my new condo. I have done a little bit of programming but not much over the past number of weeks. However, this weekend I will at least release a new version of WinFBE to include your Version 1 library code.

Awesome, way to go José, your library is the #1 FreeBasic Windows resource by far.
Logged
Paul Squires
PlanetSquires Software
FireFly Visual Designer, WinFBE Editor

James Fuller

  • FireFly3 Registered User
  • Senior FireFly Member
  • *
  • Posts: 275
  • FF3 User
Re: WinFBX Version 1.0
« Reply #2 on: November 22, 2017, 07:09:36 AM »

José,
  Congratulations on the version 1.0 release!!
For new users (and those of us with bad memories) how did you, or better yet, how should we set up our computers (Which Fb downloads,updates,folder structure,etc) to work seamlessly with your massive framework?

James

Logged

David Warner

  • FireFly3 Registered User
  • Junior FireFly Member
  • *
  • Posts: 111
Re: WinFBX Version 1.0
« Reply #3 on: November 22, 2017, 08:17:12 AM »

Well done José and thanks for all your efforts.

FYI, I just downloaded the GitHub files and noticed what appears to be a filename conflict between CVAR.inc and CVar.inc in the Afx folder when unzipping the master archive from https://github.com/JoseRoca/WinFBX/archive/master.zip onto my machine.

These files are listed in the following location...
https://github.com/JoseRoca/WinFBX/tree/master/Afx
Logged

José Roca

  • Moderator
  • Master FireFly Member
  • *****
  • Posts: 2811
    • José Roca Software
Re: WinFBX Version 1.0
« Reply #4 on: November 22, 2017, 10:18:11 AM »

I have removed CVAR.inc, which is older. Apparently, GitHub is case sensitive and considers that CVAR.inc AND CVar.inc are different files. Thanks very much for reporting it.

ganlinlao

  • FireFly3 User
  • Little Newbie FireFly
  • *
  • Posts: 33
Re: WinFBX Version 1.0
« Reply #5 on: November 22, 2017, 09:21:46 PM »

hi,jose
Congratulations on the version 1.0 release!!

There is a mistake in the indispinvoke.inc file
Logged

José Roca

  • Moderator
  • Master FireFly Member
  • *****
  • Posts: 2811
    • José Roca Software
Re: WinFBX Version 1.0
« Reply #6 on: November 22, 2017, 09:55:22 PM »

Thanks for reporting it.I have modified the file.

José Roca

  • Moderator
  • Master FireFly Member
  • *****
  • Posts: 2811
    • José Roca Software
FBPiano
« Reply #7 on: November 24, 2017, 09:22:58 PM »

FBPiano, based on PBPiano, public domain control originally written by Börje Hagsten in June 2016 for PowerBASIC.

Options:

ComboBox 1 shows available midi devices (usually 1).
ComboBox 2 shows a collection of 16 midi channels, but we usually only use channel 1 for normal play.
Note: Channel 10 is reserved for percussion sets, turning each key from D2# to D7# into an instrument.
Always on top - program stays topmost on screen.
Show Key text - show/hide computer keyboard key text.
Show Note text - show/hide piano key notes.

Effects:

Arrow left - decrease octave
Arrow right - increase octave
Arrow up - pitch bend up 
Arrow down - pitch bend down
Sustain on/off, for sustain (reverb) on played keys.
Sustain can cause eternal notes to for example string and brass instruments and should be used with care.
If eternal notes occur, just uncheck this checkbox.
On octave change, pressed notes are repeated for a nice replay effect.
Mouse controls Volume, Balance, Vibrato and Pitch bend.

Remarks: I have had problems to get it working properly. For no apparent reason, the octave setting was being sometimes reset to 0 after changing the instrument or playing notes, but could not be reproduced at will. It was alleatory. I have kept this version as CPiano_v01.inc to demonstrate the problem. In the current CPiano.inc file, I have declared the m_pk and m_hRgn arrays as global instead of as intance variables of the class. This solves the problem. Apparently, the use of arrays as instance variables must be used with caution.

« Last Edit: November 24, 2017, 09:24:34 PM by José Roca »
Logged

ganlinlao

  • FireFly3 User
  • Little Newbie FireFly
  • *
  • Posts: 33
Re: WinFBX Version 1.0
« Reply #8 on: November 25, 2017, 10:16:07 PM »

hi,jose
1、 I found cdicobj.inc support newEnum method, maybe we can add a "foreach ... in" statement, only used in the collection class.
I would like to ask, iEnumVariant must manually support next, skip, reset method? Is this the difference between cdicobj and vb's collection?

2、 CDispInvoke.inc, why not increase the property set members, like put? We can use the wstring parameter or any ptr, so that we can use the afxstrsplit function to divide the parameter values into a one-dimensional safeArrary when receiving the parameter values using object.set ("method") = "cArg1, cArg2, cArg3, ..., cArgN" . Because I over-love object.put ("method") = value of this style.

thank you !
« Last Edit: November 25, 2017, 10:23:36 PM by ganlinlao »
Logged

José Roca

  • Moderator
  • Master FireFly Member
  • *****
  • Posts: 2811
    • José Roca Software
Re: WinFBX Version 1.0
« Reply #9 on: November 25, 2017, 11:00:07 PM »

Quote
2、 CDispInvoke.inc, why not increase the property set members, like put? We can use the wstring parameter or any ptr, so that we can use the afxstrsplit function to divide the parameter values into a one-dimensional safeArrary when receiving the parameter values using object.set ("method") = "cArg1, cArg2, cArg3, ..., cArgN" . Because I over-love object.put ("method") = value of this style.

Sorry, I don't understand what you mean. How are you going to pass several VARIANT parameters as a string?

José Roca

  • Moderator
  • Master FireFly Member
  • *****
  • Posts: 2811
    • José Roca Software
Re: WinFBX Version 1.0
« Reply #10 on: November 26, 2017, 12:56:14 AM »

Quote
1、 I found cdicobj.inc support newEnum method, maybe we can add a "foreach ... in" statement, only used in the collection class.
I would like to ask, iEnumVariant must manually support next, skip, reset method? Is this the difference between cdicobj and vb's collection?

I have looked at the FreeBasic documentation for implementing iterators, but there is no way to pass a pointer to the enumerator.

However, you can enumerate the collection this way:

Code: [Select]
DIM pDic AS CDicObj

pDic.Add "a", "Athens"
pDic.Add "b", "Madrid"
pDic.Add "c", "Roma"

DIM cvKeys AS CVAR = pDic.Keys
FOR i AS LONG = cvKeys.GetLBound TO cvKeys.GetUBound
   DIM cvKey AS CVAR = cvKeys.GetVariantElem(i)
   print cvKey, pDic.Item(cvKey)
NEXT

ganlinlao

  • FireFly3 User
  • Little Newbie FireFly
  • *
  • Posts: 33
Re: WinFBX Version 1.0
« Reply #11 on: November 27, 2017, 12:21:49 AM »

hi,jose

      Please forgive me constantly asking, I would like to ask, winFBX 1.0 help documentation will provide offline chm file? Because I and my friends want to translate help documentation into Chinese. Currently we just translate the help file for cWindowsRC29 into Chinese.

Thanks again for your great sacrifice, for everyone to bring more convenience
Logged

José Roca

  • Moderator
  • Master FireFly Member
  • *****
  • Posts: 2811
    • José Roca Software
Re: WinFBX Version 1.0
« Reply #12 on: November 27, 2017, 02:39:52 AM »

I have uploaded a .chm help file in the first post.

ganlinlao

  • FireFly3 User
  • Little Newbie FireFly
  • *
  • Posts: 33
Re: WinFBX Version 1.0
« Reply #13 on: December 07, 2017, 05:24:32 AM »

hi,jose

In the process of translating winFBX documents, I found that there is a mistake here

Logged

José Roca

  • Moderator
  • Master FireFly Member
  • *****
  • Posts: 2811
    • José Roca Software
Re: WinFBX Version 1.0
« Reply #14 on: December 07, 2017, 07:18:33 AM »

Thanks very much for reporting it. I have modified it as follows:

point1

[in] Reference to a GpPoint structure that specifies the starting point of the gradient. The starting boundary line passes through the starting point.

point2

[in] Reference to a GpPoint structure that specifies the ending point of the gradient. The ending boundary line passes through the ending point.

color1

[in] An ARGB value that specifies the color at the starting boundary line of this linear gradient brush.

color2

[in] An ARGB value that specifies the color at the ending boundary line of this linear gradient brush.

rc

[in] Reference to a rectangle that specifies the starting and ending points of the gradient. The upper-left corner of the rectangle is the starting point. The lower-right corner is the ending point.
Pages: [1] 2