Home AMX User Forum AMX General Discussion

Feedback on AMX tools

124

Comments

  • chillchill Posts: 186
    Joe Hebert wrote: »
    Attached is a snapshot from NS3 3.0.0.14

    ...and here's mine for a similar situation. Now running NS 3.1.0.374.
  • Joe HebertJoe Hebert Posts: 2,159
    Scroll up to the top of this page.
  • chillchill Posts: 186
    Jeez, I'm an idiot. Sorry, I only looked at the link in my email, which pointed to your screenshot. Thanks!
  • Spire_JeffSpire_Jeff Posts: 1,917
    It would be nice if in the processor IP list, we could use folders, or collapse based on the ip address.


    Jeff
  • annuelloannuello Posts: 294
    Spire_Jeff wrote: »
    It would be nice if in the processor IP list, we could use folders, or collapse based on the ip address.


    Jeff

    I'll second this vote! I'd find at least two folder depths to be useful for organising my systems (campus/building/room), but I'm sure others may want a few more.

    It would also be nice to be able to manually import/export master connection settings rather than the current approach where there seems to be project-specific and application specific settings, which results in the project setting automatically being imported into the application settings.

    Roger McLean
    Swinburne University.
  • sonnysonny Posts: 208
    this really isn't a tools request, per se, but I would love to have a data change event that would support any primitive data type. Any time the data changes, the event runs. There are several ways to mimic this now, but a clean event would be nice...

    DATA_CHANGE_EVENT [myInteger]
    {
    // do something
    }
  • DATA_CHANGE_EVENT - Custom Listener

    I second this, although I would put a slightly different twist on your DATA_CHANGE_EVENT idea.

    In Duet, you can create a custom listener for almost anything that your code can generate. It would be great if Netlinx code could do something similar. Via some command, you identify the custom listener, whether from a variable change, an incoming string, etc.

    DEFINE_LISTENER(myTrigger, function2call)

    myTrigger might be a logic statement, such as (myTrigger == 0) or (myTrigger <> oldTrigger) perhaps.

    Then any time myTrigger is tripped based on whatever logic is defined for the trigger, the associated function "function2call" is called.

    In Duet, you can even define the function directly in the logic of the define statement, like:

    DEFINE_LISTENER(myTrigger, function() {
    // some code
    })

    Being able to duplicate this in Netlinx would be very powerful.

    Of course, this is also why I am moving code into Duet so that I can take advantage of this sort of coding.

    Just my thoughts.

    Sheldon Samuels
  • Joe HebertJoe Hebert Posts: 2,159
    TPD4 Popup Feature Request ? Hide Self

    This is a request to add a ?Hide Self? option when assigning a page flip to a button on a popup instead of having to call the popup out by name.

    For example if I have a popup with a close button and then make several copies of that popup I need to change the popup name on each close button. If we had the ?Hide Self? option the close button could be left untouched.

    The ?Hide Self? is similar in concept to ?this? in Java.

    Thanks.
  • Spire_JeffSpire_Jeff Posts: 1,917
    Joe Hebert wrote: »
    This is a request to add a ?Hide Self? option when assigning a page flip to a button on a popup instead of having to call the popup out by name.

    For example if I have a popup with a close button and then make several copies of that popup I need to change the popup name on each close button. If we had the ?Hide Self? option the close button could be left untouched.

    The ?Hide Self? is similar in concept to ?this? in Java.

    Thanks.

    I would like to second this. Good idea Joe!

    Jeff

  • Also, since I end up having to add something to every IR file that I try to use from AMX or create something from scratch completely, it would be nice to be able to edit the functions once the code is entered. In other words, if I enter hex code for a discrete power function, I'd like to be able to see the actual hex for that function if I come back to it later on. As far as I know, you can't do that now.


    --John

    There's a small, free program called IRLite that allows you to drag .irl files over a box that displays (and allows you to edit/copy) the hex codes for all the functions contained in the .irl.
  • Joe HebertJoe Hebert Posts: 2,159
    There's a small, free program called IRLite that allows you to drag .irl files over a box that displays (and allows you to edit/copy) the hex codes for all the functions contained in the .irl.
    Great program (I have a shortcut to it in my quick launch bar) and it only takes about a millisecond to load, a tad quicker than IREdit - if one measures tads in minutes. Oops, my sarcasm is showing.
  • Joe Hebert wrote: »
    Great program (I have a shortcut to it in my quick launch bar) and it only takes about a millisecond to load, a tad quicker than IREdit - if one measures tads in minutes. Oops, my sarcasm is showing.

    zziiiing :)

    I forgot all about that program. Thanks Jeff. I don't think I've used that since back in the Axcent days. I'll have to download it again since the PC that had it is long gone.

    --John
  • rfletcherrfletcher Posts: 217
    Could you please, please, please make the NetLinx compiler deal correctly with longer file paths? Occasionally I, or worse one of our install techs (figuring out why it won't compile over the phone is always fun), get compile errors because the file path to one of the files is too long for the compiler.

    -Ryan
  • the8thstthe8thst Posts: 470
    Joe Hebert wrote: »
    Great program (I have a shortcut to it in my quick launch bar) and it only takes about a millisecond to load, a tad quicker than IREdit - if one measures tads in minutes. Oops, my sarcasm is showing.

    Do you have a link to download the program? I can't find it.
  • If this hasn't already been covered:

    I would love to see a function in TPD4 that shows a list of all links to a page.

    IE: Select a page and then choose Page>Show All References

    This feature would be useful when making changes to a panels navigation and also for finding pages that are no longer used.

    We have a client that has gone through 100s of changes and upgrades and I was trying to clean up the panels today by removing old stuff but I gave up. It would takes hours without that non-existent function.

    BTW, I was planning to verify all page flips, then delete pages 1 by 1 and rerun verify page flips to catch any mistakes but that idea won't work. I fixed all invalid page flips and ran the report again and now it points to items I've already fixed!

    I click the link in the report and someButton is selected, properties shows a page flip for someButton. I click a different button and then click someButton again and the properties shows 'none' for page flip.

    You can't say I didn't try :(
  • Spire_JeffSpire_Jeff Posts: 1,917
    It would be nice if the built-in functions (like find_string) had slightly more descriptive variable names. Honestly, CONSTANT CHAR A, CONSTANT CHAR B, CONSTANT LONG C don't help my much in the little popup tip. I still need to go to the help file when I second guess myself and don't remember if it is the string to be searched, or the findme chars :) I always seem to pick the wrong one when I am working late or tired.

    Jeff
  • mpullinmpullin Posts: 949
    Spire_Jeff wrote: »
    It would be nice if the built-in functions (like find_string) had slightly more descriptive variable names. Honestly, CONSTANT CHAR A, CONSTANT CHAR B, CONSTANT LONG C don't help my much in the little popup tip. I still need to go to the help file when I second guess myself and don't remember if it is the string to be searched, or the findme chars :) I always seem to pick the wrong one when I am working late or tired.

    Jeff
    YES. Why not call the parameters to FIND_STRING haystack, needle, and start as opposed to A, B, and C, for instance?
  • a_riot42a_riot42 Posts: 1,624
    mpullin wrote: »
    YES. Why not call the parameters to FIND_STRING haystack, needle, and start as opposed to A, B, and C, for instance?
    define_function findString (char haystack[], char needle[], integer start)
    {
      return find_string (haystack, needle, start)
    }
    

    Problem solved.
    Paul
  • viningvining Posts: 4,368
    I think they mean like this:
  • AMXJeffAMXJeff Posts: 450
    vining wrote: »
    I think they mean like this:

    Hmm... This code looks kind of familiar...
  • a_riot42a_riot42 Posts: 1,624
    vining wrote: »
    I think they mean like this:

    Well look at that, you've solved the problem in a different way by creating a mnemonic for find_string. If you look at the words haystack, needle and start and use them in alphabetical order, you will have the correct order of the arguments,
    Paul
  • jjamesjjames Posts: 2,908
    Because of this - I've been thinking about doing my practical with all variables and parameters as A,B,C,D,E,F, etc. As long as the code works, what should they care? ;)
  • viningvining Posts: 4,368
    AMX_Jeff wrote:
    Hmm... This code looks kind of familiar...
    It should, I had the Engadget (?) module you posted open at the time I decided to play with the FIND_STRING post. I was trying to figure out what it was/does. I don't want to hijack another thread but what does it do?

    a_riot42 wrote:
    If you look at the words haystack, needle and start and use them in alphabetical order, you will have the correct order of the arguments,
    That was supposed to be the point, I think?
  • Spire_JeffSpire_Jeff Posts: 1,917
    a_riot42 wrote: »
    define_function findString (char haystack[], char needle[], integer start)
    {
      return find_string (haystack, needle, start)
    }
    

    Problem solved.
    Paul

    That would be one way to fix it, but wouldn't it be easier for one person at AMX to just follow the generally accepted programming principals and use descriptive names for variables? Why make everyone that wants to use this create an include file full of renamed functions and then have to remember that they need to use a non-standard function name. This also means that they have to be sure to send this include file to everyone that needs to edit the code and now we are straying from a standard.

    Using that line of thought, I would debate that your solution is not really a solution because it introduces new potential problems that in my opinion are greater than the original problem.

    Jeff

    P.S.
    This is a wish list, not a must fix it immediately because life cannot continue list :)
  • the8thstthe8thst Posts: 470
    Spire_Jeff wrote: »
    That would be one way to fix it, but wouldn't it be easier for one person at AMX to just follow the generally accepted programming principals and use descriptive names for variables? Why make everyone that wants to use this create an include file full of renamed functions and then have to remember that they need to use a non-standard function name. This also means that they have to be sure to send this include file to everyone that needs to edit the code and now we are straying from a standard.

    Using that line of thought, I would debate that your solution is not really a solution because it introduces new potential problems that in my opinion are greater than the original problem.

    Jeff

    P.S.
    This is a wish list, not a must fix it immediately because life cannot continue list :)

    How's this?

    All of the library functions, default structures, etc. are defined in the Netlinx.axi include file so you can rename the parameters yourself.
    The file is located at C:\Program Files\Common Files\AMXShare\AXIs

    The only problem with doing it this way is that all of you changes will be erased if AMX updates the Netlinx.axi file.
  • jjamesjjames Posts: 2,908
    Exactly - that's what someone needs to do for all of those functions.
  • a_riot42a_riot42 Posts: 1,624
    the8thst wrote: »
    How's this?

    All of the library functions, default structures, etc. are defined in the Netlinx.axi include file so you can rename the parameters yourself.
    The file is located at C:\Program Files\Common Files\AMXShare\AXIs

    The only problem with doing it this way is that all of you changes will be erased if AMX updates the Netlinx.axi file.

    Nice thinking. I don't think many changes get made to that file very often. You can also change the function name to get rid of the underscore whose purpose I could never figure out.
    Paul
  • jjamesjjames Posts: 2,908
    a_riot42 wrote: »
    You can also change the function name to get rid of the underscore whose purpose I could never figure out.
    Onecouldarguethatmashingallthewordstogetherwithoutanyunderscorescouldlookalittlebusy.

    I_think_adding_underscores_make_it_a_little_more_readable.

    I think the answer is just style. ;)
  • Spire_JeffSpire_Jeff Posts: 1,917
    Yes, I could change the NetLinx.axi, but then I have to do it every time a new version is released ... which is only often enough for me to forget that I made changes until a few days after the upgrade which will inconveniently fall in the middle of some catastrophic failure at a job site and only serve to piss me off when I have to deal with the "old" way until I have time to make the changes again.... or AMX could make the changes once and we would not have to worry about it :)


    As for the discussion about _ .... OneCouldJustUseCapitalsToDefineTheWordsAsWell :)

    Jeff
Sign In or Register to comment.