OutlineText Object Plugin

Plugins y todo lo relacionado para Autoplay Media Studio.
Its never too late to finish something since this post of 2011! a lot of time has passed and interest have moved, but its always comfortable to get back the old rig and play around some holes you never filled.

Based on the library OutlineText by Shao Voon Wong that draws text with outlines and transformations, recovered some chunks of code from first version and made a (semi)complete Object Plugin from it.

Imagen

I was developing another object that will be published soon, working with ir sdk is quite limited on the DesignTime IDE, i mean, native objects looks good on settings panel, but objects not. Overcoming those probles is a bit tricky as i had to follow all the calls from ams to plugin to determine better way to replace the settings panel, in this case with external WinForms .net control that wont be shipped in release, so designer stuff is separated from runtime stuff, being much more convenient. Also looking much better

Imagen

This is highly experimental and could break, in fact it has some issues redrawing, but they are more refered to this particular plugin by its graphic pipeline so it can stay as it is, im more interested on the other plugin, but doing this served as good learning, and finished long time abandoned project.

Apart from limited api, ams object plugins are way limited by the way the data is stored and passed, so also had to overcome this using windows crypto lib to encode and decode data from base64 to unicode utf16-le and vice versa, so this plugin can use any weird language you speak (probably, dont expect 4byte unicodes like emojis to work)

So a bit more of work than ive expected on this, but result is kinda cool. From now, customization can be only made from designer and plugin dont have any lua methods, it could be added but i saw no point on doing this. Also some features could be added like bitmap masks for text using images, or better control of the font, rotations etc could be applied, so im (as always) putting full source code on a repository and inviting anyone to contribute: https://bitbucket.org/pabloko/outlinete ... rc/master/
DOWNLOAD:
HIDE: ON
Hidebb Message Hidden Description
tnks mate old great work :yes: :yes:
Graças
ya días tenias este proyecto lo recuerdo cuando estaba desarrollado yo el programa agocard, bueno a mirar un poco tu trabajo muchas gracias colega por compartirlo.
Obrigado
Pregunta de imbecil, estos 3 archivos se instalan en el directorio raiz de autoplay o se instala en la carpeta plugins como un plugin normal?
carsonzillo escribió:
25 Sep 2019 19:23
Pregunta de imbecil, estos 3 archivos se instalan en el directorio raiz de autoplay o se instala en la carpeta plugins como un plugin normal?
en la carpeta de plugins debes de copiarlo en la carpeta Plugins\Objects\OutlineText
Agotaras123 escribió:
25 Sep 2019 19:57
carsonzillo escribió:
25 Sep 2019 19:23
Pregunta de imbecil, estos 3 archivos se instalan en el directorio raiz de autoplay o se instala en la carpeta plugins como un plugin normal?
en la carpeta de plugins debes de copiarlo en la carpeta Plugins\Objects\OutlineText
Ah oky gracias por la info!
Edit: Lo pongo en la ruta que me dijiste y al entrar en ams creo nuevo proyecto y luego me voy a Object-Plugins y le doy al OutlineText...nada mas hacer click sobre este ultimo se me bloquea el ams y me obliga a cerrarlo.... :wat-1414024905:
Muy agradable este complemento de objetos
Gracias
Como dice agotaras es un object plugin normal, se instala como cualquier otro. La única diferencia es que hay una dll <OutlineTextGUI.dll> que no se copia en el runtime y que contiene el interfaz de usuario del cuadro de propiedades usado en el IDE de autoplay.

Como ya he puesto arriba, no hay funciones lua ni nada, aunque acepto PRs en el repositorio si alguien quiere ponerselas. :handshake:ç

Probablemente el dibujado deberia hacerlo de otra manera, controlando el evento WM_PAINT y creando un contexto para que si se hacen cambios en el runtime se vea fluido, tal cual esta se ve bien pero es un trucu :drunk:

Aparte de las opciones que hay, se pueden añadir unas cuantas cosas mas como mask con imagenes que quizas tambien sea algo muy util.

Imagen

Este ejemplo tiene 2 masks, Una mascara de recorte y una mascara de sobreexposicion:
Imagen
Pabloko escribió:
25 Sep 2019 22:39


Probablemente el dibujado deberia hacerlo de otra manera, controlando el evento WM_PAINT y creando un contexto para que si se hacen cambios en el runtime se vea fluido, tal cual esta se ve bien pero es un trucu :drunk:

You may need to place designs for objects in WM_INITDIALOG :drunk: this is my think and not sure :rofl:
abood1987 escribió:
25 Sep 2019 22:52
Pabloko escribió:
25 Sep 2019 22:39


Probablemente el dibujado deberia hacerlo de otra manera, controlando el evento WM_PAINT y creando un contexto para que si se hacen cambios en el runtime se vea fluido, tal cual esta se ve bien pero es un trucu :drunk:

You may need to place designs for objects in WM_INITDIALOG :drunk: this is my think and not sure :rofl:
Well rendering is quite fine this way, im guessing it wont update well, but didnt test it yet.

Anyways, you can completly review the code here: https://bitbucket.org/pabloko/outlinete ... tlineText/

I opened the anonymous issue tracker so anyone can fill them and also i accept pull requests with enhancements.
It is useless, there is an error.
At least in my ams did not work. :cabreado:
thnk uuuu so much
dripro escribió:
26 Sep 2019 12:30
It is useless, there is an error.
At least in my ams did not work. :cabreado:
your reply is useless tbh, if theres some error at least show it.
Pabloko escribió:
26 Sep 2019 22:31
dripro escribió:
26 Sep 2019 12:30
It is useless, there is an error.
At least in my ams did not work. :cabreado:
your reply is useless tbh, if theres some error at least show it.


Ok so see the error.
dripro escribió:
26 Sep 2019 23:00
Pabloko escribió:
26 Sep 2019 22:31
dripro escribió:
26 Sep 2019 12:30
It is useless, there is an error.
At least in my ams did not work. :cabreado:
your reply is useless tbh, if theres some error at least show it.


Ok so see the error.
Hmm this seems related to the ui interception part or memory allocation issue, can you replace the plugin with this version, open dbgview.exe, reproduce the crash and paste here the debgview messages or a screenshot? also will be useful if you attach the exception info you can find on Windows Event Viewer
Imagen

HIDE: ON
Hidebb Message Hidden Description
Problem solved thanks for the plugin. :yes:
dripro escribió:
26 Sep 2019 23:36
Problem solved thanks for the plugin. :yes:
well, not solved at all xd!

This .apo is just the same code with a switch to output a trace of plugin events on dbgview.exe, this logging can introduce a bit of lagging

Imagen

I was expecting this to crash too. Its very strange its not because its the same logic...

This probably seems to be i need to allocate 1 byte for null termination on some strings, this is the only plugin i know that supports unicode, but it has a cost at needing to encode raw bytes in base64 and convert back to unicode.

ps: i misclicked the edit button by quote button teheee
Pabloko escribió:
26 Sep 2019 23:47
dripro escribió:
26 Sep 2019 23:36
Problem solved thanks for the plugin. :yes:
well, not solved at all xd!

This .apo is just the same code with a switch to output a trace of plugin events on dbgview.exe, this logging can introduce a bit of lagging

Imagen

I was expecting this to crash too. Its very strange its not because its the same logic...

This probably seems to be i need to allocate 1 byte for null termination on some strings, this is the only plugin i know that supports unicode, but it has a cost at needing to encode raw bytes in base64 and convert back to unicode.

ps: i misclicked the edit button by quote button teheee


It is strange not only in my ams as luasqlite has this same error, all right I know the work that will give you is an excellent plugin for congratulations.