I think I want to get rid of this entire thread. Would someone please delete it? I'll start another with less noise. I'm ready to leave experimental status behind, and honestly this entire thread was not meant to support in any way the library's users. I'd like to start fresh with the support thread.
Maybe I'll break this all down into smaller libraries. I know, I know, some of you already suggested this. :)
LibScriptablePlugins-1.0 -- All the plugins. These are what populate run environments with functions or other fields.
LibScriptableWidgets-1.0 -- Scripted widgets such as WidgetText for marquees, WidgetBar, WidgetHistogram, WidgetImage, etc..
LibScriptableLCD-1.0 -- This would be the whole package of plugins, widgets, and utilities, plus the LCD-specific LibCore rather than LibCoreLite
LibScriptableDisplayUtils-1.0 -- Things like LibTimer, LibEvaluator, etc.. Another source of good utilities is LibScriptablePluginUtils-1.0
Edit: Oh and I'd like to change to Wowace repo as well. So I see a big change in order.
Oh and it's for the better that I took 'Display' out of LibScriptable's name. It never occurred to me that the project's acronym was none other than LSD. And you know what happens when you cross LSD with a graphical display of swirly colors dancing to music. "Woah dude..."
So yeah, drugs=bad, seizurific_swirly_colors=good. That is my lesson for the day.
Anyone want to give me a hand? I've left it like this for a while, coming back to it every so often, but just can't figure it out. It has to do with LibScriptable's luadoc-generated documentation.
My .docmeta is:
type: luadoc
input-files: "**/*.lua"
output-directory: API
And my directory structure looks something like:
LibScriptableWidgets-1.0/LibScriptableWidgetBar-1.0/LibScriptableWidgetBar-1.0.lua
Am I not understanding the documenter's recursiveness?
I formed a comparison between AceTimer and LibScriptableUtilsTimer. Not only did AceTimer beat LS's name in minimal length, it also faired better than LibScriptable's timers. :) I'll be taking some of what I learned by digging into WowAce's curiously efficient timer design and improve LS -- and particularly StarTip. :) I'm glad I dug into this. I was working on an assumption that one of my FB friends recently made about less code equaling better results. Hogwash. lol Props the the WowAce team.
Starlon, not sure if your digging at code will be helped by this, but you could check out LibShefkiTimer-1.0 and see what the code difference is there.
I'm taking a break from Wow. That means LS is on hold till I find interest in the game again. I'll keep the account open to fix bugs and when I feel like coding something, if that happens. I just need to quit playing games for now. LS is still in experimental stage. Play with it if you want. I fail at documentation, so there's sparse. And then there's the autodocs issue I could never resolve. As far as examples go, There are plenty of them in StarTip, StarVisuals, and LCD4WoW. The marquees work sort of, but they barf on long strings. That may be something I'll fix in my spare time.
I created a more detailed description of WidgetText here if it helps in any way.
Edit: And I wouldn't argue if someone would suddenly rename this thread to LibScriptable-1.0. :D
I've come to the conclusion that none of this is extremely useful outside a small interested selection of WoW players. My goal was to share code as much as possible, or that's the vision I had for my users. I wanted them to share code as much as I wanted to share code. I should have taken my experience in college and come up with the same conclusion many of you had from the start -- people have trouble with programming concepts, even the simple ones that are required to configure a single fontstring in Cowtip, StarTIp, Tooltip_LuaTexts, Pitbull4, or any such "scriptable" addon. And don't try to explain the difference between Pitbull4's LuaTexts implementation and StarTip's to some users. It'll go in one ear and out the other in many cases. All the user wants are results. Many aren't looking to learn anything at all. They just want a tooltip line to hide when there's nothing interesting to show. Just simple things...But that's why I wrote StarTip, so you didn't have to write a whole new tooltip addon just so you can have that line hide when you want it to.
StarTip would not exist if it weren't for ckknight's work on CowTip. It would not be as clean as it is if it weren't for Shefki's LuaTexts. I'd probably still be coloring fontstrings directly if it weren't for Tooltip_LuaTexts. It would be a nightmare to package if it weren't for tools offered by Wowace and Curseforge. I took full advantage of many people in developing these addons. I accomplished very little in terms of engineering anything considerable. I can't claim ownership over any of this. I didn't come up with any of it. I simply borrowed from other sources and pieced it together how it would fit naturally, as if it were predestined to exist. These projects created themselves. I just supplied the keyboard and fingers.
Edit: I mean really. How do you figure that when I bought an LCD a few years back -- how did that become a WoW addon? Almost everything I did as a programmer after leaving college led directly to LCD simulations in WoW. I wrote LCD software based on LCD4LInux and played around with music visualizations some before returning to WoW with the goal of defeating ICC after it was released. I wrote the abortion known as AuraAlarm, then began work on StarTip. At the time I had no idea I was going to be using LCD4Linux's design. It started when I wanted to create marquees on tooltips, and the only example I knew of came from LCD4Linux's WidgetText, so I started borrowing code. Next thing you know it I've written some hard to name library, based on the LCD software I worked on, and it just worked out so seamlessly with the WoW UI and Lua in general. I don't want to explain it. I didn't come up with it at all. It came up with itself. I had no plan from the start. I just went with it. When I first started this thread I thought the library was close to being finished. Not by a long shot. It kept growing to include everything I learned after college. Like a jigsaw puzzle someone else created for me to solve.
I'd like to just make a record that LCD4WoW was sabotaged. There were tabs in .pkgmeta, which I would never have gotten through the commit hooks. Not many people have that sort of power over the repositories. Probably just hackers, which is exactly why I want to make a record. If anyone's fooling with my projects for malicious purposes, for purposes of causing culprit errors in Wow.exe, I want to make it clear that someone's been accessing my projects. I used to use a password, but recently I switched to ssh authentication, so maybe it's over.
If any of you were involved in this, then shame on you.
Nobody _should_ be using this library due to its experimental status, but if anyone happens to be (you're more than welcome to, but I can't make promises) using it then this note's for you.
I've changed LibScriptable's repository from Wowace hosting to Github.
LibScriptablePlugins-1.0 -- All the plugins. These are what populate run environments with functions or other fields.
LibScriptableWidgets-1.0 -- Scripted widgets such as WidgetText for marquees, WidgetBar, WidgetHistogram, WidgetImage, etc..
LibScriptableLCD-1.0 -- This would be the whole package of plugins, widgets, and utilities, plus the LCD-specific LibCore rather than LibCoreLite
LibScriptableDisplayUtils-1.0 -- Things like LibTimer, LibEvaluator, etc.. Another source of good utilities is LibScriptablePluginUtils-1.0
Edit: Oh and I'd like to change to Wowace repo as well. So I see a big change in order.
So yeah, drugs=bad, seizurific_swirly_colors=good. That is my lesson for the day.
My .docmeta is:
And my directory structure looks something like:
LibScriptableWidgets-1.0/LibScriptableWidgetBar-1.0/LibScriptableWidgetBar-1.0.lua
Am I not understanding the documenter's recursiveness?
I created a more detailed description of WidgetText here if it helps in any way.
Edit: And I wouldn't argue if someone would suddenly rename this thread to LibScriptable-1.0. :D
StarTip would not exist if it weren't for ckknight's work on CowTip. It would not be as clean as it is if it weren't for Shefki's LuaTexts. I'd probably still be coloring fontstrings directly if it weren't for Tooltip_LuaTexts. It would be a nightmare to package if it weren't for tools offered by Wowace and Curseforge. I took full advantage of many people in developing these addons. I accomplished very little in terms of engineering anything considerable. I can't claim ownership over any of this. I didn't come up with any of it. I simply borrowed from other sources and pieced it together how it would fit naturally, as if it were predestined to exist. These projects created themselves. I just supplied the keyboard and fingers.
Edit: I mean really. How do you figure that when I bought an LCD a few years back -- how did that become a WoW addon? Almost everything I did as a programmer after leaving college led directly to LCD simulations in WoW. I wrote LCD software based on LCD4LInux and played around with music visualizations some before returning to WoW with the goal of defeating ICC after it was released. I wrote the abortion known as AuraAlarm, then began work on StarTip. At the time I had no idea I was going to be using LCD4Linux's design. It started when I wanted to create marquees on tooltips, and the only example I knew of came from LCD4Linux's WidgetText, so I started borrowing code. Next thing you know it I've written some hard to name library, based on the LCD software I worked on, and it just worked out so seamlessly with the WoW UI and Lua in general. I don't want to explain it. I didn't come up with it at all. It came up with itself. I had no plan from the start. I just went with it. When I first started this thread I thought the library was close to being finished. Not by a long shot. It kept growing to include everything I learned after college. Like a jigsaw puzzle someone else created for me to solve.
If any of you were involved in this, then shame on you.
I've changed LibScriptable's repository from Wowace hosting to Github.
So instead of svn://svn.wowace.com/wow/libscriptable-1-0/mainline/trunk, which will vanish some day,
.. then I'd suggest using its new location at GitHub: git://github.com/Starlon/LibScriptable-1.0.git
.. especially since NO MORE changes will be made to the subversion repo here at Wowace.